什么是混合搜索?

混合搜索定义

混合搜索是一种强大的信息检索策略,它将两种或多种搜索技术结合到一种搜索算法中。

通常,混合搜索结合了关键字搜索和语义搜索,利用了先进的机器学习技术。语义搜索根据文本的含义检索结果,而全文本搜索则侧重于精确的词语匹配。混合搜索对于对话查询以及用户不愿或无法输入精确关键字的“那叫什么?”之类的问题至关重要。

关键字搜索和语义搜索都有其独特的优势。关键字搜索使用排名算法和特定术语来确定文档与搜索查询的相关程度。语义搜索会考虑上下文来处理搜索查询。

混合搜索结合了语义搜索和传统搜索的优势,提高了搜索的精度。混合搜索在兼顾语义理解和精确查询词的同时,可以提供改善用户搜索体验的结果。

混合搜索的工作原理

混合搜索融合了关键字搜索和向量搜索,以提供全面的搜索结果。向量嵌入将数据(如句子或照片)转换为能捕捉其含义和关系的数字。数据被分词、索引并通过数字嵌入来表示。向量搜索可以捕获非结构化数据中的含义。矢量搜索克服了关键字搜索的局限性——允许用户按照他们的意图进行搜索,即使他们无法回忆起精确的描述或确切的关键字。混合搜索可以解析密集和稀疏向量,以获得最相关的结果。

密集向量

密集向量处理语义理解和上下文查询。它们通常用于现代机器学习,尤其是生成嵌入之类的任务。

稀疏向量

稀疏向量处理传统的基于关键字的索引,并且稀疏地填充信息。这些向量通常用于大型数据集。

查询处理

混合搜索中的查询处理使用稀疏向量进行精确的关键字匹配和优先级排序,并使用密集向量进行语义理解,捕捉上下文含义和意图。通过结合这两种类型的向量,混合搜索可以提供兼顾特异性和相关性的综合搜索结果。为了获得结果,混合搜索使用倒数排序融合 (RRF) 将多个结果集(每个结果集具有不同的相关性指标)组合成单个结果集。

使用 RAG 进行混合搜索

检索增强生成 (RAG) 是一种搜索技术,它使用私有或专有数据源来提供补充 LLM 的原始知识库的上下文。RAG 对于查询很有价值,因为它能使生成式 AI 系统能够使用外部信息源来生成更相关的响应。

将混合搜索与 RAG 结合使用,并引入其他数据源,可以通过添加上下文来提高搜索体验的相关性。附加信息源可以是组织或客户回答查询所需的任何内容,从互联网上的新信息到专有或机密的商业文档。

与单独工作的语言模型相比,RAG 具有多种优势。它具有成本效益,所需的计算和存储更少,并确保您的模型能够访问最新信息。

RAG 在行动

使用 Elastic 进行混合搜索

Elastic 通过支持开箱即用的语义搜索,轻松实现混合搜索。借助 Elastic,可以在一个平台、一个 API 上执行混合搜索,并且从一开始就具有更好的相关性、速度和扩展性。

借助 Elastic 的 Playground,开发人员可以在低代码接口中探索使用他们自己的私有数据来选择基础 LLM。

Elastic 通过新引入的查询检索器(标准、kNN 和 RRF)来帮助开发人员简化查询构造。使用这些查询,Elastic 会了解所选的数据并自动生成统一的查询。