Elasticsearch 文档 API2025年3月17日 | 阅读 8 分钟 正如我们在之前的教程中讨论的那样,Elasticsearch 是一个面向文档的数据库,它以文档的形式存储所有数据。 API 使用 JSON 文档格式来存储数据。 文档 API 是那些在文档级别执行操作的 API。 因此,如果您想在文档级别执行某些操作,则必须使用文档显示。 借助文档 API,您可以很好地做到这一点。 在 Elasticsearch 中,文档 API 分为两类,分别是 单个文档 API 和 多文档 API。 我们将通过示例详细讨论每个 API - 1. 单个文档 API如果您想对单个文档而不是一组文档执行操作,这些 API 很有用。 因此,当您想对单个文档执行操作时,可以使用这些单个文档 API。 单个文档 API 进一步分为四个 API,如下所示 首先,创建一个索引以使用所有这些 API。 使用以下命令 - 复制代码 此处 PUT 是请求方法,student 是索引名称。 响应 ![]() 索引 API
示例 使用以下代码将数据添加到索引中 - 复制代码 这里 POST 是请求方法,_doc 用于文档类型,以将数据添加到索引中。 响应 如果您在响应正文中获得以下输出,则请求正文中提供的数据已成功添加。 查看下面的浏览器屏幕截图 - ![]() 获取 API
示例 在此示例中,我们将使用 GET API 来读取文档。 创建一个新请求并指定索引名称和文档 ID。 它将获取并在响应正文中显示结果。 索引名称 = student 复制代码 选择 GET 方法并将剩余代码附加到请求字符串中。 响应 以下输出将显示在上述请求的响应正文中 - 查看下面的屏幕截图,了解它如何在浏览器上显示 - ![]() 更新 API更新 API 有助于更新现有文档,它使用脚本和版本控制。 它允许传递合并到现有文档中的部分文档。 在发出请求时使用 _update。
示例 Elasticsearch 提供 _update API 和 POST 请求方法来更新文档。 在此示例中,我们将邮政编码从 10029 替换为 94003。 方法:POST 执行以下查询并更新文档。 复制代码 响应 如果您获得相同的输出,则文档已成功更新。 请参阅下面的屏幕截图,了解它在浏览器上的外观 - ![]() 删除 API
示例 我们将使用 DELETE API 来删除存储在索引中的文档。 因此,只需设置 DELETE 请求方法并提供要删除的索引名称和文档 ID。 复制代码 响应 如果您获得以下输出,则文档 02 已成功删除。 查看下面的屏幕截图以查看浏览器上的结果 - ![]() 2. 多文档 API与单个文档 API 不同,您可以使用多文档 API 跨多个文档进行查询。 例如 - 批量删除或更新数据,以及重新索引等。多文档 API 进一步分为五个 API,如下所示 多获取 API
请记住,必须在索引(数据库)中添加三个或四个以上的记录才能执行此操作。 请参阅以下示例 - 复制代码 在这里,我们获取 ID 为 01 和 03 的文档。 响应 您将获得类似以下响应的输出。 查看下面的屏幕截图以查看浏览器上的结果 - ![]() BulkAPIBulk API 有助于批量上传或删除 JSON 对象。 为此,在单个请求中进行多个索引/删除操作。 Bulk API 与 Get API 类似,并提供与它相同的所有其他功能。
以下是一些批量命令的示例 按查询删除 API
示例 执行以下查询并更新索引。 这将删除所有城市 = 纽约的文档。 复制代码 响应 如果您获得相同的输出,则文档已成功删除。 请参阅下面的屏幕截图,以更好地了解请求和响应在浏览器上的外观 - ![]() 如果我们使用 "script": {} 代替 field_name: value(即“city”: “New York”),它将删除学生索引中存在的所有文档。 请求查询将类似于 - 按查询更新 API
示例 在此示例中,我们将所有城市为纽约的文档的邮政编码更新为 29001。 方法:POST 执行以下查询并更新文档。 复制代码 响应 如果您获得相同的输出,则文档已成功更新。 响应将与下面的屏幕截图相同 - ![]() 在这里,您可以看到三个记录已更新,它们与给定的条件匹配。 重新索引 API当我们需要在另一个索引中的文档时,基本上使用此 API。 我们使用 _reindex API 将文档数据从一个索引复制到另一个索引。 借助此 API,我们可以轻松地从一个索引复制文档,并创建其重复副本到另一个索引。 以下是有关重新索引 API 的一些要点
示例 执行以下查询以将文档从一个索引重新索引到另一个索引。 复制代码 响应 如果您获得相同的输出,则文档已成功复制。 请参阅下面的屏幕截图,了解它在浏览器上的外观。 ![]() 因此,使用搜索 API,您可以看到所有文档已复制到新索引,即 new_student。 |
我们请求您订阅我们的新闻通讯以获取最新更新。