Algolia 排名和排序未按预期应用
Algolia Ranking and Sorting not applying as expected
我们有几十个索引,每个索引大约有 2500 条记录。现在排名和排序是我们无法理解的事情。对于大多数情况,它按预期工作,但有一些记录对我们来说没有意义。
搜索词:i 16
(16 之前的space)
结果是:
- Abox-i 160-16
- Abox-i 160-16²/sw
- Abox-i 160-L
- Abox-i 160-L/sw
- Abox-i SL-16²
- 我 16-2,5²
- 我 16-L
最相关的结果是最后的结果。虽然我知道前两个是因为两个 16
而在上面,但我不明白为什么中间剩下的比实际的、最相关的要高。
我们不能将 ASC 更改为 DESC,因为那样会弄乱其余的搜索,这很好。
此外,我们不确定这意味着什么,因为我们在填充新数据之前清除了索引。
下面是一些设置的截图:
谁能为我们解开这个谜团?
由于设置的 Sort-By
设置,您的排名公式是 按 name
升序(按字母顺序)对所有结果进行排序。
这在Algolia's documentation for sorting records by attribute中有解释:
The goal of attribute-based sorting is to ensure all records which match the query appear in the order determined by the sort-by attribute.
这意味着当查询returns N个结果时,Algolia引擎会return这N个结果按名称排序。这解释了为什么所有名为 A****
的记录的排名都高于名为 i****
.
的记录
如果您希望您的 Algolia 结果按相关性排序,您应该删除任何 Sort-By
属性。
我们有几十个索引,每个索引大约有 2500 条记录。现在排名和排序是我们无法理解的事情。对于大多数情况,它按预期工作,但有一些记录对我们来说没有意义。
搜索词:i 16
(16 之前的space)
结果是:
- Abox-i 160-16
- Abox-i 160-16²/sw
- Abox-i 160-L
- Abox-i 160-L/sw
- Abox-i SL-16²
- 我 16-2,5²
- 我 16-L
最相关的结果是最后的结果。虽然我知道前两个是因为两个 16
而在上面,但我不明白为什么中间剩下的比实际的、最相关的要高。
我们不能将 ASC 更改为 DESC,因为那样会弄乱其余的搜索,这很好。
此外,我们不确定这意味着什么,因为我们在填充新数据之前清除了索引。
下面是一些设置的截图:
谁能为我们解开这个谜团?
由于设置的 Sort-By
设置,您的排名公式是 按 name
升序(按字母顺序)对所有结果进行排序。
这在Algolia's documentation for sorting records by attribute中有解释:
The goal of attribute-based sorting is to ensure all records which match the query appear in the order determined by the sort-by attribute.
这意味着当查询returns N个结果时,Algolia引擎会return这N个结果按名称排序。这解释了为什么所有名为 A****
的记录的排名都高于名为 i****
.
如果您希望您的 Algolia 结果按相关性排序,您应该删除任何 Sort-By
属性。