如何创建在过滤时使用前缀的构面过滤器

时间:2017-07-06 19:07:40

标签: javascript algolia

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

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

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

这将返回值为" Can"的所有对象。在" attributeName"属性,但它不会返回任何值为"加拿大"的对象。或者"加拿大人"在" attributeName"属性,即使那些具有" Can"的前缀。

如何制作它,以便在过滤时,使用指定的前缀进行过滤。

1 个答案:

答案 0 :(得分:5)

分离小平面细化用于过滤器的精确匹配。这主要用于从可能的过滤器列表中选择某个过滤器。我想你想要的是获得所有可能过滤器的子集。

我们的searchForFacetValues功能可以实现这一点。首先,需要在索引设置中将其设置为searchable(attributeName),以便我们可以生成其他数据结构,以便可以轻松搜索构面。您还可以在文档中read more了解该设置。

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

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

祝你有美好的一天!