Algolia标签与Facets用例

时间:2016-06-03 13:47:31

标签: algolia

Algolia的新手,并且在解读标签与facets的差异(建议使用)时遇到一些麻烦 - 它们似乎在功能上是等效的。

Algolia文档给出了一个带有用户ID的标签示例 - 例如“user_1234”,然后可用于过滤。

然而,这似乎在功能上等同于在JSON中使用它:

“user”:“1234”

然后将“user”声明为分面字段。

有什么区别/目的?为什么同时有标签和方面?

1 个答案:

答案 0 :(得分:3)

你们两个都可以给你相同的过滤功能 主要区别来自于在索引时计算的方面计数,这需要时间。

这就是为什么您现在可以添加attributesForFaceting设置onlyFilter修饰符的属性,如下所示:

{
  attributesForFaceting: [
    'onlyFilter(user)'
  ]
}

这将告诉引擎user属性应该被视为标记或标记列表(此语法当前未记录,但很快就会出现)。

可以将相同的逻辑应用于数字属性。默认情况下,Algolia引擎会为所有编入索引的数字创建数据结构,以便快速回答nb_views>10000等查询。 这也是计算量很大的原因,这就是为什么你可以在numericAttributesToIndex中添加equalOnly修饰符。