sphinx - 为什么 Sphinx 没有带字段权重的 BM25?
问题描述
Sphinx 默认排名器的公式SPH_RANK_PROXIMITY_BM25
如下所示:
SPH_RANK_PROXIMITY_BM25 = sum(lcs*user_weight)*1000+bm25
分别为每个字段计算最长公共子序列,然后乘以user_weight
。然而bm25
,它只是一个文档范围的变量,不考虑用户字段。为什么呢?
解决方案
只是因为它更快,而且在许多情况下质量就足够了。有一个自定义排名器和 bm25f 可以在那里使用。默认情况下也不考虑文档长度,索引期间需要 index_field_lengths=1。
推荐阅读
- excel - 使用 for 循环在同一行复制和粘贴值
- sql - 计算年平均月度差异
- office-js - Error in outlook addin dialog. TypeError: can't redefine non-configurable property "context"
- arrays - scala数组中传递值的上限和下限
- r - 如何以常规顺序打印经度和纬度aes数据
- php - 在 PHP 中的 SolrClient。如何使用大量 SolrInputDocuments 更新 Apache Solr 中的文档
- android - ADB 使用给定的 url 启动 android 浏览器
- css - 在 CSS 中与 % 水平对齐
- c++ - c++ .clang-format 不需要的空格
- python - 从文本数据中提取所有电子邮件