我可以用不同的因素提升 MultiFieldQueryParser 中的不同字段吗?另外,我可以分配给字段的最大提升因子值是多少?
万分感谢!埃德
MultiFieldQueryParser
有一个 [constructor][1] 接受一个提升图。您可以将其与以下内容一起使用:
String[] fields = new String[] { "title", "keywords", "text" };
HashMap<String,Float> boosts = new HashMap<String,Float>();
boosts.put("title", 10);
boosts.put("keywords", 5);
MultiFieldQueryParser queryParser = new MultiFieldQueryParser(
fields,
new StandardAnalyzer(),
boosts
);
至于最大提升,我不确定,但无论如何你都不应该考虑绝对提升。只需使用有意义的提升比例即可。另请参阅此问题。
[1]:https ://lucene.apache.org/core/4_4_0/queryparser/org/apache/lucene/queryparser/classic/MultiFieldQueryParser.html#MultiFieldQueryParser (org.apache.lucene.util.Version, java.lang. String[], org.apache.lucene.analysis.Analyzer, java.util.Map)