【问题标题】:How do I boost queries in Lucene 7?如何在 Lucene 7 中提升查询?
【发布时间】:2017-11-14 15:35:46
【问题描述】:

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

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

【问题讨论】:

标签: java lucene


【解决方案1】:

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

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-28
  • 2011-05-22
  • 1970-01-01
  • 2017-05-26
  • 2018-03-02
  • 2014-04-25
  • 1970-01-01
相关资源
最近更新 更多