问题标签 [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.
php - 如何使用 Algolia Instantsearch 获得随机结果
我正在使用 Algolia 的 Instantsearch 并希望使用 facetfilter 获得空查询的随机结果。我用下面的例子得到了洗牌结果,但它是相同的前 9 个结果并且洗牌它的位置。我如何获得任何随机结果(不仅仅是前 9 个)?
reactjs - Algolia 即时搜索反应 api 密钥和 api id
我正在尝试在我的反应应用程序中使用 Algolia 反应即时搜索,并且文档说我需要一个 API 密钥和应用程序 ID,我怎样才能从我的后端获取这些属性。
javascript - Algolia:更改 currentRefinements 项目的标签
我正在使用toggleRefinement
小部件来检查商品是否在打折。我的索引中有一个名为on_sale
. 它具有true
或false
价值。
结果,我的currentRefinements
小部件显示true
或false
代替了更好的文本,例如“仅销售”。
有没有办法改变输出?
与其他小部件不同,此小部件没有template
属性。查看文档
这是我当前的代码:
这是我当前的输出:
angular - 禁用 algolia ais-refinement list search for facets 中的拼写错误
我正在使用 algolia angular instantsearch 和 TypesenseInstantSearchAdapter。我创建了自定义 ais-refinement 列表组件,现在卡住了,因为当我在构面列表中搜索时,我得到的结果有错别字。1 我尝试将 numTypos: 0 添加到 serverSetting,它看起来像这样:
我还尝试添加到配置设置typoTolerance 或exactOnSingleWordQuery,它没有帮助
我没有,也许我应该在创建细化列表时添加一些东西来连接参数?
}
jquery - Algolia 自动完成状态已更新,但在外部更改状态时 ui 未更新
我正在使用带有即时搜索的 algolia 自动完成功能,所以当我输入并点击输入时,我有一个外部输入框,我运行此功能来更新状态。
这会更新状态,结果,过滤器也在更新,但输入框和查询建议 ui 没有更新。如何刷新 algolia 自动完成的 ui?
reactjs - 每次自定义组件状态更改时 React InstantSearch 都会重置
单击结果并更新状态时,React InstantSearch 不会持续存在。我正在使用连接到 Algolia 的 React InstantSearch 的自定义点击结果。
所有组件都是在页面上的 InstantSearch 组件之外自定义定义的。每当自定义命中组件调用函数时,搜索状态都会重置并清除结果。我希望结果保持不变,以便可以详细查看和保存它们。
security - 涉及用户 ID 时的 Algolia 后端搜索或前端搜索
我将我的记录存储在 Algolia 索引中userID
,每个索引都有一个关联的属性。我想执行搜索,以便过滤用户可见的记录,以使userID
s 匹配。我可以在前端使用instantsearch
库和userID
存储在 localStorage 中轻松地做到这一点。
在前端传递 userID 的问题
任何使用客户端的人都可以使用不同的 s 来操作 Algolia 请求,userID
这将过滤与这些 ID 相关的结果。这里有一个安全问题。但是正如 Algolia 在这里提到的,前端搜索速度可以提高 10 倍。
使用后端搜索的解决方案
可以实现这一点,将正常的 HTTP 请求发送到后端,其中包含相关的搜索参数和过滤器,并userID
在后端添加。之后在后端进行搜索并使用 HTTP 响应将数据发送回前端。速度较慢,因为它已经通过多个服务器只是为了添加userID
.
问题
我想知道是否还有一种使用前端搜索和保持安全性的解决方法,因为速度也很重要。我是使用 Algolia 的新手,但仍然不完全了解它的功能。
谢谢。
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 的内部工作。
我正在寻找有关执行此操作的更标准方式的反馈,或任何建议!
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