我在solr中得到了这个查询。问题是,我得到的搜索结果包含一个名为“PRD DELETED”的项目。 现在所有“PRD DELETED”的项目,我想在最后显示那些。 对于Ex,如果有100条记录而一页包含25条记录,则在最后一页上应显示“PRD DELETED”记录。
请注意,“PRD DELETED”是一个值而不是任何类别。我认为这里需要提升,但我无法找到确切的解决方案。
这里的任何建议都会有很大的帮助。
答案 0 :(得分:0)
解决方案通常是做相反的事情:提升所有未被删除的文件,而不是试图消极地提升那些文件。增压是乘法或加法,而乘法增加可以降低分数值,添加剂不能。 bq
和qf
是加法的,而boost
是可乘的。
此案例的Relevancy FAQ has an example:
当使用(e)dismax时,人们有时会期望在" bq"中指定一个纯粹的否定查询。 param会工作(因为Solr通过添加一个隐含的" :"自动制作顶级纯粹的负面积极查询 - 但这并不适用于" bq& #34;,因为通过" bq"指定的查询如何直接添加到主查询中。您需要明确...
?defType=dismax &q=foo bar &bq=(*:* -xxx)^999
将其实现为乘法提升可能涉及使用if
然后返回1或更低的值,具体取决于字段是否具有给定值。