我可以使用不同的因素在MultiFieldQueryParser中提升不同的字段吗?另外,我可以为字段分配的最大提升因子值是多少?
万分感谢!埃德
its*_*dok 13
MultiFieldQueryParser
有一个[constructor] [1]接受一个boost的地图.你用这样的东西:
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
);
Run Code Online (Sandbox Code Playgroud)
至于最大提升,我不确定,但你不应该考虑绝对值的提升.只需使用有意义的提升比例.另见这个问题.
[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)