什么是 语义搜索?

语义搜索是一种利用学习得到的表示寻找与查询含义相关文档的信息检索方法,通常只是完整流水线的一环,还需结合词法检索、过滤、融合、重排与评测。

快速了解

创建时间概念源自 2000 年代,基于 Transformer 的版本从 2019 年开始
规范文档官方规范

工作原理

检索流水线

先定义语料契约,包括文档身份、Chunk 边界、来源版本、语言、Owner、Tenant、访问策略和删除行为,只编码并索引允许被搜索的字段。查询时规范化请求,应用可信范围约束,召回较宽候选集,再对较小集合重排,并随结果返回来源标识。用于 RAG 时,应分别度量检索质量与最终回答质量。

稠密、词法与混合检索

稠密检索使用查询和文档 Embedding,通常配合 ANN 索引召回改写与概念相关内容;BM25 等词法方法对商品编号、人名、引文、稀有词和代码符号仍很有效。混合检索将两套独立排名合并,常见方式包括 RRF。融合方法与权重必须在目标查询分布上验证,不能假定对所有场景都更好。

过滤与信任边界

相似度不等于授权。Tenant、对象、保留期、地域、敏感级别和新鲜度规则必须来自可信 Metadata,并在结果交给模型或用户前执行。不要让 Embedding 模型根据正文猜测权限。分块和建索引时保留来源与版本,才能把删除、更正、引用和事件调查追溯到权威记录。

重排与分数含义

Bi-Encoder 可预计算文档向量,适合在大语料中高效召回;Cross-Encoder 联合读取 Query-Document Pair,通常只对短名单打分,因为每个候选成本更高。余弦、点积、词法和重排分数尺度不同,它们只是排序信号,不是相关概率或事实支持证明。阈值必须针对选定模型、索引、语料与查询类型校准。

评测与变更控制

标注集应覆盖高频意图、长尾表达、精确标识符、无答案、过期内容和权限边界。用 Recall@K 检查候选覆盖,用 MRR 检查首个相关结果,用 nDCG 衡量分级相关性,同时记录延迟、成本、零结果率、越权和下游答案支持度。Embedding 模型、Chunker、语料、索引参数、过滤、融合或重排器变化后,都要重跑同一套回归。

主要特点

  • 语义感知召回:Embedding 能在没有精确词项重合时找到改写和概念相关内容
  • 互补式检索:关键词搜索对标识符、人名、短语和稀有词仍然重要
  • 显式策略过滤:权限、Tenant、新鲜度与保留规则不能由向量相似度决定
  • 两阶段排序:高效 Retriever 生成候选,更昂贵的 Reranker 优化短名单
  • 索引权衡:ANN 参数需要平衡召回率、延迟、内存与更新成本
  • 实证相关性:用标注查询、错误切片和线上证据选择模型与流水线

常见用途

  1. 为 RAG 回答检索有来源且已授权的 Passage
  2. 将自然语言商品发现与库存和目录过滤结合
  3. 在 Tenant、角色、保留期和新鲜度约束下检索企业知识
  4. 使用领域专家审核的相关性基准完成客服检索与工单路由
  5. 按意图搜索代码,同时保留精确符号和标识符检索

示例

loading...
Loading code...

常见问题

语义搜索等同于向量搜索吗?

不完全等同。向量搜索是查找邻近向量的机制,语义搜索是按含义匹配的检索目标。语义搜索常使用文本 Embedding 和向量搜索,但还需要文档设计、过滤、排序与评测;向量搜索也可以服务于非文本相似性任务。

什么时候应把语义搜索与关键词搜索结合?

当查询同时包含自然语言意图与精确实体、编号、错误码、引文或稀有词时,应测试混合方案。分别生成词法与语义候选,执行可信过滤,再融合排名,并在同一标注集上与两个单独 Retriever 比较。

高余弦相似度是否意味着文档相关?

不意味着。分数取决于 Embedding 模型、归一化、索引和语料,只是相对信号,不是校准后的概率,也不能证明事实支持、权限或新鲜度。应从标注数据拟合阈值,并按查询类型检查错误。

什么时候值得为语义搜索增加 Reranker?

当首阶段召回已经覆盖相关文档,但顶部结果仍有需要联合理解 Query-Document Pair 才能区分的近似项时,Reranker 往往有价值。应在多个候选深度下测量质量增益、模型成本与尾延迟;它无法找回 Retriever 从未召回的文档。

如何评测语义搜索质量?

从代表性查询和人工判断构建版本化相关性集合。用 Recall@K 衡量候选覆盖、MRR 衡量首个相关结果、nDCG 衡量分级排序,并按语言、意图、标识符、新鲜度、权限和无答案场景切片。延迟、成本与下游回答支持度应单独跟踪。

相关术语

相关文章

语义搜索:混合检索、权限控制与评测指南

把语义搜索下沉为可授权、可度量、可迁移的检索系统。本文系统讲解词法与向量召回、RRF 融合、重排、权限过滤、索引迁移、缓存和分层评测,并提供可运行 Python 示例,适合 RAG、企业知识库、商品搜索、代码检索和多语言内容发现等生产场景。重点说明相似度分数边界、ANN 召回损失、跨租户隔离、版本化缓存键,以及如何用影子流量和回放评测完成安全切流。

2026-02-21

向量嵌入工程指南:模型选型、语义检索评测与安全迁移

向量嵌入如何支撑语义搜索和 RAG?本文从向量空间、任务类型、归一化与距离函数讲到模型选型、混合检索、重排、Recall@k 评测、索引容量、权限过滤和双索引迁移,帮助开发者用真实查询集验证 Embedding,而不是依赖排行榜、固定维度或无条件相似度阈值。还覆盖向量版本契约、数据删除、跨租户隔离、近似索引取舍和生产监控。

2026-02-21

RAG 混合检索与重排架构设计:融合、评测与发布门禁

RAG 混合检索不能靠固定 Top-K 和 RRF 参数套模板。本文从 BM25、稠密检索、权限过滤、候选去重、RRF 融合与 Cross-Encoder 重排出发,解释如何建立可追踪的检索契约,按查询切片评测 Recall、MRR、nDCG、答案证据支持度、P95 时延与成本,并通过消融实验、漂移监控和回滚门禁判断混合检索是否真的优于单路基线。

2026-04-03