前往主页Meilisearch 的标志
返回文章
2025年4月24日

什么是联合搜索:完整指南 [2025]

了解联合搜索的全部内容及其工作原理。查看不同类型、优势、挑战、工具等。

Laurent Cazanove
Laurent Cazanove开发者体验工程师StriftCodes
What is federated search: Complete guide [2025]

联合搜索允许使用单个搜索查询从多个数据源获取信息,这会触发一个引擎,该引擎无缝聚合信息并输出关键结果。

这项技术对经常使用多个数据库和其他存储解决方案并需要一个保证快速统一信息检索的内部搜索引擎的企业很有帮助。

在本文中,我们将更详细地探讨联合搜索的工作原理和应用,重点介绍其优点和潜在挑战。

什么是联合搜索?

联合搜索是一种搜索系统,它使用单个查询同时跨多个索引检索信息,例如数据库、API 和云存储解决方案。

与仅从单个索引中获取最准确文档结果的搜索不同,联合搜索会聚合所有可用来源的信息,并从聚合数据集中输出最相关结果。

这种信息检索机制是 SaaS 应用的关键功能,用户经常需要搜索所有可用资源,无论其类型如何。您可能熟悉的一个例子是 Slack 中的搜索——一个单一的搜索栏可以查找用户、消息和共享文档。

image1.png

联合搜索有哪些好处?

联合搜索为组织在信息检索方面带来了整体效率。这项技术的一些主要优点包括:

  • 跨多个来源搜索:只需一个搜索栏,公司就可以从所有数据源(包括数据库、Google 表格、API 和云解决方案)查询关键信息。
  • 增强用户体验:由于联合搜索只需要一个组件或输入即可获取所有相关数据,因此无需多个菜单或过滤器来增强联合搜索结果。这使得搜索体验和整体界面更加直接。
  • 更相关的结果:系统将查询与聚合数据源的大型数据集进行匹配。因此,引擎将在所有企业数据中查找最相关结果,而不是从单独的来源返回相关结果列表。
  • 查找被遗忘的内容:有时,数据来源如此多样,用户可能难以准确知道他们将会议纪要保存在哪里,或者哪个文件夹有几个月前某人发送的那份优秀简历。联合搜索通过一个单一的搜索输入解决了这个问题,只要使用正确的关键词,就可以获取这些信息,甚至是他们最初没有考虑到的重要项目。
  • 提高生产力:寻找电子邮件、数据库等中正确信息所花费的时间可以大大减少,从而让用户专注于更高效的任务。

联合搜索有哪些不同类型?

联合搜索有四种不同类型。您应根据公司的需求仔细选择。

image2.png

现在我们已经快速回顾了它们的优缺点,接下来让我们分别探讨这些联合搜索类型。

搜索时合并

搜索时合并动态地实时查询多个索引,结合不同数据源的结果。这种方法涉及维护一个单独的索引,而不是统一的索引。

搜索时合并的主要优点是您无需创建一个将所有数据源聚合到一个数据集中的新系统。

此外,您可以依赖不断更新的数据源提供的最新信息。因此,这种搜索类型非常适合实时数据库或实时网络源。

这项技术的主要缺点是其对系统响应时间的依赖性,这会产生延迟,并且返回结果比其他搜索类型慢。

索引时合并

索引时合并在查询发生之前将不同的企业数据源聚合到一个集中式索引中。这种架构使得数据检索更快,因为单个来源提供结果列表。

虽然此方法快速且不需要为每个单独的数据源创建索引,但它可能无法输出最新的企业信息。需要持续同步以保持准确性并缓解此问题。

这种搜索类型对于管理不经常更新且不需要实时信息作为功能的公司来说非常方便。

联合搜索界面

联合搜索界面类似于搜索时合并方法。用户可以通过统一界面从不同系统检索结果,而不是查询集中式索引。

该解决方案的前端层抽象了后端复杂性,并将结果以列表形式呈现,指示其来源。

此界面提供更好的客户体验,允许用户同时查询各种来源。高级功能,如分面搜索和相关性排名,也可以添加到界面中。

这项技术的挑战主要与创建抽象机制的复杂性有关,并且许多网站尚未准备好采用这种设计。

混合联合搜索

混合联合搜索结合了搜索时合并和索引时合并。它采用集中式方法,将数据源聚合到一个索引中,同时单独查询其他索引。

这种双重方法通过使用集中式索引查询不经常更新的信息,同时获取实时数据,从而优化了性能和速度。

系统将来自集中式和其余来源的相关输出统一到一个最终输出列表中。因此,虽然此解决方案比搜索时合并更快,但仍可能导致延迟和性能下降。

联合搜索如何工作?

以下是联合搜索的工作原理细分。

image4.png

查询提交:用户首先在单个搜索栏或界面中输入词语或关键词。此界面隐藏了幕后搜索多个来源的复杂性。

