混合搜索方案选型的首要考量因素
时间:2026-06-07 16:27
搜索方式已经发生了深刻变革。如今,当我们想要获取信息时,自然语言查询在很大程度上取代了过去简单的关键词搜索。你不会再在搜索引擎里输入“秘鲁旅行指南”,而是会直接问一个大语言模型:“我12月去秘鲁玩10天,应该去哪里?帮我做个旅行攻略。” 那么,关键词搜索真的过时了吗?虽然大语言模型和向量搜索的兴起似
搜索方式已经发生了深刻变革。如今,当我们想要获取信息时,自然语言查询在很大程度上取代了过去简单的关键词搜索。你不会再在搜索引擎里输入“秘鲁旅行指南”,而是会直接问一个大语言模型:“我12月去秘鲁玩10天,应该去哪里?帮我做个旅行攻略。”
那么,关键词搜索真的过时了吗?虽然大语言模型和向量搜索的兴起似乎在暗示传统关键词搜索的地位正在下降,但未来的搜索,其实恰恰依赖于将这两种方法有效融合。这正是混合搜索大显身手的地方——它把传统文本搜索的精准度与向量搜索强大的上下文理解能力结合在了一起。向量技术再怎么进步,关键词搜索依然能贡献巨大价值,是满足用户当前期望的关键。
从2022年底,尤其是2023年全年,向量搜索的热度一路攀升。不过,很快大家就发现,单靠向量嵌入是远远不够的。即便嵌入模型在检索任务上的表现越来越好,全文搜索在识别那些不在嵌入模型训练语料中的词汇时,始终是不可或缺的。正因为如此,用户们很快就开始尝试把向量搜索和词汇搜索结合起来,想办法同时利用这两种方法的精确度和上下文感知能力。这个转变很大程度上要归功于检索增强生成这类生成式AI用例的兴起——高质量的检索能力在这些场景中是决定成败的关键。
随着混合搜索从简单的分数组合走向成熟,目前主流的融合技术主要有两种:互惠排名融合和相对分数融合。它们都能在不依赖可直接比较的评分尺度的情况下,合并来自不同检索方法的搜索结果。RRF更看重排名位置,会奖励那些在不同检索方法中都稳定出现在前列的文档。而RSF则直接处理来自不同相关性来源的原始分数,通过归一化来压低异常值的影响,并在比单纯排名更精细的粒度上,有效地对齐不同的检索模式。这两种方法很快就获得了市场的认可,成为了标准配置。
业界意识到必须引入混合搜索能力,而这对于不同类型的玩家来说,挑战也各不相同。
对于以词汇搜索为主的平台,主要的挑战在于如何添加向量搜索功能,并与现有的关键词搜索基础设施实现桥接逻辑。这些厂商明白,只有当两种检索模式都独立强大、可自定义且紧密集成时,混合搜索的真正价值才能体现出来。
另一方面,以向量搜索为主的平台则面临添加词汇搜索的难题。通过传统的倒排索引来实现词汇搜索,往往成本太高——存储方式不同、查询复杂度增加、架构开销也大。因此,许多平台引入了稀疏向量,它表示关键词重要性的方式,与传统词汇搜索中使用的词频统计方法类似。对于以向量为主的数据库来说,稀疏向量是实现快速集成词汇能力的关键,而无需动核心架构。
很快,混合搜索就成了入场券,行业的关注点开始转向提升开发者效率和简化集成。这催生了一个明显的趋势:越来越多的厂商直接在自家平台中内建原生的混合搜索功能。通过提供开箱即用的支持来组合和管理两种搜索类型,快速交付强大搜索体验的能力得到了极大的提升。
当混合搜索成为新的基线后,更复杂的重排序方法也开始涌现。比如交叉编码器、学习排序模型和动态评分画像,它们在系统中扮演着越来越重要的角色,为捕捉用户细微的意图提供了更多选项。这些方法通过更深层次的语义理解来优化结果排序,成为了对混合搜索的有力补充。
在选择如何实现混合搜索时,你现有的技术基础设施是关键的决策因素。如果你使用的是以向量为主的数据库,那么利用其现有的词汇能力,而无需重新架构,通常就足够了。但是,如果对词汇搜索的需求很复杂,那么最佳方案往往是像MongoDB那样,将传统的词汇搜索方案与向量搜索结合起来。传统的词汇搜索(或者说以词汇为主)在关键词搜索上提供了更大的灵活性和自定义空间,与向量搜索结合后,能提供更强大、更精准的混合搜索体验。
索引策略是另一个需要考虑的因素。在设置混合搜索时,你可以选择把关键词数据和向量数据放在不同的索引里,或者合并成一个索引。分开索引能让你更自由地调整每种搜索类型,实现差异化扩展,并尝试不同的评分方式。但代价是复杂度更高——需要管理两条管线,还得对分数进行归一化。而合并索引则更容易管理,避免了重复管线,并且由于两种搜索可以一次完成,速度可能更快。不过,这也会限制灵活性,完全取决于搜索引擎的支持能力,并且关键词和向量搜索的扩展会互相绑定。所以,这本质上是在控制力和简洁性之间做权衡。
以词汇优先的解决方案,其核心都是为关键词检索而构建的倒排索引,向量搜索是后来作为独立组件加入的。这通常导致混合搜索会使用分开的索引。而向量优先的平台从一开始就是为稠密向量搜索设计的,关键词搜索是作为辅助功能加入的。这类平台往往倾向于使用一个统一的索引来处理两种搜索方式,管理起来更简单,但有时关键词搜索的功能会相对不够成熟。
最后,一个关键点是具体实现方式。那些包含混合搜索函数的解决方案,会原生地处理词汇搜索和向量搜索的组合,开发者无需手动实现。这降低了开发复杂度,减少了潜在错误,并确保了结果合并和排序的默认优化。内建函数的支持让整个实现流程变得顺畅,团队可以专注于构建功能,而不是操心基础设施的管理。
总的来说,词汇优先的系统通常能提供更强的关键词处理能力和更大的调优灵活性,而向量优先的系统则能提供更简单、更统一的混合搜索体验。选择哪个,取决于你是更看重控制力和成熟的词汇特性,还是希望管理更便捷、运维开销更低。
当向量搜索兴起时,MongoDB在原有的传统词汇搜索索引基础上,加入了向量搜索索引。这样一来,MongoDB就进化成了一个具有竞争力的向量数据库,为开发者提供了一个统一的架构来构建现代应用。最终,它成了一个企业级的平台,将传统词汇搜索索引和向量搜索索引都整合到了核心数据库中。
最近,MongoDB在MongoDB Atlas中发布了原生的混合搜索函数,并在对MongoDB社区版和MongoDB企业版服务器的公开预览版中开放了这一功能。这是MongoDB集成生态系统的一部分,开发者可以直接获得开箱即用的混合搜索体验,从而提升应用搜索和RAG用例的准确性。
结果是,用户无需为不同的工作负载管理独立的系统,MongoDB的客户能从一个统一的平台获得支持,该平台专为同时支撑业务运营和人工智能驱动的应用场景而设计。随着生成式AI和现代应用的不断发展,MongoDB为各类组织提供了一个灵活、适合AI发展的坚实基础,能够伴随他们持续成长。
来源:https://cloud.tencent.com.cn/developer/article/2683618
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。