如何在Lucene 7中提升查询?

时间:2017-11-14 15:35:47

标签: java lucene

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

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

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

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

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

1 个答案:

答案 0 :(得分:6)

所有查询现在都是不可变的,每个LUCENE-6590也会延伸到提升。因此,要应用提升,您可以使用BoostQuery来包装查询。像这样:

Query termQuery = new TermQuery(new Term("field", "value"));
Query boostedTermQuery = new BoostQuery(termQuery, 2);