0

我有一个包含超过 100 万个文档的 Lucene 索引语料库。我正在使用 Lucene java API 进行查询来搜索命名实体,例如“Susan Witting”。例如,我还想通过搜索“Sue Witting”来扩展我的查询,但希望该词的权重低于主要查询词。

我该怎么做呢?我在 Lucene 手册中找到了有关增强选项的信息。但它似乎是在索引中设置的,它需要字段。

4

2 回答 2

3

您可以独立提升每个查询子句。请参阅查询 Javadoc

于 2012-04-14T19:55:29.843 回答
0

如果你想给一个词的词赋予不同的权重然后

Query#setBoost(float)

没用。更好的方法是:

Term term = new Term("some_key", "stand^3 firm^2 always");

这允许对同一术语查询中的单词赋予不同的权重。在这里,单词standboosted by 3 but alwaysis 具有默认的 boost 值。

于 2015-08-05T01:38:22.673 回答