检索策略大全:关键词检索vs向量检索vs混合检索,怎么选效果最好
检索策略大全关键词检索vs向量检索vs混合检索有了向量数据库和Embedding模型接下来就是怎么搜了。很多人做RAG默认就用向量检索。其实检索方式不止这一种。关键词检索、向量检索、混合检索各有各的适用场景。选对了检索方式效果能提升一大截。这一篇我们把常见的检索方式都讲一遍。各自的原理是什么优缺点是什么什么时候用哪种以及怎么组合效果最好。关键词检索关键词检索是最传统的检索方式。用户输入关键词在文档里找包含这些关键词的内容。技术原理就是倒排索引。每个词对应一个文档列表记录了这个词在哪些文档里出现过、出现了多少次、在什么位置。查询的时候把查询词的倒排表拿出来做交集或者并集然后算相关性打分排序。Elasticsearch、Solr这些搜索引擎干的就是这个事。优点精确。要找什么关键词就返回包含什么关键词的结果。不会跑题。可解释性强。为什么返回这个结果因为它包含了你搜的关键词。清清楚楚。对专有名词、编号、术语这类精确匹配的场景效果特别好。产品型号、订单号、人名地名关键词检索比向量检索准。实现成熟。搜索引擎发展了几十年技术非常成熟。性能稳定成本可控。缺点只能匹配字面。意思一样但说法不一样就搜不到。比如用户搜保修多久文档里写的是质保期限关键词匹配不上。对同义词、近义词、不同表达方式无能为力。必须字面上对得上才行。需要用户会用关键词。用户得知道文档里大概会用什么词才能搜得到。普通用户经常不知道该搜什么关键词。适用场景文档内容比较规范术语统一的场景。用户查询比较明确知道自己要找什么关键词的场景。对精确匹配要求高的场景比如查编号、查代码、查特定名称。向量检索向量检索就是我们前面一直在说的语义检索。把文本转成向量算向量相似度来找最相关的内容。优点懂语义。意思相近就能搜到不用字面上一样。用户问保修多久文档写质保一年也能匹配上。不用用户想关键词。用户用自然语言提问就行不用琢磨该搜什么词。使用门槛低。能处理模糊和复杂的查询。整句整段地搜甚至用一个问题去搜都能找到相关内容。缺点不精确。有时候字面完全不相关的语义上可能被误判为相似。搜出来的结果可能不相关。对专有名词、编号、特定术语的匹配不如关键词检索准。比如产品型号是一串字母数字向量检索可能就认不出来。可解释性差。为什么返回这个结果因为向量相似度高。但为什么相似度高说不太清楚。效果依赖Embedding模型。模型好效果就好模型差效果就差。不同领域可能需要不同的模型。适用场景用户用自然语言提问的场景。比如智能客服、知识库问答。文档表达方式多样同一个意思有很多种说法的场景。需要模糊匹配、语义匹配的场景。混合检索既然关键词检索和向量检索各有优缺点那能不能两个一起用。当然可以。这就是混合检索。混合检索的思路很简单。同一份查询同时用关键词检索和向量检索各返回一批结果。然后把两批结果合并在一起重新排序返回最终的Top K。为什么要这么做。因为两种检索方式是互补的。关键词检索擅长精确匹配向量检索擅长大语义。合在一起既能搜到语义相关的也不会漏掉精确匹配的。实际项目里混合检索的效果通常比单独一种都好。这也是现在RAG系统的主流做法。怎么合并结果两种检索的结果怎么合并有几种方法。最简单的是加权融合。给关键词检索的打分和向量检索的打分各分配一个权重加起来作为最终分数然后排序。权重怎么配要根据你的数据和查询来调。复杂一点的用RRF倒数排名融合。不看具体分数只看排名。每个结果在两个列表里的排名取倒数加起来作为最终的分数。排名越靠前分数越高。RRF的好处是不用考虑两个检索的打分尺度不一样的问题。反正只看排名。效果通常也还不错。最好的方法是用重排序模型。把候选结果都扔给Rerank模型让它重新排一遍序。效果最好就是成本高一些。后面重排序那一篇会专门讲。其他检索方式除了这三种主流的还有一些其他的检索方式。多模态检索。不止搜文本还能搜图片、搜视频。用多模态的Embedding模型把不同模态的内容映射到同一个向量空间里。文字可以搜图片图片也可以搜文字。结构化检索。除了文本内容还可以按元数据来过滤。时间范围、文档类型、作者、分类都可以作为过滤条件。先按元数据缩小范围再做语义检索。大部分向量数据库都支持元数据过滤。HyDE。假设文档嵌入是一种检索增强的技巧。用户提问以后先让大模型生成一个假设的答案然后用这个假设答案去做向量检索。有时候效果比直接用问题检索好。因为答案跟答案之间比问题跟答案之间更像。查询改写。也叫查询扩展。把用户的问题改写一下改得更完整、更规范、更像文档里的表达方式然后再去检索。改写可以是同义改写也可以是扩写还可以分解成多个子问题。这些都是在基础检索之上的优化手段。基础做好了再加上这些效果能再上一个台阶。怎么选说了这么多检索方式到底用哪个。给几个实用的建议。第一个别一上来就搞最复杂的。先用最简单的向量检索跑起来看看效果怎么样。效果够了就不用折腾了。第二个如果发现有很多精确匹配的场景效果不好比如搜产品型号、人名、编号加上关键词检索做混合。第三个如果知识库内容不多比如只有几千条关键词检索可能就够了。向量检索的优势在数据量大的时候才明显。第四个做中文场景一定要注意关键词检索的效果。中文的分词、同义词、术语这些问题比英文复杂。很多时候混合检索比纯向量效果好。第五个效果调优是个迭代的过程。先上基础版本看日志分析bad case针对性地加优化。别一开始就把所有技巧都堆上去出了问题都不知道是哪一步的问题。检索这部分就先讲到这里。检索是RAG的第一步也是很关键的一步。搜准了后面生成才有好的原料。搜不准再强的大模型也答不对。下一篇我们讲重排序。检索回来的结果怎么用Rerank模型再排一遍序把最相关的放到前面。这也是提升效果性价比很高的一步。

