search - 使用字段值影响 Solr 搜索结果

标签 search lucene solr

我最近开始尝试 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/

相关文章:

java - tomcat 7 中的 Solr

sql - SQL 全文搜索中使用通配符 (*) 和单词分组的智能搜索

r - R 使用什么算法来搜索数据帧?

android - 如何在 Android 中的搜索输入字段旁边添加下拉菜单?

java - ElasticSearch 开销超过 Lucene + 自定义集群解决方案

solr - 如何使 solr 同义词起作用

php - Codeigniter - 加入同一个表并用数组搜索

java - 如何映射 Java 语言环境和 Lucene 分析器?

lucene - 需要Lucene查询优化建议

search - Solr/lucene - 名称和地址搜索