Solr通过匹配字段提升搜索得分

时间:2017-01-31 12:05:47

标签: solr solarium

我有索引。一个群体有一个兴趣(该群体的目的,可以是' Study Group'或者#39; Wine Tasting')以及它的组织地点(纬度,经度值)。用户还有兴趣(多个)。

因此,当用户使用关键字搜索群组时,我希望对具有匹配兴趣并且更接近用户当前位置的群体进行评分。

使用过滤器查询和地理空间搜索会将结果限制为匹配兴趣和查询中提供的距离。例如,如果您搜索" ABC Group",并且没有符合您任何兴趣的组,那么我的结果就是空白。

我想要的是,将所有匹配的组与搜索词一起返回,但是对符合用户兴趣且最接近用户的组进行评分。我该怎么做?文档中的任何相关部分也会有所帮助。

1 个答案:

答案 0 :(得分:1)

我能想到的一个天真的方法是:

假设您有查询,其中title:ABC group按距离排序很明显,但您需要以某种方式将群组的用户兴趣高于其他群体。您可以通过将所有用户的兴趣添加为should条款集来实现这一点(因此他们不会过滤掉具有不同兴趣的其他群组)。此外,您可以尝试为这些子句应用一些boosting(应仔细选择系数):

interest:wine^5 OR interest:study^5 OR ....等