BM25 是一种基于词频统计的经典文本检索排序算法,至今仍是搜索引擎、数据库和 RAG(检索增强生成)系统中最常用的关键词检索基线之一。在向量检索流行的当下,BM25 并未被淘汰,反而以「混合检索」的形式与语义搜索结合,成为 AI 应用落地的重要组件。
BM25 近期进展
当前焦点与观察点
当前围绕 BM25 的讨论主要集中在三个方向。其一是混合检索的融合权重问题:BM25 擅长精确匹配术语、代码标识符和专业名词,向量检索擅长语义泛化,两者如何加权(如 Zed 的加权 BM25 方案、Qdrant 探索的金融搜索混合检索)仍是工程调优的核心。
其二是基础设施的普及:Pinecone、Milvus、Databricks 的 Lakebase Search 等平台相继内置关键词检索,开发者无需自建倒排索引即可使用 BM25,降低了混合检索的使用门槛。此外,Context.dev 开源的 Rust 编写本地语义搜索工具 sgrep,也体现了对轻量级、低依赖检索方案的需求。
其三是定位之争:在语义模型能力不断增强的背景下,BM25 的价值不在于替代向量检索,而在于提供可靠、可解释、零训练成本的关键词召回通道。未来值得观察的是 BM25 变体(如 BM25F)在多字段检索中的应用,以及智能体(Agent)场景下它与语义检索的分工边界如何演进。