search - 提高 Lucene 中不同领域的分数
问题描述
我的文档中有 2 个字段“标题”和“正文”。我想给标题字段更多的权重。在最新的 Lucene 8.6* 中,setboost 不适用于字段对象。我想知道做到这一点的最佳方法。我读到 PerFieldSimilarityWrapper 可以使用,但我不知道如何使用它,并且在文档中存在警告“警告:此 API 是实验性的,可能会在下一个版本中以不兼容的方式发生变化。” 那么在将长期支持的产品中使用是否安全。
解决方案
我也希望我能更多地了解为什么 Lucene 有时会将其 API 的一部分标记为“实验性”。但是我可以告诉你的一件事应该是相当令人放心的,那就是 API 中有很大一部分是以这种方式标记的,而且很多年很多年都没有太大变化。
因此,例如,您感兴趣的课程PerFieldSimilarityWrapper
至少早在 Lucene 4.8 时就被标记为实验性的。查看github中 4.8 版本上的标签。
所以,我想我不会太担心。特别是因为如果 Lucene 团队决定更改 API,他们不会立即将其删除。他们通常至少在主要版本上将旧 API 标记为已弃用(但仍可调用)。
推荐阅读
- javascript - 在(角度 6)中的不同域之间共享 LocalStorage/SessionStorage
- python - ModuleNotFoundError:没有名为“pycorenlp”的模块
- swift - 如何调整我的 UITabBarController 的标题文本字体大小?
- html - 带有图像和文本的六边形
- python - 不兼容类型:__main__.TestClass;预期的例子.TestClass; 将“self”传递给另一个模块
- javascript - ember-power-select 自定义搜索操作并使用外部数据“选择”
- java - 如何使用过滤的 RecyclerView 和 OnClickListener 从 ArrayList 中删除项目
- sql - 如何总结所有行的总数?
- jquery - Bootstrap 4 工具提示仍然存在,看起来很糟糕
- c++ - 带有任何算术运算符的常量操作数的顺序是否会影响优化?