我可以使用不同的因素在MultiFieldQueryParser中提升不同的字段吗?另外,我可以为字段分配的最大提升因子值是多少?
万分感谢!埃德
MultiFieldQueryParser
有一个[constructor] [1]接受一个boost的地图.你用这样的东西:
String[] fields = new String[] { "title", "keywords", "text" }; HashMapboosts = new HashMap (); 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)