我对阿尔及利亚的过滤器评分有疑问。我想获得一个过滤器子集的平均得分,然后将其求和为其他过滤器的得分。
我有一个称为职位的索引。它具有3个用于刻面的属性:
在我的Algolia查询中,我按照以下方式分配分数
freshnessHoursOld:429685<score=50> or freshnessHoursOld:429600<score=10>
or location:Melboure<score=10> or location:Sydney<score=7> or
location:Perth<score=5> or ageRange:50plus<score=40>
问题是–如果某个帖子的位置数组为[墨尔本,悉尼,珀斯],则所有三个位置得分都将匹配,并且位置匹配的得分将为10 + 7 + 5。根据匹配情况,还会添加ageRange和FreshHoursOld分数。
我想要的是-如果某个帖子的位置数组为[墨尔本,悉尼,珀斯],则平均分配3个位置匹配值,即(10 + 7 + 5)/ 3或仅是最高的或3中的最低者用作位置部分的得分。然后,根据匹配情况,还会添加ageRange和FreshHoursOld得分。
我知道参数 sumOrFiltersScores 。但是将其设置为false意味着它在所有参数(位置,ageRange,freshnessHoursOld)中占据最高的位置。并将其设置为true意味着它将汇总所有过滤器匹配项的分数。
但是我希望能够取参数的子集的最高或最低值或平均值,在这种情况下,这些参数是位置数组。发生匹配时,其他得分(ageRange和freshnessHoursOld)也将添加到该值。