我正在使用 Lucene 来索引具有名称和类型的组件。一些组件更重要,因此得到更大的提升。但是,我无法让我的提升正常工作。我会得到一些组件稍后出现(得分更差),即使它们有更高的提升。
请注意,索引仅在一个字段上完成,并且我仅将提升设置为该字段。我在 Java 中使用 Lucene。
我认为这与字段长度无关。我见过同名(但类型不同)的组件得分错误。
我正在使用 Lucene 来索引具有名称和类型的组件。一些组件更重要,因此得到更大的提升。但是,我无法让我的提升正常工作。我会得到一些组件稍后出现(得分更差),即使它们有更高的提升。
请注意,索引仅在一个字段上完成,并且我仅将提升设置为该字段。我在 Java 中使用 Lucene。
我认为这与字段长度无关。我见过同名(但类型不同)的组件得分错误。
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.
确保在要提升的字段上将 field.omitNorms 设置为 false。
Boost 只是 Lucene 得分中的一个因素。但它应该工作。你能给出一个更完整的例子来说明你所看到的行为,以及你的期望吗?
我记得,提升旨在使一个领域比另一个领域更重要。如果您只有一个字段,则提升根本不会改变结果的顺序。
补充说:不,看起来您确实可以提升特定文档。哎呀!