2017-11-14 11 views
1

Lucene 7でクエリを強化したいと思います。以前のバージョン(< 6)ではsetBoost(float boost)メソッドを使用していました。 Luceneの7では、すなわちLucene 7でクエリをどのように追加するのですか?

TermQuery termQuery = new TermQuery(new Term("field", "value")); 
termQuery.setBoost(2); 

パラメータとしてブーストが含まれている唯一の方法がある:

public Weight createWeight(IndexSearcher searcher, 
         boolean needsScores, 
         float boost) 

ブーストの責任方法ではありません! クエリにブースティングを適用する方法を知っていますか?

答えて

3

すべてのクエリは今や不変であり、これもまたブーストにも拡張されます(LUCENE-6590)。したがって、ブーストを適用するには、BoostQueryを使用してクエリをラップします。このように:

Query termQuery = new TermQuery(new Term("field", "value")); 
Query boostedTermQuery = new BoostQuery(termQuery, 2); 
関連する問題