如何在Solr Dismax查询中正确提升结果

cub*_*bit 4 lucene search solr

我已经设法在Solr中构建一个索引,我可以搜索关键字,生成构面,查询构面等.这一切都很有效.我使用dismax查询实现了我的搜索,因此它搜索预定的字段.

但是,我的结果按照分数排序,而分数似乎仅通过关键字相关性计算得出.我想调整字段具有预定值的分数.我想我可以通过boost查询和boost函数来完成这个,但是这里的文档:

http://wiki.apache.org/solr/DisMaxRequestHandler#head-6862070cf279d9a09bdab971309135c7aea22fb3

不是特别有帮助.我尝试在我的搜索中添加一个bq参数:

&bq=media:DVD^2
Run Code Online (Sandbox Code Playgroud)

(是的,这是电影的索引!)但是当我开始添加更多时,我发现:

&bq=media:DVD^2&bq=media:BLU-RAY^1.5
Run Code Online (Sandbox Code Playgroud)

我发现了负面结果 - 例如DVD但不是 BLU-RAY的电影在得分方面受到负面影响.最后这一切似乎都是平衡的,我的得分就像我开始提升之前一样.

我一定是做错了,我想知道"升级功能"是否会出现在某个地方.关于如何正确使用boost的任何想法?

JMT*_*ler 6

这有点晚了,看起来你可能已经拥有了你想要的东西,但......

如果你对增强函数感兴趣(根据你想要的结果判断,我认为你应该这样)你应该检查bf参数而不是bq参数.

尝试将bf参数设置为

media:DVD^2 media:BLU-RAY^1.5
Run Code Online (Sandbox Code Playgroud)

我认为这可以实现你想要的.