首页/AI/AI 应用速查/BM25 关键词检索基线

BM25 关键词检索基线

BM25 是几十年验证过的词频检索算法:按词频与逆文档频率打分,配 k1/b 参数。中文需先分词(ik、jieba 等),是最便宜也最难被完全替代的检索基线。

AI 应用速查AI更新于 2026-10-12
打分词频饱和 + 文档长度归一 + IDF
参数k1 控制词频饱和,b 控制长度惩罚
中文需分词器:Elasticsearch ik、jieba、HanLP
价值作为 baseline 衡量向量检索是否真的带来增益

Elasticsearch BM25 查询

Elasticsearch BM25 查询
POST /kb/_search
{
  "query": {
    "match": { "content": { "query": "SSE 断线重连", "operator": "or" } }
  },
  "size": 20
}
// 中文索引需在 mapping 指定 ik 分词器,否则按单字切分
先跑通 BM25 基线再上向量:如果 BM25 已达标,向量化的复杂度可以先不引入。

易错点

  • 中文不配分词器,检索退化成单字匹配
  • 把 BM25 分数与余弦分数直接比较,阈值完全失真

数据来源与参考

  • Robertson & Zaragoza, BM25 综述;Elasticsearch 官方文档

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