我通过solrj实现应用程序将参数写入bq查询。我希望我的一些字段负面提升(即(id:-abc123)^ 3)如here所示,但每当我搜索时我都会收到记录错误:
“org.apache.solr.search.SyntaxError:无法解析”
它完全按照应该编写的方式显示查询(以及它如何从Web applet工作)。为什么它不会在SolrJ中正确解析,而是通过HTML解析?
答案 0 :(得分:0)
我不建议使用BQ,因为它是一种添加剂。由于它取决于术语频率和总体查询得分,因此很难预测其影响。您可以尝试在内部使用带有函数值的BOOST参数,例如if(exists({!v ='id:abc123'})),1 / 3,1) - 以便具有abc123的文档的分数乘以1/3
答案 1 :(得分:0)
查询如下:
bq=(-id:abc123)^3
使用id = abc123来提升doc以外的所有内容。
您可以尝试使用以下查询来降低该文档的得分:
bq=(id:abc123)^0.3
在项目中,我正在努力将其绑定,但最终我在索引编制过程中使用了增强功能(我正在基于文档“类”执行此操作)。这个解决方案对我很有用。