所以我一直在使用AlgoliaSearch(Python和JS)。我目前设置了多个指数(让我们说"狗","猫","鸟")。就目前而言,当我在输入字段中输入查询时,似乎rsults中的每个索引部分都会对每个索引出现的查询结果应用排名值(例如,"狗"有3个高排名结果,"猫"有2个高排名结果,"鸟类"有4个高排名结果。看起来Algolia似乎没有比较每个的排名例如,在"狗"中,排名是基于它们与狗的指数内部的其他结果的比较,但是没有与"猫"和#34;鸟"结果。
有没有办法在设置中执行此操作?我一直试图解决这个问题,但我无法找到明确的答案。
答案 0 :(得分:6)
将不同类型的数据放在不同的索引中非常有用,因为它使用户能够检索每个索引的最相关和最受欢迎的结果。索引“狗”可以有自己的ranking strategy和返回狗按“lastUpdate date”排序。也许索引“cat”可以将记录按“每只猫拥有的粉丝数量”排序。而“鸟”则使用第三等级策略。拥有这样的行为实际上使您能够构建类似于Algolia "multi-categories auto-completion" tutorial
中描述的用户体验话虽如此,我想说如果用于描述每条记录(用于customRanking的记录)的流行度的值对于每种类型的数据是不同的,那么拥有不同索引的数据可能是最好的方法做。 但是如果你想在所有指数中使用同质的东西,并且将'狗','猫'和'鸟'的结果合并在一起(并相互比较),那么你应该把你所有的狗/猫/鸟记录下来在同一和uniq'动物'指数内。