首页 > 解决方案 > 提高 Lucene 中不同领域的分数

问题描述

我的文档中有 2 个字段“标题”和“正文”。我想给标题字段更多的权重。在最新的 Lucene 8.6* 中,setboost 不适用于字段对象。我想知道做到这一点的最佳方法。我读到 PerFieldSimilarityWrapper 可以使用,但我不知道如何使用它,并且在文档中存在警告“警告:此 API 是实验性的,可能会在下一个版本中以不兼容的方式发生变化。” 那么在将长期支持的产品中使用是否安全。

标签: searchlucene

解决方案


我也希望我能更多地了解为什么 Lucene 有时会将其 API 的一部分标记为“实验性”。但是我可以告诉你的一件事应该是相当令人放心的,那就是 API 中有很大一部分是以这种方式标记的,而且很多年很多年都没有太大变化。

因此,例如,您感兴趣的课程PerFieldSimilarityWrapper 至少早在 Lucene 4.8 时就被标记为实验性的。查看github中 4.8 版本上的标签。

所以,我想我不会太担心。特别是因为如果 Lucene 团队决定更改 API,他们不会立即将其删除。他们通常至少在主要版本上将旧 API 标记为已弃用(但仍可调用)。


推荐阅读