向量检索、关键词检索和混合检索有什么区别?
现在我来根据策划方案撰写面试题讲解文章:

向量检索、关键词检索和混合检索有什么区别?
这道题是RAG领域的核心概念题,考的是你对三种检索技术的底层原理理解到什么程度。简单来说:关键词检索是按字面找,向量检索是按意思找,混合检索是两者都找再合并。下面我们逐一拆解。
检索的本质——从"大海捞针"说起
不管用哪种检索方式,核心任务都一样:在海量文档中找到最相关的那些。
你可以把检索系统想象成一个图书馆:
- 用户的问题是"我想找一本讲程序员职业发展的书"
- 检索系统要在几十万本书里找出最符合需求的
- 最后返回结果列表
三种检索方式,代表三种不同的"找书策略"。有的靠标签,有的靠店员推荐,有的两者结合。

关键词检索——字面匹配的经典之作
关键词检索是互联网最传统、最成熟的技术,你用Google搜索大部分时候就是这种。
它的核心是倒排索引。什么叫倒排?普通索引是"文档→包含的词",倒排索引反过来,是"词→出现在哪些文档"。
打个比方:
- 图书馆有一排书架,每个词像标签一样挂在上面
- 你搜索"Python教程",系统直接找到挂"Python"标签和"教程"标签的书架
- 书架上列着所有包含这个词的书籍清单
关键词检索用BM25算法计算相关性。BM25考虑两个关键因素:
- TF(词频):这个词在文档里出现多少次,出现越多越相关
- IDF(逆文档频率):这个词在整个语料库里有多稀缺,稀有的词权重更高
BM25的公式核心思想是:词出现频率递增,但边际收益递减。你不能让一个词重复100遍就排第一。
关键词检索的优点:
- 精确匹配专有名词非常强——搜"iPhone 15 Pro Max"基本不会给你返回iPhone 14
- 技术成熟,延迟低
- 可解释性强——你知道为什么这篇文档被召回,因为包含搜索词
缺点也很明显:
- 同义词一塌糊涂——搜"手机"找不到"mobile phone"相关的文档
- 拼写错误基本没救
- 无法理解语义——搜"苹果的营养价值"可能给你返回苹果公司财报

向量检索——语义理解的新一代利器
向量检索是NLP时代的产物。核心思想是:把文字变成一串数字(向量),在数字空间里找相似的。
怎么变?靠Embedding模型(比如Text2Vec、BGE等)。这个模型会把"北京"、"帝都"、"首都"这些词都映射到相近的位置,因为它们的语义相近。
你可以理解成:
- 每个词、每句话都变成一个坐标点
- 语义相近的内容,在空间里距离近
- 搜索时,你的查询也变成一个坐标点
- 系统返回离这个点最近的N个文档
打个比方:
- "北京"和"帝都"在这个空间里是邻居,距离很近
- "iPhone 15"和"iPhone 16"的向量也很近,因为都是苹果手机
- 但"iPhone 15"和"安卓手机"的向量就离得远
向量检索的最大优势是语义理解:
- 搜"如何治疗发烧",能返回"退烧方法"相关的文档
- 搜"编程入门",能返回包含"Python基础"、"Java教程"的内容
- 同义词、表达方式变体都能搞定
但它也有硬伤:
- 精确边界模糊——搜"iPhone 15"可能也返回iPhone 14,因为太像了
- 专有名词、人名、型号表现差
- 计算量大,延迟比关键词检索高
- 有点黑盒,解释性不如BM25

混合检索——取长补短的工业实践
混合检索是生产环境的行业默认方案。思路很简单:两路检索一起跑,结果合并取最优。
具体怎么跑?分三步:
第一步:并行执行两路检索
- 一路走BM25关键词检索
- 一路走向量语义检索
- 两条线路独立运行,互不干扰
第二步:分别打分排序
- 关键词检索给出一个相关性分数和排名
- 向量检索也给出一个相似度分数和排名
第三步:用RRF算法融合
- RRF全称是Reciprocal Rank Fusion(互倒排名融合)
- 核心思想:不管你的分数多高,我只看你在各自列表里的排名
- 公式大概是:
score = 1/(k + rank),然后求和 - 最终综合排名是两路结果的加权组合
为什么用排名而不是分数直接相加?因为两路检索的分数体系完全不同,直接加没有意义。RRF用排名做融合更公平。
混合检索的类比:
- 找书时,你既查了目录索引(关键词),又让店员推荐(向量)
- 两个渠道各给了一份推荐名单
- 你综合两份名单,选出重复出现或者两方都推荐的
这种方案的好处:
- 扬长避短:关键词处理专有名词,向量处理语义泛化
- 容忍度高:任何一路翻车了,另一路还能兜底
- 延迟可控:两路并行,不比串行慢太多

面试怎么答
基础版(直接背):
关键词检索基于倒排索引,用BM25算法计算词频和文档频率的相关性,擅长精确匹配专有名词,但处理不了同义词。向量检索通过Embedding把文本映射到语义空间,用余弦相似度找相关内容,能理解语义但精确词边界模糊。混合检索是两路并行,用RRF算法融合排名,兼顾精确匹配和语义理解,是RAG系统的工业标准方案。
加分版(加原理细节):
从底层原理说,关键词检索的核心是倒排索引和BM25。BM25公式是
score = IDF × (tf × (k+1)) / (tf + k × (1-b + b × dl/avgdl)),控制词频的饱和增长。向量检索依赖Embedding模型,常用余弦相似度或内积计算向量距离,需要注意向量维度选择和索引加速(如HNSW、IVF)。混合检索的RRF融合公式是score(q) = Σ 1/(k + rank(d)),用排名倒数求和避免分数体系不一致的问题。生产环境中,我一般根据业务场景调整两路检索的权重比,比如医疗领域更倾向向量检索(语义重要),电商搜索更倾向关键词检索(型号精确)。
一句话总结
三种检索各有分工:关键词管字面,向量管语义,混合检索取两者之长——这就是RAG系统选型的核心逻辑。
