Solr对销售的促进作用

Solr对销售的促进作用,solr,solr-query-syntax,solr-boost,Solr,Solr Query Syntax,Solr Boost,我正在使用ApacheSolr8和产品作为文档。每个文档都包括我希望提高的最近X天内的销售额,以及标题和其他字段 假设productA已经销售了5次,我想用+10分来提升它;a产品B已经售出50次了,我想提高30分 我尝试使用一个看起来像edismax查询解析器的boostFunction q=Coffee&qf=title&bf=if(lt(sales,5),10,if(lt(sales,50),30)) Solr现在返回的文档与我的Coffee查询无关,只是与boostfu

我正在使用ApacheSolr8和产品作为文档。每个文档都包括我希望提高的最近X天内的销售额,以及标题和其他字段

假设productA已经销售了5次,我想用+10分来提升它;a产品B已经售出50次了,我想提高30分

我尝试使用一个看起来像edismax查询解析器的boostFunction

q=Coffee&qf=title&bf=if(lt(sales,5),10,if(lt(sales,50),30))
Solr现在返回的文档与我的Coffee查询无关,只是与boostfunction匹配。甚至还有得分为0的结果。 例如

有没有办法摆脱那些只匹配boost函数的功能?

找到了答案

我的查询字段实际上包含如下boosting

&qf=title^2 longDescription^0 whatever^0...
solr没有排除那些0-boost字段中的结果,而是将它们相加,并与-well score 0匹配

当我删除0-boosting时,一切都按预期进行

&qf=title^2 longDescription^0 whatever^0...