微信扫码
与创始人交个朋友
我要投稿
畅游当今的信息海洋既是一个奇迹,又是一个迷宫。全文和矢量搜索使我们能够构建搜索体验,使用户能够找到相关的产品、内容等。随着我们对搜索精度和上下文的追求不断发展,出现了一个问题:我们能否平衡全文搜索的词汇灵活性和向量搜索的语义深度?
让我们一起探讨每种解决方案的优缺点,并发现正在重新定义现代搜索和发现体验的协同作用。
全文搜索是指将部分或全部文本查询与数据库中存储的文档进行匹配。与传统的数据库查询相比,全文搜索即使在部分匹配的情况下也能提供结果。它允许为用户构建更灵活的搜索界面,从而使他们能够更快地找到准确的结果。
在实践中,高效的全文搜索解决方案具有对拼写错误、同义词、前缀搜索和模糊匹配的容忍度。这些功能使最终用户即使在可用信息有限的情况下也能找到他们想要的内容。允许搜索不完整的信息可以加快发现速度。
尽管现代 SQL 和 NoSQL 数据库具有一些全文搜索功能,但与以搜索为中心的数据库相比,它们往往存在不足。
矢量搜索是人工智能驱动的搜索方法。它不是查找与文本查询匹配的文档,而是允许查找具有相似语义的文档。这是通过建立大型语言模型(LLM) 提供的文本语义理解来实现的。
大语言模型可以处理数据库记录并生成向量嵌入——文档语义的数字表示。然后将这些嵌入存储在向量数据库中。顾名思义,矢量搜索的工作原理是比较相似的矢量。
通过执行向量比较,向量搜索有效地实现了语义搜索。尽管依赖不同的底层技术,但它也解决了与全文搜索类似的目的:通过改进搜索的发现方面来增强用户的能力。它特别支持多模式搜索——使用非文本输入进行搜索,就像谷歌图片一样。
全文搜索的工作原理是在文档中查找单词。这使得它能够很好地理解用户查询背后的词汇意图。但当它必须处理无法模糊匹配的模糊查询时,它就显得不足了。对文档缺乏语义理解,导致无法理解上下文并进行概括。
总结一下,全文搜索:
另一方面,矢量搜索的工作原理是查找具有相似含义的文档。这使得它能够很好地理解用户查询背后的语义意图。它非常适合理解文档的同义词和描述。它还适用于类似文档的发现。
总结一下,向量搜索:
正如我们所看到的,这两种解决方案都不是完美的。对于给定的用例,它们各自具有明显的优势。他们相辅相成。构建最先进的搜索体验需要结合全文搜索和矢量搜索的优势。
确实,我们可以两者兼得吗?
混合搜索结合了全文搜索和矢量搜索的优点。它建立在全文搜索的可访问性、即输入即搜索体验的基础上,并集成了人工智能搜索支持的增强发现功能。
像 Meilisearch 的混合搜索这样的解决方案可以在不妥协的情况下实现两全其美。这使得开发人员可以使用统一的 API 来进行所有类型的搜索。下面的代码示例演示了此类 API 的用法。
// Hybrid search with Meilisearchconst results = await client.multiSearch({queries: [{ indexUid: 'movies', q: 'batman',hybrid: { embedder: 'default', semanticRatio: 0.5 }
}]
})
此代码使用 Meilisearch 客户端batman在电影索引中搜索查询。它使用混合搜索,通过参数配置hybrid。让我们回顾一下对象中的字段hybrid并看看它们启用了什么。
该embedder字段允许选择哪个嵌入器将处理查询(Meilisearch 允许为给定索引配置多个嵌入器。)
该semanticRatio领域使我们能够平衡语义搜索结果的重要性。较高的值将允许语义空间中距离较远的文档进入最终搜索结果。
该semanticRatio值的工作原理如下:
由于语义搜索总是会返回一些文档,因此保持良好的平衡以保持整体搜索结果的相关性非常重要。下面的演示允许您搜索电影并使用语义比率来查看它如何影响结果。
Elastic Search 引入了带有倒数排名融合 (RRF) 的混合搜索,以结合向量、关键字和语义技术以获得更好的结果。此版本还提高了向量搜索和摄取的性能,响应时间加快了 30% 以上。
Elasticsearch 用户越来越多地使用不同类型信息的搜索检索 — BM25 用于文本,向量搜索用于密集向量。混合搜索技术通常会提供更好的结果:对多个 BIER 数据集进行基准测试显示,结合 BM25 和基于 ELSER 的排名时,相关性有所提高,现在用户甚至可以更轻松地组合所有这些检索方法。使用倒数排名融合 (RRF) 的混合搜索现在允许用户组合来自以下任意组合的搜索:
它开箱即用,无需规范化或配置权重,因此你可以快速、无缝地将向量或语义搜索与 Elastic Learned Sparse Encoder 模型合并到现有搜索体验中。
正如工程师会告诉您的那样,“X 的最佳工具是什么?”的问题。总是:这取决于。就其本身而言,全文搜索和矢量搜索都无法满足构建快速、相关的搜索体验的所有标准。混合搜索将全文搜索的可访问性与人工智能实现的改进发现相结合。
混合搜索是现代搜索方法,将最先进的搜索功能统一到单个 API 后面。这种混合方法将全文搜索与语义搜索相结合,提高了搜索结果的准确性和全面性。它是一种现代、灵活的解决方案,适合当今的搜索用例。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-03-30
2024-05-10
2024-04-26
2024-05-28
2024-04-12
2024-08-13
2024-04-25
2024-05-14
2024-07-18
2024-05-06
2025-01-02
2025-01-02
2025-01-02
2024-12-30
2024-12-30
2024-12-27
2024-12-26
2024-12-26