向量检索与关键词检索有什么区别?

考查重点:精确标识与语义匹配。关键词擅精确词和错误码,向量擅同义与语义改写;两者都需权限过滤,混合后重排可弥补漏召回

本题目录

参考答案

核心回答

两者的主要区别是怎样判断相关:关键词检索以词项匹配为基础,向量检索以向量空间中的相似度为基础。 在 RAG 中,向量检索通常指用 Embedding 模型生成稠密向量做语义召回。

  • 关键词检索:对文本进行分词等分析,通过倒排索引找到命中词项的文档,再用 BM25 等算法排序,适合错误码、产品型号和专有名词。
  • 向量检索:把问题和文档编码到兼容的向量空间,按余弦相似度、内积等度量找相近片段,适合用户换一种说法、文档却没有相同关键词的情况。

例如,“E1042 怎么处理”需要重视错误码命中;“刚登录不久就被迫退出”可能需要匹配“令牌过期排查”。两类信号可以互补,选择时要看查询特点、召回质量和成本;任何一种相关性分数都不能直接证明文档事实正确。

沿着两个查询往下看:错误码适合精确匹配词项,换一种说法的问题则可借助向量寻找语义相关内容。图中同时列出两条检索链路、各自容易遗漏的情况,以及候选合并的位置。

两种检索工作站:词项经倒排索引和BM25找到文档,问题向量在语义空间寻找近邻,两路候选合并后融合重排

两类检索分别怎样工作?

关键词检索:匹配分析后的词项

建立索引时,系统把文本转成词项,并记录每个词项出现在哪些文档中,这就是倒排索引。查询也经过相应分析,再定位候选文档。BM25 结合词项在文档中的频次、在整个语料中的稀有程度以及文档长度计算相关性;同一个词反复出现,收益会逐渐饱和。

因此,关键词检索不要求整句一字不差。匹配多少词项、是否考虑词序,取决于查询类型与配置。分词、大小写归一化、同义词等也会改变匹配结果。例如配置“退钱、退款”为同义词后,两种说法可以建立联系。对于错误码,还要检查分析器是否把编号拆坏,必要时增加保留完整编码的字段或精确条件。Elastic 的 Match 文档给出了词项组合和同义词扩展的具体行为。

这一路径的优势是命中原因容易检查,词项、字段与业务规则也便于控制。它的主要短板是:用户表达与文档用词差异较大、又没有相应扩展时,相关内容可能进不了候选池。

向量检索:匹配模型学到的表示

文档片段预先编码、建立向量索引;查询时只需生成问题向量,再寻找相近的文档向量。模型经过相关训练后,有机会把“退款规则”和“怎么退钱”映射到相近位置,减少对字面重合的依赖。这里的语义能力主要来自 Embedding 模型,向量库负责存储、索引和搜索。

这也带来两层误差:模型表示可能分不清相似主题中的关键条件;使用 HNSW 等近似索引时,还可能漏掉部分本应靠前的近邻。编码配置、距离度量、切块和索引参数都要一起检查。换一个向量库,通常不会自动修复模型把两个错误码混淆的问题。

用同一个运维问题看取舍

假设知识库里有“E1042:令牌过期处理”“E1402:签名校验失败”和“登录会话管理”三篇文档。

用户输入“E1042 怎么处理”时,词法通道能够保留这一关键标识;向量通道可能找到更多登录排障背景,也可能把相似编码对应的文档排在前面。用户只描述“登录后很快又要求重新登录”时,语义通道更有机会跨过措辞差异,但仍需要核对究竟是哪种故障。这个例子说明两类信号怎样互补;具体排序仍由模型、分析器和数据决定。

如果任务要求指定产品、版本或租户范围,应把这些条件交给元数据过滤或精确字段约束。选型时,在同一知识库上按错误码查询、自然语言改写等类别比较正确证据是否被召回、排名和延迟,再决定是否混合两路结果。检索后怎样使用原文,可结合RAG 从知识入库到在线问答的完整流程理解。

