javascript - 如何创建在过滤时使用前缀的分面过滤器

标签 javascript algolia

我有一个字符串数据类型的属性。我正在使用 algoliasearchHelper 对象来搜索我的 Algolia 数据库。我想要做的是创建一个 facet 过滤器,它采用指定的前缀并返回在指定属性内具有具有指定前缀的值的所有对象。

例如,到目前为止我使用的是:

Helper.addDisjunctiveFacetRefinement("attributeName","Can");

这会返回所有在“attributeName”属性中具有“Can”值的对象,但不会返回任何在“attributeName”属性中具有“Canada”或“Canadians”值的对象,即使尽管它们的前缀是“Can”。

我怎样才能让它在过滤时使用指定的前缀进行过滤。

最佳答案

析取分面细化用于过滤器的精确匹配。这主要用于从可能的过滤器列表中选择某个过滤器。我假设您想要的是获取所有可能过滤器的子集。

这可以通过我们的 searchForFacetValues 实现功能。首先,这需要在您的索引设置中设置为 searchable(attributeName),这样我们就可以生成额外的数据结构,使分面易于搜索。您也可以read more关于文档中的设置。

因此,一旦属性可搜索,您就可以使用辅助函数来优化过滤器列表,如下所示:

Helper.searchForFacetValues("attributeName","Can");

祝你有美好的一天!

关于javascript - 如何创建在过滤时使用前缀的分面过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44957050/

相关文章:

javascript - 根据数组将数组转换为具有嵌套属性的对象

javascript - r pkgdown docsearch algolia

javascript - 在 Algolia 索引中搜索二级数据集

magento2 - Algolia 自动完成图像和 URL 不正确 - Magento2

c# - 从 GridView TemplateField 调用 Javascript

javascript - Jquery 延迟等等

javascript - Bootstrap 折叠表行

javascript - 当尝试迭代我的 json 时,我变得不确定

javascript - CSS - 制作 algolia 下拉菜单,结果显示在 Bootstrap 导航栏的下拉菜单上

ios - 如果您有 2 个不同的搜索栏用于 2 个不同的索引,如何配置 Algolia InstantSearch 类?