2

我正在使用 Lucene 来索引具有名称和类型的组件。一些组件更重要,因此得到更大的提升。但是,我无法让我的提升正常工作。我会得到一些组件稍后出现(得分更差),即使它们有更高的提升。

请注意,索引仅在一个字段上完成,并且我仅将提升设置为该字段。我在 Java 中使用 Lucene。

我认为这与字段长度无关。我见过同名(但类型不同)的组件得分错误。

4

5 回答 5

2

Use Searcher.explain to find out how the scores for each document are derived. One of the key criteria in score is length of the field. A match in shorter field gets higher score.

于 2009-03-12T06:14:14.937 回答
1

我建议您使用luke来准确查看索引中存储的内容。你在使用文档提升吗?请参阅评分文档以检查可能的解释。

于 2009-02-19T19:37:28.397 回答
0

确保在要提升的字段上将 field.omitNorms 设置为 false。

于 2009-02-19T18:22:24.990 回答
0

Boost 只是 Lucene 得分中的一个因素。但它应该工作。你能给出一个更完整的例子来说明你所看到的行为,以及你的期望吗?

于 2009-02-18T12:23:52.653 回答
0

我记得,提升旨在使一个领域比另一个领域更重要。如果您只有一个字段,则提升根本不会改变结果的顺序。

补充说:不,看起来您确实可以提升特定文档。哎呀!

于 2009-02-18T15:37:42.297 回答