两路结果怎样融合、何时加入重排,可继续看向量检索、BM25、重排在混合 RAG 中如何配合。

常见追问

稀疏向量就是 BM25 吗? 不是。稀疏向量描述表示形式,BM25 是词项相关性算法;TF-IDF 和模型学习到的稀疏权重也可以形成稀疏表示。BGE-M3 同时提供稠密表示与稀疏词项权重,不能把它的稀疏检索直接称为 BM25。

向量检索一定更慢、更贵吗? 不能一概而论。它通常增加文档及查询编码的开销,但查询延迟还取决于索引、缓存、过滤和规模。应在相同数据、召回目标与并发条件下测量,而不是只按算法名称判断。

对应教程

参考资料

相关面经

18 篇

公司未注明

面经合集
查看原面经 →
向量检索与关键词检索有什么区别,为什么要混合?(14篇)

佰聆数据

助理AI应用开发工程师
实习一面
查看原面经 →
BM25 向量检索 区别是什么?优势有哪些?

顺丰科技

AI 开发工程师
校招一面
查看原面经 →
检索使用关键词、向量还是混合检索?

长鑫存储

Agent 开发实习生
实习一面
查看原面经 →
为什么要做稀疏稠密双路召回?

小红书

Product Engineer(AI 与全栈方向)
一面
查看原面经 →
追问
为什么不用向量检索?
展开剩余 13 篇面经

恒生电子

AI 应用开发工程师
校招秋招一面
查看原面经 →
追问
你刚才提到传统检索是基于词的相似度匹配,不涉及语义。那如果企业内部有大量存在表述差异,但高度相关的文档,比如不同部门对同一业务流程的不同口径记录这种场景下,传统检索加生成会出现什么核心问题。

字节跳动

Agent 开发后端实习生
日常实习一面
查看原面经 →
为什么同时使用 BM25 和向量检索?两者各自适合什么问题?

美团

AI 全栈开发工程师
校招秋招二面
查看原面经 →
BM25关键词检索和向量检索各有什么优缺点

MemTensor

全栈开发工程师
社招一面
查看原面经 →
语义检索 vs 分词检索,如何综合?

上海九云数智

大模型应用开发工程师(RAG 方向)
查看原面经 →
稀疏检索和稠密检索又了解吗

百度

Agent 应用开发工程师
秋招一面
查看原面经 →
BM25 和向量检索分别解决什么类型的问题?

虾皮

Agent 应用开发工程师
秋招一面
查看原面经 →
召回时,关键词片段如何检索?

字节跳动

后端开发工程师
一面
查看原面经 →
Dense、Sparse 和 RRF 分别是什么?

多益网络

AI 应用开发工程师
三面
查看原面经 →
RAG的稠密稀疏检索的作用是什么,为什么要这么做。

美团

Agent 开发工程师
日常实习一面
查看原面经 →
混合、多路检索中,关键词检索有什么优缺点?向量检索又有什么缺点?

百度

Java 开发工程师(智能客服)
实习二面
查看原面经 →
向量检索和 BM25 分别解决什么问题?

字节跳动

后端开发工程师(Agent)
二面
查看原面经 →
什么是多路检索(Multi-way Retrieval)?向量检索和关键词检索分别解决什么问题?

字节跳动

AI 开发工程师
实习一面
查看原面经 →
向量/关键词检索区别

收录题集

6 个来源,共9 份题集

RAG 面试题

卡码笔记 · 个人整理 · 1 条原题

查看题集 →

八股集锦(高频问题)

小熊饼干_ · 个人整理 · 1 条原题

查看题集 →

RAG 面试题

小林 Coding · 个人整理 · 1 条原题

查看题集 →

RAG 与检索系统:从 chunk 设计到多路召回

Onefly · zero2Agent · 2 条原题

查看题集 →

Agent_RAG与混合检索工程

Rocky Ding · AIGC-Interview-Book · 2 条原题

查看题集 →
展开剩余 4 份题集

相关题目

4 题