如何在Lucene 7中提升查询?

pok*_*110 3 java lucene

我想在Lucene 7中增加一个查询.在之前的版本(<6)中,我只是使用了setBoost(float boost)方法.即

TermQuery termQuery = new TermQuery(new Term("field", "value"));
termQuery.setBoost(2);
Run Code Online (Sandbox Code Playgroud)

在Lucene 7中,只有一个方法包含boost作为参数:

public Weight createWeight(IndexSearcher searcher,
                       boolean needsScores,
                       float boost)
Run Code Online (Sandbox Code Playgroud)

这不是负责提升的方法!你知道如何将提升应用于查询吗?

fem*_*gon 6

根据LUCENE-6590,所有查询现在都是不可变的,也可以扩展到提升.因此,要应用boost,您可以使用BoostQuery来包装查询.像这样:

Query termQuery = new TermQuery(new Term("field", "value"));
Query boostedTermQuery = new BoostQuery(termQuery, 2);
Run Code Online (Sandbox Code Playgroud)