自定义SOLR排序,了解其邻居

时间:2014-06-10 17:20:54

标签: solr

对于SOLR搜索,我希望以不同的方式处理某些结果(其中字段" is_promoted"设置为" 1")以使它们具有更好的排名。在"正常"之后执行查询时,应重新排列结果的顺序,以便在给定范围内(例如,前100个结果)中大约30%的结果应该是#34;促销结果"。否则,应保留结果的顺序。

我认为通过制作自定义SOLR插件来解决这个问题是个好主意。所以我尝试编写一个SearchComponent,但看起来你不能在搜索结果通过QueryComponent后改变搜索结果的顺序(因为它们被缓存了)?

有人可能会编写某种自定义排序函数(或函数查询?),但挑战在于算法需要知道其他周围结果的得分/排序。分数的简单增加不会成功。

有关如何实施此建议的任何建议?

1 个答案:

答案 0 :(得分:3)

刚刚在Solr用户列表中回答了这个问题。 Solr 4.9中的RankQuery功能旨在解决此类问题。您可以在此处阅读RankQueries:http://heliosearch.org/solrs-new-rankquery-feature/