相关新闻

科技论文写作方法论:从战略规划到结构优化与学术规范

科技论文写作方法论:从战略规划到结构优化与学术规范

1. 项目概述:从一份“答案”到一套“方法”看到这个标题,很多同学可能会心一笑,或者心头一紧。一份名为“【如何写好科技论文】2024春季雨课堂期末答案”的资料,其表面价值似乎指向一个具体的、功利性的目标——通过某门课程的期末…

2026/10/10 2:56:54 阅读更多 →
腾讯云QClaw实战:AI Agent如何重构小红书内容运营工作流

腾讯云QClaw实战:AI Agent如何重构小红书内容运营工作流

1. 项目概述:当AI运营工具遇上内容创作最近在内容运营圈子里,腾讯云QClaw的讨论度挺高。作为一个长期混迹在小红书、公众号等平台的内容创作者,我对任何号称能“重构流程”的工具都抱有天然的好奇和警惕。毕竟,市面上打着AI旗号的…

2026/10/8 13:47:05 阅读更多 →
排序模型进阶:从Point-wise到List-wise损失函数原理与实战

排序模型进阶:从Point-wise到List-wise损失函数原理与实战

1. 从“点”到“面”:理解排序损失函数的演进脉络 在信息检索和推荐系统的世界里,排序模型的好坏,直接决定了用户能否在浩如烟海的信息中,快速、准确地找到自己想要的东西。我们之前聊过Point-wise和Pair-wise的损失函数&#xff…

2026/10/8 16:45:48 阅读更多 →

最新新闻

AI应用架构设计:图解动态能力组合与落地避坑指南

AI应用架构设计:图解动态能力组合与落地避坑指南

1. 这不是画PPT,是给AI系统搭骨架“图解AI应用架构设计”这六个字,乍看像培训课件标题,实则藏着当前一线AI落地最常踩的深坑——很多人花三个月调出一个98%准确率的模型,上线后却卡在日均处理200条请求就超时;也有人把…

2026/10/11 4:49:23 阅读更多 →
HIL-SERL:通过人机协作强化学习实现精确灵巧的机器人操作

HIL-SERL:通过人机协作强化学习实现精确灵巧的机器人操作

目录 1.仓库核心架构 1.1 整体方法:HIL-SERL 1.2 系统架构 1.3 代码结构 2.复现过程 2.1 硬件 2.2 环境搭建 基于UR5e真机部署的源码 SERL:RL+Vision+Touch实现搜孔和插拔 传统力控搜孔插孔:预先规划好移动的轨迹,这个规划的轨迹会覆盖搜孔区域,实际搜孔的过程中,需要紧贴…

2026/10/11 4:49:23 阅读更多 →
claude-mem:给Claude加装长期记忆,终结AI对话失忆

claude-mem:给Claude加装长期记忆,终结AI对话失忆

先别急着往下看,我问你一个场景:你天天在终端里和 Claude 聊需求、调代码、捋思路,是不是每次新开一个会话,它都像第一次见你一样,把你之前说过的技术栈、项目结构、踩过的坑全忘得干干净净?你只能一遍遍复…

2026/10/11 4:49:23 阅读更多 →
AI导出鸭:解决大模型内容到正式文档的语义转换难题

AI导出鸭:解决大模型内容到正式文档的语义转换难题

1. 为什么“导出”成了AI落地最卡脖子的环节“我让AI写完了一份市场分析初稿,但卡在最后一步——怎么把它变成一份能发给客户的PDF?”“模型输出的内容逻辑很顺,可一粘贴到Word里格式全乱了,标题变正文、列表缩进错位、代码块直接…

2026/10/11 4:49:23 阅读更多 →
研发制造企业SRM选型:项目化管控是隐形刚需

研发制造企业SRM选型:项目化管控是隐形刚需

做企业采购数字化这块时间久了,看系统选型会有个条件反射:一听到对方说“我们要上一套SRM”,我第一反应不是问版本、问价格,而是先弄清楚这家企业是“管采购”还是“管供应链”。如果是研发制造型企业,我会再加一问&am…

2026/10/11 4:49:23 阅读更多 →
动力电池分类全解析:从材料体系到选型原则

动力电池分类全解析:从材料体系到选型原则

目录一、动力电池整体分类维度二、按电化学材料体系分类三、按电芯结构形态分类四、按功率特性分类五、按封装集成层级分类六、国标官方电池分类体系七、消费电池、储能电池、动力电池工况对比八、动力电池选型基本原则九、本节核心知识点小结一、动力电池整体分类维度动力电池…

2026/10/11 4:48:23 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →