Solr Lucene - 根据0到5星评级提高相关性?

时间:2011-02-02 11:54:17

标签: lucene solr rating

Solr 1.4的新功能 - 似乎确实非常强大。但是,当我尝试按相关性(得分)和rating_value(每个结果的0到5星评级)的顺序返回搜索结果时,我陷入困境。

我已经尝试通过“评级desc,得分desc”来搜索搜索结果,虽然这有效,但感觉有点基础。

我最终希望根据评分为(0到5)的星数来提高搜索结果的相关性。因此,五星级的结果应该是最大的提升。

我确实尝试添加'rating_value:1 ^ 0.1 rating_value:2 ^ 0.2'等等,但这似乎大大提升了没有关键字匹配的答案,但确实有很高的星级评分。

非常感谢任何帮助! 谢谢,Seb

2 个答案:

答案 0 :(得分:3)

通过添加带有提升值的“rating_value”条款,您走在正确的轨道上。但是,请确保在构建查询时,关键字术语是“必须”术语,这将要求doc包含该术语以便返回它。

从那里你可以玩每个学期的相对提升值。如果评分提升过高,您可以为关键字提供更多提升,反之亦然。重要的是要知道增强的绝对值在各个领域之间是不可比较的,即给关键字提升20,而rating_value提升19并不意味着关键字将被提升更多,主要是因为长度标准化。有关更多信息,请参阅Lucene的相似性。

答案 1 :(得分:2)

如果您正在使用DISMAX请求处理程序,则还应考虑使用 bq (提升查询)字段进行提升,因为此提升仅影响已由用户查询匹配的文档。

您将在请求处理程序内的solrconfig.xml中预定义bq字段,例如

<str name="bq">
  rating_value:1^0.1 rating_value:2^0.2
</str>
相关问题