java – 如何在Lucene 7中提升查询?

我想在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)

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

解决方法:

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

Query termQuery = new TermQuery(new Term("field", "value"));
Query boostedTermQuery = new BoostQuery(termQuery, 2);
上一篇:lucene入门


下一篇:Java Web开发中MVC设计模式简介