问题标签 [instantsearch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
84 浏览

reactjs - componentDidMount 应该从 connectStateResults 运行吗?

我正在尝试使用 algolia在 react 中的 Instantsearch 创建一个无限的siema轮播,但我认为连接器的行为不像 React 组件。我应该期望在此处调用 componentDidMount 吗?建议?想法?

0 投票
1 回答
499 浏览

algolia - Algolia Instantsearch:自定义排序细化列表

在我们的项目中,我们有几个改进列表,它们运行正常。但是它们是默认排序,计算字母数字,正在应用。在我们的情况下,我的每个优化列表项都有一个“等级”属性,但我无法访问它,因为 API 正在控制返回的内容。

根据文档,似乎只有三种排序选择。

有办法解决吗?

例如,此代码产生以下结果。

在此处输入图像描述

我希望列表项按小数值升序排序。换句话说:3/16"、1/4"、5/16"、...、4.5mm、6.0mm 等...每个值都具有我之前提到的“等级”属性。

那可能吗?

0 投票
1 回答
602 浏览

algolia - 在 Docusaurus 页面中为 Instantsearch.js 部分使用 Algolia Docsearch 索引

我有一个使用 Docusaurus.io 构建的文档站点,并且正在使用 Docsearch 作为我在导航栏中的搜索 - 这工作正常。但是,我也想在网站的登录页面上实现 Algolia 即时搜索。该代码在使用 Instantsearch 设置的旧索引上运行良好,但是当我将新 Docsearch 索引的 API 密钥和 ID 插入到 Instantsearch 配置函数中时,我得到了一个我无法理解的 JSON 对象流.

这是我正在尝试使用的模板(它适用于 Jekyll 网站上的旧索引):

这导致空白<div>

当没有应用模板时,我的结果以嵌套 JSON 对象的形式返回。

我试图实现的是一个额外的即时搜索,它只出现在文档网站的主页上。据我了解,我在 Docsearch 中不能有两个输入选择器,这就是我一直尝试使用 Instantsearch 的原因。我需要一个适用于 Docsearch API 返回数据的方式的模板。

0 投票
0 回答
40 浏览

android - Algolia 错误导入依赖 - 教程

我无法为 android 导入 algolia Instantsearch:

我有错误 Gradle 项目同步失败。

这是教程:https ://community.algolia.com/instantsearch-android/getting-started.html

0 投票
1 回答
217 浏览

angular - Angular Instant Search - 基于 URL 参数更新 HTML 配置

我目前正在使用 Angular 和 Angular Instant Search。

1 - 根据 URL 参数更改动态更新 HTML 配置

  • 我有一个分屏应用程序。左边的文件夹。右边的项目。
  • 单击文件夹时,URL中的文件夹ID被修改
  • 我的项目组件订阅了这些更改并更新了我的文件夹 ID 的本地变量
  • 我在 Angular Instant Search 配置中使用此文件夹 ID。

读取 url 中文件夹 id 的变化

更新我的 Angular 即时搜索配置

HTML

在初始加载时,这很好用。但是,当单击文件夹并更新 ID 时,正确的 ID 会传递到“setSearchConfig”函数中。但是除非我刷新页面,否则 HTML 不会更新。

问题 如何使 HTML 动态更新?

0 投票
1 回答
620 浏览

angular - Angular 即时搜索自定义小部件 - 类型“对象”上不存在属性“优化”

我在我的 Angular 应用程序中创建了一个自定义搜索框小部件,这在开发模式下运行良好。在我构建项目(ng build --prod)的那一刻,我收到以下错误:

“对象”类型上不存在属性“精炼”。

CustomWidget.ts

CustomWidget..html

注意- 在 connectSearchBox 导入中,from 后面有 3 个小点。悬停时,出现以下消息:

[ts] 找不到模块“instantsearch.js/es/connectors”的声明文件。'/node_modules/instantsearch.js/es/connectors/index.js' 隐含了一个 'any' 类型。

在节点模块中查看 InstantSearch.js/es/connectors,然后是每个组件类型的更多文件夹,例如“搜索框”

BaseWidget.d.ts

0 投票
1 回答
129 浏览

algolia - How to concatenate results on algolia

I would like to be able to concatenate data. Here is an example :

[ { "type": "pen", "color": "blue", }, { "type": "glass", "color": "red", }, { "type": "pen", "color": "green", }, { "type": "glass", "color": "violet", }, { "type": "pen", "color": "yellow", }, { "type": "glass", "color": "orange", } ]

Then, if I search for pen, I will get 3 results, one result for each colors. I would like only one result.

I tried to use a distinct but the algolia distinct is more like a filter, and not a concat. If I do a distinct on the attribute pen, i will get one result that might look like :

{ "type": "pen", "color": "blue", },

What I would like to obtain is :

{ "type": "pen", "color_list": ["blue", "green", "yellow"] },

I cannot find anything like that in the algolia/instant-search doc, so I wonder how to do it. Is there a real tool that can do this, or at least a hacky solution that could do the trick ?

Thanks

0 投票
1 回答
302 浏览

javascript - Angular 即时搜索仅在按下回车键或按下搜索图标时显示命中

我只希望在用户按下回车键或点击输入上的搜索图标时显示从 Algolia 返回的命中。我已经得到它,因此只有特定的命中显示在输入使用searchAsyouType = false

但是问题是,当没有输入任何内容时,默认情况下会显示所有命中,如下所示: 在此处输入图像描述

这是我的代码:

以前有人遇到过这个问题吗?在按下输入/搜索图标之前,如何隐藏所有点击?

0 投票
3 回答
268 浏览

android - 为什么在 android studio 中没有解决 Algolia Client?

我不知道为什么 android studio 无法从 import 语句中解析 Client 和 Query:

它显示无法解析两个导入语句上的客户端和查询。

这存在于我的应用程序 Gradle 文件中:

我尝试多次使缓存无效并重新启动,甚至尝试在上面的 Gradle 文件中更改 Algolia 依赖项的版本,但没有任何效果。

我无法理解为什么会发生这种情况,如果有人可以帮助我,我将不胜感激。

0 投票
0 回答
98 浏览

algolia - 在 Algolia 中实现路由后搜索 ObjectID

我有一个功能,正在构建一个像这样的 url:

它创建了一个 facetFilters: [["objectID:97","objectID:96"]]"}。我有一个 clear All 功能也可以清除所有过滤器:

这工作得很好,也清除了上面的过滤器。但是问题是在开始路由时出现的。通过路由,

变成 :

已对上述内容进行了以下更改:

},

必须为 objectID 实现相同的功能。怎么做?