我最近开始尝试使用Solr。我的数据已编制索引并可搜索。我的问题在于排序。我有三个领域:作者,标题,销售。
我想搜索作者&标题字段,但具有销售价值影响分数,以便即使初始匹配分数不是最高的,与较高销售额的匹配也会向顶部移动。
根据销售情况进行简单排序不会产生有效结果,因为搜索字词的得分几乎为0,但一般来说,很多销售额可能会超过完全匹配从未出售的期限。
我看到的结果是,虽然很棒的匹配,但不一定是我希望在列表顶部显示的产品。
答案 0 :(得分:4)
如果您正在使用dismax处理程序,则可以添加boost function(bf)以及要增强的字段,例如:
http://...?q=foo&bf="fieldValue(sales)^1.5"
...使销售数字的价值大打折扣。当然,如果你想以某种方式破坏销售数据,你可以使功能更加复杂。
More info很容易找到。
您可能只想在索引时执行此操作,因为销售数据不会随时更改。
答案 1 :(得分:0)
您也可以使用Index-time boosting 以下是using function queries to influence scoring的详细信息。