Search 如何在Solr Dismax查询中正确提升结果
我已经设法在Solr中建立了一个索引,我可以搜索关键字、生成facet、查询facet等。这一切都很好。我使用Demax查询实现了我的搜索,因此它搜索预先确定的字段 然而,我的结果是按分数排序的,而分数似乎只是按关键字相关性计算的。我想调整字段具有预定义值的分数。我想我可以用boost查询和boost函数来实现这一点,但是这里的文档: 这不是特别有用。我尝试在搜索中添加bq参数:Search 如何在Solr Dismax查询中正确提升结果,search,lucene,solr,Search,Lucene,Solr,我已经设法在Solr中建立了一个索引,我可以搜索关键字、生成facet、查询facet等。这一切都很好。我使用Demax查询实现了我的搜索,因此它搜索预先确定的字段 然而,我的结果是按分数排序的,而分数似乎只是按关键字相关性计算的。我想调整字段具有预定义值的分数。我想我可以用boost查询和boost函数来实现这一点,但是这里的文档: 这不是特别有用。我尝试在搜索中添加bq参数: &bq=media:DVD^2 (是的,这是一个电影索引!)但当我开始添加越来越多的内容时,我发现: &
&bq=media:DVD^2
(是的,这是一个电影索引!)但当我开始添加越来越多的内容时,我发现:
&bq=media:DVD^2&bq=media:BLU-RAY^1.5
我发现负面结果-例如,DVD但不是蓝光的电影在分数上受到负面影响。最后,一切似乎趋于平衡,我的得分与我开始提高之前一样
我一定是做错了,我想知道“增强功能”是不是有什么作用。关于如何正确使用boost有什么想法吗?听起来您需要在索引时而不是在查询时应用boost。因此,当您准备将文档添加到索引时,将DVD的文档增加2,将蓝光的文档增加1.5。显然,对于DVD但非蓝光的电影,这是正常的,它们的分数会受到负面影响。这是因为您添加的约束越多,QueryForm值减少的越多,所有分数都会乘以该值。这有点晚了,看起来您可能已经拥有了所需的内容,但是 如果您对boost函数感兴趣(根据您想要的结果判断,我认为您应该对boost函数感兴趣),您应该查看
bf
参数,而不是bq
参数
尝试将bf参数设置为
media:DVD^2 media:BLU-RAY^1.5
我认为这可以实现你想要的