2009-02-15 32 views

回答

12

MultiFieldQueryParser有一個[構造函數] [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 
); 

至於最大的提升,我不知道,但你不應該考慮在絕對值的推動無論如何。只需使用有助於提高的比例即可。另見this question

[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)

+0

您好,感謝您的回答....我使用Lucene .net version 2.0.0.4 我沒有看到接受boost值的MultiFieldQueryParser構造函數。 MultiFieldQueryParser multiFieldQueryParser = new MultiFieldQueryParser(fields,_analyzer); 我可以知道你正在使用哪個Lucene版本嗎? 謝謝。 – 2009-02-16 20:36:05