4

所以我一直在使用 AlgoliaSearch(Python 和 JS)。我目前设置了多个索引(比如说“狗”、“猫”、“鸟”)。就目前而言,当我在输入字段中键入查询时,似乎 rsults 中的每个索引部分都将排名值应用于每个索引出现的查询结果(例如,“dogs”有 3 个高排名结果, "cats" 有 2 个高排名结果,"birds" 有 4 个高排名结果。Algolia 似乎没有将每个结果的排名与索引进行比较。因此,例如,在 "dogs" 中,排名是基于它们如何与“狗”索引中的其他结果进行比较,但不与“猫”和“鸟”结果进行比较。

有没有办法在设置中做到这一点?我一直试图弄清楚这一点,但我无法找到明确的答案。

4

1 回答 1

6

将不同类型的数据放在不同的索引中非常有用,因为它使用户能够检索每个索引的最相关和最流行的结果。索引“dogs”可以有自己的排名策略,返回按照“lastUpdate date”排序的dogs。也许索引“猫”可以将记录按“每只猫拥有的追随者数量”排序。而“鸟”则使用第三排名策略。拥有这种行为实际上使您能够构建类似于 Algolia 的“多类别自动完成”教程中描述的用户体验

话虽如此,我想说,如果您用来描述每条记录(用于 customRanking 的记录)受欢迎程度的值对于每种类型的数据都不同,那么在不同索引中存储数据可能是最好的方法。但是,如果您想在所有索引中使用同质的东西,并将“狗”、“猫”和“鸟”结果合并在一起(并相互比较),那么您可能应该将所有狗/猫/鸟记录在相同且唯一的“动物”索引中。

于 2015-09-16T18:50:32.380 回答