Algolia vue-instantsearch:两个不同方面之间的分离
Algolia vue-instantsearch : disjunction between two distincts facets
使用algolia vue-instantsearch,我遇到了一个特殊情况,我很难找到解决方案。
优化行为是您获得与所有优化过滤器相匹配的结果。
如果我过滤品牌和价格,我会得到与品牌和价格都匹配的结果。
我需要添加一些工作方式不同的特定过滤器。我希望能够说“returns 匹配 refinementA、refinementB 或 refinementC 的结果。”
原因是这些改进正在检查并非所有产品上都存在的字段。
如果我检查 refinementA 的值,我想保留所有与 refinementA 对应的字段没有值的结果,但删除那些具有 refinementA 值但与我过滤的结果不匹配的结果。
我正在考虑自己处理一些输入而不是 ias-components,并通过在触发 searchFunction 时检查我自己的输入值来手动修改发送到 algolia 的每个查询 (https://www.algolia.com/doc/api-reference/widgets/instantsearch/js/#widget-param-searchfunction)。
我还没有找到如何从非 vue-instantsearch 输入事件触发搜索,我不确定上述解决方案如何影响 vue-instantsearch 的内部工作。
我正在寻找有关执行此操作的更标准方法的反馈,或任何建议!
我通过与 vue-instantsearch 维护者交流得到了答案。
vue-instantsearch 没有提供任何选项。
解决方法是覆盖 algoliasearch 搜索方法,vue-instant-search 在幕后使用该方法。
const client = algoliasearch('', '');
const originalSearch = client.search;
client.search = function search(queries) { ... }
本 github 期的更多信息:https://github.com/algolia/vue-instantsearch/issues/1102
使用algolia vue-instantsearch,我遇到了一个特殊情况,我很难找到解决方案。
优化行为是您获得与所有优化过滤器相匹配的结果。
如果我过滤品牌和价格,我会得到与品牌和价格都匹配的结果。
我需要添加一些工作方式不同的特定过滤器。我希望能够说“returns 匹配 refinementA、refinementB 或 refinementC 的结果。”
原因是这些改进正在检查并非所有产品上都存在的字段。
如果我检查 refinementA 的值,我想保留所有与 refinementA 对应的字段没有值的结果,但删除那些具有 refinementA 值但与我过滤的结果不匹配的结果。
我正在考虑自己处理一些输入而不是 ias-components,并通过在触发 searchFunction 时检查我自己的输入值来手动修改发送到 algolia 的每个查询 (https://www.algolia.com/doc/api-reference/widgets/instantsearch/js/#widget-param-searchfunction)。
我还没有找到如何从非 vue-instantsearch 输入事件触发搜索,我不确定上述解决方案如何影响 vue-instantsearch 的内部工作。
我正在寻找有关执行此操作的更标准方法的反馈,或任何建议!
我通过与 vue-instantsearch 维护者交流得到了答案。
vue-instantsearch 没有提供任何选项。
解决方法是覆盖 algoliasearch 搜索方法,vue-instant-search 在幕后使用该方法。
const client = algoliasearch('', '');
const originalSearch = client.search;
client.search = function search(queries) { ... }
本 github 期的更多信息:https://github.com/algolia/vue-instantsearch/issues/1102