我最近开始尝试 Solr。我的数据已编入索引并可搜索。我的问题在于排序。我有三个字段:作者、标题、销售额。
我想针对作者和标题字段进行搜索,但销售值会影响分数,以便销售较高的匹配项会移向顶部,即使初始匹配分数不是最高的也是如此。
简单地按销量排序不会产生有效的结果,因为搜索词的得分接近 0,但一般来说,很多销量最终可能会高于从未售出的词的完美匹配。
我看到的结果虽然术语匹配,但不一定是我想要在列表顶部显示的产品。
最佳答案
如果您使用 dismax 处理程序,则可以添加 boost function (bf) 与您想要提升的领域,例如
http://...?q=foo&bf="fieldValue(sales)^1.5"
...使销售数字的值(value)得到提升。当然,如果您想以某种方式处理销售数据,您可以使函数变得更复杂。
More info很容易找到。
您可能只想在索引时执行此操作,因为销售数据不会即时更改。
关于search - 使用字段值影响 Solr 搜索结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5268302/