首页/AI/RAG 与向量库速查/向量检索与关键词检索的取舍

向量检索与关键词检索的取舍

向量检索擅长语义近似与改写表达,BM25 等关键词检索擅长专有名词、型号、代码符号等精确匹配;生产常把两者组合成混合检索互补短长。

RAG 与向量库速查AI更新于 2026-10-13

两路检索的差别

向量检索把文本编码成向量比语义相似度,擅长同义改写、口语化提问与跨表述的语义匹配;关键词检索(BM25 等)按词频与逆文档频率打分,擅长专有名词、型号、错误码、人名等需要精确命中的内容。两者失败的方式不同:向量容易在专名上漂移,关键词容易在换一种说法时漏掉。

基本信息

向量路embedding 模型 + 向量库,语义近似召回
关键词路倒排索引,Elasticsearch / OpenSearch / pg 全文检索均可
中文前提必须选好分词器:IK、jieba(结巴分词)等,分词粒度直接影响效果
评估重点分别统计两路在自有问题集上的召回率,确认互补再融合

维度对比

维度向量检索关键词 / BM25
匹配方式语义相似字面命中
同义改写表现好容易漏
专名 / 编号 / 错误码可能漂移稳定
索引更新需重新向量化倒排更新
冷启动依赖 embedding 质量直接依赖词频统计

症状与对策

  • 用户换一种说法就搜不到:加向量路,关键词路的字面依赖太强
  • 问「ERR-5021 怎么处理」命中一堆无关文档:加关键词路并提高其权重
  • 同一份文档的新旧版本同时被召回:靠元数据过滤解决,与检索方式无关
  • 关键词路结果噪声高:先检查分词器与停用词表,再考虑降低该路权重
  • 两路结果高度重叠:说明语料表述统一,此时融合增益有限,可只保留一路降低成本

组合方式

组合做法代价
并行融合两路各取候选后按排名合并(如 RRF)多一次查询与融合逻辑,延迟略增
串行兜底向量为主,命中不足时补关键词路实现简单,但关键词路的优势发挥不充分
引擎内混合Elasticsearch 等在一次查询内做混合打分运维集中,权重与归一化受引擎约束
中文场景 BM25 的效果强依赖分词器,分词粒度要兼顾召回与噪声;把业务专名加入自定义词典,通常比调权重更有效。

易错点

  • 只上向量检索,导致产品型号、错误码类问题命中差且用户感知强烈
  • BM25 分词器与业务词表不匹配,专名被切开后检索不到
  • 两路分数直接相加,量纲不同导致一路长期压制另一路
  • 只对比最终答案质量,不分别统计两路召回率,无法判断混合是否真的有用

数据来源与参考

  • Robertson & Zaragoza, The Probabilistic Relevance Framework: BM25 and Beyond
  • Elasticsearch 官方文档(相似度算法)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