我有一个字符串数据类型的属性。我正在使用algoliasearchHelper对象搜索我的Algolia数据库。我想要做的是创建一个facet过滤器,它接受一个指定的前缀,并返回在指定属性中具有指定前缀值的所有对象。
例如,到目前为止我使用的是:
Helper.addDisjunctiveFacetRefinement("attributeName","Can");
这将返回值为" Can"的所有对象。在" attributeName"属性,但它不会返回任何值为"加拿大"的对象。或者"加拿大人"在" attributeName"属性,即使那些具有" Can"的前缀。
如何制作它,以便在过滤时,使用指定的前缀进行过滤。
答案 0 :(得分:5)
分离小平面细化用于过滤器的精确匹配。这主要用于从可能的过滤器列表中选择某个过滤器。我想你想要的是获得所有可能过滤器的子集。
我们的searchForFacetValues
功能可以实现这一点。首先,需要在索引设置中将其设置为searchable(attributeName)
,以便我们可以生成其他数据结构,以便可以轻松搜索构面。您还可以在文档中read more了解该设置。
因此,一旦属性可搜索,您就可以使用辅助函数来优化过滤器列表,如下所示:
Helper.searchForFacetValues("attributeName","Can");
祝你有美好的一天!