我想在Lucene 7中增强查询。在以前的版本(

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

关于java - 如何在Lucene 7中增强查询?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47289641/

10-10 09:58