本文定义了多搜索(multi-search)和联邦搜索(federated search),并分别描述了它们的不同用途。

什么是多搜索?

多搜索,也称为多索引搜索,是一种同时执行多个查询的搜索操作。这些查询可以针对不同的索引。Meilisearch 会为每个查询返回独立的搜索结果列表。使用 /multi-search 路由来执行多搜索。

多搜索适用于探索性场景,当用户可能不清楚自己需要什么,并且搜索可能有许多有效结果时特别有用。

什么是联邦搜索?

联邦搜索是多索引搜索的一种类型。这种操作也会同时执行多个搜索请求,但会返回一个合并了所有查询中最相关结果的单一列表。使用 /multi-search 路由并指定 federation 为非空值来执行联邦搜索。

联邦搜索更适合用户明确知道自己需要什么,并期望得到单一最佳结果的场景。

使用场景

由于多搜索按查询分组结果,当文档来源和类型包含对用户相关的信息时,它通常很有用。例如,在音乐流媒体应用中搜索 shygirl 的人,可能会希望看到匹配的艺术家、专辑和单曲分开显示的结果。

当信息来源对用户不重要时,联邦搜索是更好的选择。例如,在 CRM 应用中搜索客户电子邮件的人,不太关心这个邮件是来自聊天记录、支持工单还是其他数据源。