Elasticsearch 搜索 API17 Mar 2025 | 6 分钟阅读 Elasticsearch 提供了搜索 API,用于跨索引和所有类型搜索数据。它通过执行搜索查询来帮助在 Elasticsearch 中搜索数据,并返回与查询匹配的搜索结果。此 API 使您能够在 Elasticsearch 中搜索数据。您可以通过两种方式搜索数据 -
看看这两种类型的例子 - 使用 GET 请求 执行以下查询。它将显示 new_student 索引中存在的所有记录。 复制代码 响应 在下面的响应中,您可以看到在执行上述请求后找到了两条记录。 使用 POST 请求 复制代码 响应 响应将类似于 GET 方法请求。查看下面的屏幕截图,了解 elasticsearch 插件中的输出 - ![]() 在上面的屏幕截图中,您可以看到返回了两条记录,与 GET 请求输出相同。 现在,让我们转到搜索 API 的类型,它分为三种类型 多索引是最常用的 API。但是,我们将详细讨论每个搜索 API,并提供示例。在此之前,以下是一些可以在搜索操作中传递的请求参数 -
现在,让我们详细讨论每个 API - 1. 多索引多索引 API 是一种搜索 API,用于在索引中搜索文档。它在某些特定索引或所有索引中搜索所有文档。对于某些特定索引搜索,请指定要执行搜索操作的索引名称,用逗号 (,) 分隔。如果要搜索所有索引,请指定 _all 关键字而不是索引名称。 多索引 API 允许用户一次在两个或多个索引上进行搜索。 例如,我们将使用单个查询搜索两个不同索引(student 和 new_student)中课程为大众传播的所有学生。 方法:GET 执行以下查询并搜索文档。 复制代码 响应 在下面的响应中,您可以看到在执行上述查询后找到了两条记录。 查看下面的屏幕截图,了解如何在 elasticsearch 插件中执行查询 - ![]() 2. 多类型多类型搜索 API 提供了在特定索引中跨所有类型或某些特定类型搜索所有文档的功能。在下面的示例中,我们将执行以下查询以从所有类型的“student”索引中搜索 JSON 文档,其中邮政编码为 30501。 方法: GET 执行以下查询并搜索文档。 复制代码 响应 在下面的响应中,您可以看到 student 索引中有一个 JSON 文档的邮政编码为 30501。 查看下面的屏幕截图,了解如何在 elasticsearch 插件中执行查询 - ![]() 请记住 - 在 elasticsearch 数据库中,查询区分大小写,例如,_search 和 _Search 是不同的。同样,zip 和 Zip 在 elasticsearch 中被不同对待。因此,在创建查询时要小心。 3. URI 搜索URI 搜索是统一资源标识符搜索。它允许我们使用 URI 在搜索操作中传递多个请求参数,以便可以完全执行该请求。每当您使用此模式执行搜索查询时,都不会公开所有搜索选项。但是,它对于 curl 测试很方便。 执行以下查询并在 student 索引中搜索文档。 复制代码 响应 上面的查询将返回 new_student 索引中存在的所有文档。 查看下面的屏幕截图,了解如何在 elasticsearch 插件中执行 URI 搜索操作 - ![]() 按 id 获取多个记录 我们甚至可以通过单个查询请求中的 id 搜索多个文档,以及所有这些搜索操作。为此,我们需要指定我们正在查找的每个文档的 id。 例如 我们将使用 POST API 从索引中检索多个文档。这还不够;我们还需要在请求字符串中附加 _mget 并定义文档 id 查询空间以获取多个记录。 复制代码 在这里,我们获取 id 为 02 和 04 的文档。 响应 您将获得类似以下响应的输出。 |
我们请求您订阅我们的新闻通讯以获取最新更新。