本文介绍了如何在Lucene/Solr中为术语查询分配权重的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在以编程方式构造BoostedQuery,并且正在创建两个TermQuery实例,这些实例将添加到BoostedQuery实例中:
I am programatically constructing a BoostedQuery and I am creating two TermQuery instances which will be added to BoostedQuery instance:
Query query1 = new TermQuery(new Term("body", "new"));
Query query2 = new TermQuery(new Term("body", "york"));
但是我想知道是否可以像在Solr的qf字段中那样增加一些权重.这是一个示例:
But I am wondering if I could add some weight to this like I can do in qf field in Solr. Here is an example:
body:new^0.1
body:york^0.1
任何帮助或指针将不胜感激.
Any help or a pointer would be appreciated.
推荐答案
query1.setBoost(0.1);
或者在解析的查询中,完全按照您在问题中指定的方式使用StandardQueryParser:
Or in a parsed query, using StandardQueryParser, precisely as you specified in your question:
body:new^0.1
另请参见, Lucene得分基础
这篇关于如何在Lucene/Solr中为术语查询分配权重的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!