Algolia的新手,并且在解读标签与facets的差异(建议使用)时遇到一些麻烦 - 它们似乎在功能上是等效的。
Algolia文档给出了一个带有用户ID的标签示例 - 例如“user_1234”,然后可用于过滤。
然而,这似乎在功能上等同于在JSON中使用它:
“user”:“1234”
然后将“user”声明为分面字段。
有什么区别/目的?为什么同时有标签和方面?
答案 0 :(得分:3)
你们两个都可以给你相同的过滤功能 主要区别来自于在索引时计算的方面计数,这需要时间。
这就是为什么您现在可以添加attributesForFaceting
设置onlyFilter
修饰符的属性,如下所示:
{
attributesForFaceting: [
'onlyFilter(user)'
]
}
这将告诉引擎user
属性应该被视为标记或标记列表(此语法当前未记录,但很快就会出现)。
可以将相同的逻辑应用于数字属性。默认情况下,Algolia引擎会为所有编入索引的数字创建数据结构,以便快速回答nb_views>10000
等查询。
这也是计算量很大的原因,这就是为什么你可以在numericAttributesToIndex中添加equalOnly
修饰符。