路由:用户输入查询后,搜索工具会识别哪些数据库、API、云服务和其他数据源与此查询相关。识别后,相同的查询会同时发送到所有这些来源。

查询处理:每个目标索引开始搜索。根据搜索类型,可以是集中式索引或多个索引。此选择还会影响响应时间和准确性。

获取相关结果:根据搜索类型,可以从多个数据源获得一个或多个包含最相关结果的列表。

当架构使用多个列表时,合并数据需要更多的预处理步骤。这是由于重复结果和格式问题,例如将 DateTime 元素和字符串转换为数字。

此外,确保最终数据的准确性至关重要,因为每个索引都会根据其信息对相关性进行排序。一个数据源可能将三个结果显示为最相关,而类似结果在另一个更广泛的来源中则排在列表的最后。

最终输出:系统在单个列表中显示最终结果,通常带有标签,显示每个结果的来源。

此外,系统必须优化和维护:添加新索引或简单地优化功能需要更新和维护。

在联合搜索工作流的各个步骤中,关键是在整个过程中保持强大的安全措施,应用预处理功能,并在某些源可能需要更长时间才能交付结果时管理延迟。

联合搜索的常见用例有哪些?

联合搜索可用于各种应用和公司类型。以下是一些最常见的用例。

  • 企业搜索:大型组织可以通过单一输入组件或界面轻松访问其不同的信息数据源(电子邮件、聊天、CRM、云存储和数据库)。这提高了他们在多个部门的生产力。
  • 电子商务和市场:电子商务网站对提供快速准确的信息有很高的标准。因此,联合搜索使这些公司能够实时从产品列表、评论、库存数据等中检索信息,从而确保更好的用户体验并提高客户满意度。
  • 学术和研究门户:研究人员依赖期刊、机构存储库和数据库。这项技术可以为学者提供统一的研究体验,从而加速知识发现。
  • 医疗保健和病历:联合搜索能够即时从患者、医疗记录和医疗数据库中检索相关医疗信息,从而提高诊断准确性和治疗速度。它还通过确保安全和访问控制来支持遵守隐私法规。
  • 政府和法律系统:政府管理着从公共政策到法律案件的广泛记录。联合搜索使得获取法律先例、法规和监管文件变得容易,帮助律师事务所、政策制定者和公共机构做出明智的决策。它还提高了透明度并改善了公民对公共记录的访问。
  • 媒体和出版:记者和内容创作者在多个内容来源(例如档案、新闻通讯社、社交媒体和内部数据库)进行广泛研究。因此,他们需要一个工具来帮助他们更快地查找文章、博客或档案,从而提高生产力。
  • 客户支持和帮助台:支持团队需要从知识库、支持工单和常见问题解答中快速获取答案。您可以使用联合搜索整合这些资源并缩短响应时间,这既提高了客户满意度又降低了运营成本。

根据应用场景,您应该仔细考虑合适的联合搜索类型。例如,电子商务公司需要实时数据,而政府和法律系统可能需要快速检索信息。因此,前者可以利用混合系统,而后者可以使用统一索引方法。

联合搜索面临哪些挑战?

在联合搜索过程中会出现几个挑战。主要的有:

  • 数据结构:不同的索引有不同的数据源,例如文本文件、JSON、CSV 和数据库。因此,您必须考虑预处理步骤和自然语言处理 (NLP) 技术,以合并来自不同结构的数据并理解其相关性。
  • 结果排序和评分:索引使用数学函数(如余弦相似度,常用于机器学习 (ML))输出相关结果。较小的数据集可能返回不太准确的结果。当与更广泛的数据源合并时,需要额外的预处理步骤以避免噪声和不相关的结果。
  • 语言细微差别:跨国公司通常在不同国家设有部门,使用其母语。查询索引(主要以特定方言编写)必须翻译成统一的语言以生成最终结果。
  • 查询鲁棒性:搜索引擎并非总能识别引号或连字符等特殊字符来细化查询。
  • 可用性和超时:提供实时数据的联合搜索引擎在用户提交查询后可能需要比预期更长的时间才能响应。这会增加跳出率,并降低用户再次访问网站的倾向。
  • 数据管道:数据管道的效率和质量是确保所有索引无缝连接以及数据预处理步骤无错应用的关键。因此,这些管道可能会变得非常健壮,需要第三方进行监控和安全保障。

一支优秀的专家团队是创建强大的联合搜索引擎的关键,它能确保不同来源之间的无缝连接、安全性、高性能和易用性。

联合搜索如何改善开发者体验

实施联合搜索可以简化搜索实现过程。通过联合搜索,结果以统一列表形式交付,简化了前端开发。这超越了多索引搜索,因为它无需额外的前端逻辑实现来合并、排序和分页结果。

在此设置中,借助粒度化的、按索引配置,可以进一步微调文档的相关性。这允许根据特定数据类型(特定索引)而不是整个数据集(所有索引)调整相关性设置。当联合搜索请求进入时,搜索引擎可以确保最相关的信息排在最前面。

