English 中文(简体)
如何正确提升 Solr Dismax 查询的结果
原标题:
  • 时间:2009-03-11 14:02:53
  •  标签:

我已经在Solr中成功构建了一个索引,可以使用关键字进行搜索,生成facets,查询facets等功能。这一切都很完美。我使用dismax查询实现了我的搜索,因此它可以搜索预定字段。

然而,我的结果按照仅由关键词相关性计算出的分数排序返回。我想要调整分数,其中字段具有预先确定的值。我认为我可以通过提升查询和提升函数来完成这个任务,但这里的文档:

将此翻译为中文: http://wiki.apache.org/solr/DisMaxRequestHandler#head-6862070cf279d9a09bdab971309135c7aea22fb3 http://wiki.apache.org/solr/DisMaxRequestHandler#head-6862070cf279d9a09bdab971309135c7aea22fb3

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

&bq=media:DVD^2

是的,这是一份电影索引!但是我发现当我不断添加更多时:

&bq=media:DVD^2&bq=media:BLU-RAY^1.5

我发现负面结果-例如那些只有DVD而并非蓝光的电影会受到分数的负面影响。最终所有的一切似乎都会均衡化,我的分数与我开始提高之前相同。

我应该做错了,我想知道"boost"函数是否适用。有没有关于正确使用"boost"的想法?

最佳回答

显然,对于仅为DVD而不是蓝光的电影而言,这种得分的负面影响是正常的。这是因为您增加的限制越多,查询规范化值就会降低—所有得分都会乘以此值。

问题回答

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

如果你对boost函数感到好奇(根据你所想要的结果来判断,我认为你应该好奇),你应该查看bf参数而不是bq参数。

请将bf参数设置为。

media:DVD^2 media:BLU-RAY^1.5

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

听起来你需要在索引时间而不是查询时间应用提升。因此,在准备要添加到索引中的文档时,将那些是DVD的文档提升2倍,将那些是Blu-Ray的文档提升1.5倍。





相关问题
热门标签