
S3·检索与Agent
语义搜索(Semantic Search)
语义搜索不再依赖关键词匹配,而是理解查询的"意思"——搜"怎么让猫不挠沙发"能找到标题为"宠物行为矫正指南"的文章。

① 一句话定义
语义搜索(Semantic Search)是一种基于语义理解而非关键词匹配的搜索方式。它把查询和文档都转成向量,通过向量相似度来排序——"猫不挠沙发"和"宠物行为矫正"在关键词层面毫无关系,但在语义空间中距离很近。
② 为什么重要
传统关键词搜索有三个致命缺陷:①同义词盲区(搜"AI"找不到"人工智能");②意图盲区(搜"怎么让猫不挠沙发"→关键词匹配只找包含"猫""挠""沙发"的文档,可能漏掉"宠物行为矫正指南");③排序只看词频而非语义相关性。语义搜索通过 Embedding 解决了这三个问题,它是 RAG 检索环节的核心引擎。
③ 核心机制
语义搜索的流程:所有文档事先通过 Embedding 模型转成向量存入向量数据库。用户查询也转成向量→在向量数据库中搜索最相似的Top-K→返回结果。关键指标是召回率(Recall@K)——相关信息被检索到的比例。语义搜索的弱项是精确匹配(如搜产品型号"XPS-15-9520"时,关键词搜索可能更准)。
⑤ 常见误区
误区:语义搜索能完全替代关键词搜索——不能。精确ID/型号/人名搜索时,关键词仍然更准确。这也是为什么混合检索(Hybrid Search = 语义+关键词)是生产环境标配。语义搜索和关键词搜索各有优势场景,结合使用效果最优。
「语义搜索让机器理解"你在找什么"而不仅是"你打了什么字"——它是从信息检索到知识检索的关键跃迁。
」