如果需要包含新类型的文档,联合搜索也简化了搜索功能的扩展。您无需重新审视整个数据集的相关性,只需专注于配置新文档类型的相关性设置。

联合搜索工具有哪些例子?

Meilisearch

image7.png

来源:Meilisearch

如果您需要速度和易用性,我们的平台非常棒。您可以通过 Meilisearch 云或 API 提交不同格式的数据,并轻松地将混合搜索和其他搜索功能集成到您的企业基础设施中。所有这些都得到了详尽文档和强大客户支持的支持。

最适合:由于其数据检索性能和速度,它最适合管理各种数据源且需要容错的企业,以及教育软件公司。

使用 Meilisearch 轻松实现联合搜索

如果您需要速度并管理大量数据源,Meilisearch 是实现联合搜索的最佳方式。

免费开始!

Qatalog

image6.png

来源:G2

该解决方案无需创建索引即可访问数据源。一些连接器包括 SharePoint、Google Drive、Salesforce、Zendesk、BigQuery 和 Snowflake。无索引功能有助于减少延迟并返回实时数据。

最适合:适用于需要零或几乎零延迟的实时数据的电子商务网站和企业。

Hyland

image8.png

来源:G2

该工具具有多种集成功能,并允许创建图像索引。它还引入了机密信息检测器,以保护公司免受信息泄露。

最适合:企业搜索和通常依赖大量图像数据库的医疗保健公司。

Gosearch

image10.png

来源:G2

该工具提供了一个易于实现的统一企业搜索解决方案,该方案快速且通过生成式 AI 聊天机器人得到增强。它还附带了多个集成,例如 Zendesk、Slack、OneDrive、Jira 等。

最适合:由于其在搜索引擎中的快速实施和聊天机器人集成,适用于 IT 团队和人力资源部门。

常见问题 (FAQs)

关于联合搜索的一些最常见问题如下:

联合搜索与统一搜索有何区别?

统一搜索是联合搜索的一个子类型,它使用集中式预构建索引。它提供更快的结果,但缺乏实时数据。其他类型的联合搜索,如混合搜索和搜索时合并,使用多个索引,由于某些数据源的延迟,这会使它们变慢,但它们可以提供实时结果。

联合搜索系统的关键组成部分是什么?

联合搜索系统需要一个用户友好的界面,允许用户输入查询。系统将此查询发送到一个或多个索引。当涉及多个索引时,每个索引都使用其排名机制对最相关结果进行排序。系统使用强大的数据管道来处理语法、各种语言、格式和其他数据处理要求。最后,安全性是确保数据保护的关键。

联合搜索的缺点是什么?

该系统设置起来可能很耗时,并且需要不断优化。多位专家参与创建无缝的用户界面,该界面提供速度和性能,同时抽象所有后端步骤,包括数据清理、应用强大的安全措施以及确保向用户显示最相关结果。

有哪些开源联合搜索解决方案?

一些开源联合搜索解决方案提供了系统骨干的清晰视图,并允许通过其 API 进行无缝集成。例如,Meilisearch 提供了详尽的文档,支持多种编程语言(Java、PHP、Python、JavaScript 等)。其他如 Milvus 和 OpenSearch 也将其代码开源在 GitHub 上。

使用联合搜索摆脱混乱

联合搜索能够对搜索引擎的多个索引执行搜索,并返回一个单一的、合并的结果列表。借助支持联合搜索的搜索引擎,开发者可以构建更相关的用户搜索体验,而无需增加额外的复杂性。

总的来说,该工具提高了公司内部多个部门的生产力并降低了成本,同时增强了客户支持和用户体验。

联合搜索在 Meilisearch 1.10 及更高版本中可用。文档解释了如何使用 Meilisearch 实现联合搜索。

体验 Meilisearch 联合搜索的强大影响

Meilisearch 是一款对开发者友好的联合搜索解决方案,可在 50 毫秒内提供结果,同时提供 SOC2 合规性、端到端加密和高级租户隔离。

How to build a search engine in PHP: Step-by-step guide

如何在 PHP 中构建搜索引擎:分步指南

通过这篇实用的分步教程,了解如何在 PHP 中轻松构建搜索引擎。

Ilia Markov
Ilia Markov2025年6月5日
Building a JavaScript Search Engine: Tutorial, Examples & More

构建 JavaScript 搜索引擎:教程、示例及更多

通过这篇实用的分步教程,了解如何在 JavaScript 中轻松构建搜索引擎。

Ilia Markov
Ilia Markov2025年6月3日
How to Make a Search Engine in Python: Step-by-Step Tutorial

如何在 Python 中创建搜索引擎:分步教程

通过这份详细的分步教程,了解如何在 Python 中轻松创建搜索引擎。

Ilia Markov
Ilia Markov2025年5月29日