问题标签 [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 投票
0 回答
55 浏览

php - 如何使用 Algolia Instantsearch 获得随机结果

我正在使用 Algolia 的 Instantsearch 并希望使用 facetfilter 获得空查询的随机结果。我用下面的例子得到了洗牌结果,但它是相同的前 9 个结果并且洗牌它的位置。我如何获得任何随机结果(不仅仅是前 9 个)?

0 投票
1 回答
69 浏览

reactjs - Algolia 即时搜索反应 api 密钥和 api id

我正在尝试在我的反应应用程序中使用 Algolia 反应即时搜索,并且文档说我需要一个 API 密钥和应用程序 ID,我怎样才能从我的后端获取这些属性。

0 投票
1 回答
64 浏览

javascript - Algolia:更改 currentRefinements 项目的标签

我正在使用toggleRefinement小部件来检查商品是否在打折。我的索引中有一个名为on_sale. 它具有truefalse价值。

结果,我的currentRefinements小部件显示truefalse代替了更好的文本,例如“仅销售”。

有没有办法改变输出?

与其他小部件不同,此小部件没有template属性。查看文档

这是我当前的代码:

这是我当前的输出:

0 投票
1 回答
47 浏览

angular - 禁用 algolia ais-refinement list search for facets 中的拼写错误

我正在使用 algolia angular instantsearch 和 TypesenseInstantSearchAdapter。我创建了自定义 ais-refinement 列表组件,现在卡住了,因为当我在构面列表中搜索时,我得到的结果有错别字。1 我尝试将 numTypos: 0 添加到 serverSetting,它看起来像这样:

我还尝试添加到配置设置typoTolerance 或exactOnSingleWordQuery,它没有帮助

我没有,也许我应该在创建细化列表时添加一些东西来连接参数?

}

0 投票
0 回答
51 浏览

jquery - Algolia 自动完成状态已更新,但在外部更改状态时 ui 未更新

我正在使用带有即时搜索的 algolia 自动完成功能,所以当我输入并点击输入时,我有一个外部输入框,我运行此功能来更新状态。

这会更新状态,结果,过滤器也在更新,但输入框和查询建议 ui 没有更新。如何刷新 algolia 自动完成的 ui?

0 投票
0 回答
29 浏览

reactjs - 每次自定义组件状态更改时 React InstantSearch 都会重置

单击结果并更新状态时,React InstantSearch 不会持续存在。我正在使用连接到 Algolia 的 React InstantSearch 的自定义点击结果。

所有组件都是在页面上的 InstantSearch 组件之外自定义定义的。每当自定义命中组件调用函数时,搜索状态都会重置并清除结果。我希望结果保持不变,以便可以详细查看和保存它们。

0 投票
1 回答
3297 浏览

security - 涉及用户 ID 时的 Algolia 后端搜索或前端搜索

我将我的记录存储在 Algolia 索引中userID,每个索引都有一个关联的属性。我想执行搜索,以便过滤用户可见的记录,以使userIDs 匹配。我可以在前端使用instantsearch库和userID存储在 localStorage 中轻松地做到这一点。

在前端传递 userID 的问题
任何使用客户端的人都可以使用不同的 s 来操作 Algolia 请求,userID这将过滤与这些 ID 相关的结果。这里有一个安全问题。但是正如 Algolia 在这里提到的,前端搜索速度可以提高 10 倍。

使用后端搜索的解决方案
可以实现这一点,将正常的 HTTP 请求发送到后端,其中包含相关的搜索参数和过滤器,并userID在后端添加。之后在后端进行搜索并使用 HTTP 响应将数据发送回前端。速度较慢,因为它已经通过多个服务器只是为了添加userID.

问题
我想知道是否还有一种使用前端搜索和保持安全性的解决方法,因为速度也很重要。我是使用 Algolia 的新手,但仍然不完全了解它的功能。

谢谢。

0 投票
1 回答
24 浏览

vue.js - Algolia vue-instantsearch:两个不同方面之间的析取

使用 algolia vue-instantsearch,我遇到了一个特殊情况,我很难找到解决方案。

细化行为是您获得与所有细化过滤器匹配的结果。

如果我过滤品牌和价格,我会得到与品牌和价格相匹配的结果。

我需要添加一些工作方式不同的特定过滤器。我想说“返回给我匹配细化 A、细化 B 或细化 C 的结果。”</p>

原因是这些改进正在检查并非所有产品上都存在的字段。

如果我检查细化 A 的值,我想保留与细化 A 对应的字段没有值的所有结果,但删除那些细化 A 的值与我过滤的结果不匹配的结果。

我正在考虑自己处理一些输入而不是 ias-components,并通过在触发 searchFunction 时检查我自己的输入值来手动修改发送到 algolia 的每个查询(https://www.algolia.com/doc/api -reference/widgets/instantsearch/js/#widget-param-searchfunction)。

我还没有找到如何从非 vue-instantsearch 输入事件触发搜索,我不确定上述解决方案如何影响 vue-instantsearch 的内部工作。

我正在寻找有关执行此操作的更标准方式的反馈,或任何建议!

0 投票
1 回答
20 浏览

algolia - 如何一起使用到 Algolia 连接器?

我正在做一个项目,我应该在搜索框中实现自动完成功能。我正在使用 React-InstantSearch 并且我的SearchBox组件是使用 Algolia connector 构建的connectSearchBox。现在我想在同一个搜索框中使用connectAutoComplete. 我很困惑这两个连接器应该如何结合在一起?如果你们能在这方面帮助我,我将不胜感激。谢谢!

链接到自动完成连接器:https ://www.algolia.com/doc/api-reference/widgets/autocomplete/react/?client=jsx

以下是相关代码:

搜索框.jsx

这就是我打算添加到 SearchBox 组件中的内容:

在我的情况下,<input>标签将被替换为<SearchField.Input>inSearchBox.jsx

0 投票
0 回答
7 浏览

angular - 警告:入口点 'angular-instantsearch' 包含对 '/node_modules/instantsearch.js/es/connectors 的深度导入

在我的 Angular 应用程序 13.0.3 中安装这两个包后。我收到以下警告。

相关内容已在此处打开

构建和编译成功,但我们怎样才能摆脱这个消息?