删除文档
1.0 版引入
如果您不再需要索引中的文档,可以使用删除文档 API 操作来删除它。
端点
DELETE /<index>/_doc/<_id>
路径参数
| 参数 | 类型 | 描述 | 必需 |
| <index> | 字符串 | 要从中删除的索引。 | 是 |
| <_id> | 字符串 | 要删除文档的 ID。 | 是 |
查询参数
| 参数 | 类型 | 描述 | 必需 |
| if_seq_no | 整数 | 仅当文档的版本号与指定数字匹配时才执行删除操作。 | 否 |
| if_primary_term | 整数 | 仅当文档具有指定的主词时才执行删除操作。 | 否 |
| refresh | 枚举 | 如果为 true,OpenSearch 会刷新分片,使删除操作对搜索结果可用。有效选项为 true、false 和 wait_for,其中 wait_for 告知 OpenSearch 在执行操作前等待刷新。默认为 false。 | 否 |
| 路由 | 字符串 | 用于将操作路由到特定分片的值。 | 否 |
| timeout | 时间 | 等待集群响应的时间。默认为 1m。 | 否 |
| version | 整数 | 要删除的文档版本,必须与文档的最新更新版本匹配。 | 否 |
| version_type | 枚举 | 检索特定类型的文档。可用选项包括 external(如果指定版本号大于文档当前版本,则检索文档)和 external_gte(如果指定版本号大于或等于文档当前版本,则检索文档)。例如,要删除文档版本 3,请使用 /_doc/1?version=3&version_type=external。 | 否 |
| wait_for_active_shards | 字符串 | 在 OpenSearch 处理删除请求之前必须可用的活动分片数量。默认为 1(仅主分片)。设置为 all 或正整数。大于 1 的值需要副本。例如,如果指定值为 3,则索引必须有两个副本分布在另外两个节点上,操作才能成功。 | 否 |
请求示例
DELETE /sample-index1/_doc/1
示例响应
{
"_index": "sample-index1",
"_id": "1",
"_version": 2,
"result": "deleted",
"_shards": {
"total": 2,
"successful": 2,
"failed": 0
},
"_seq_no": 1,
"_primary_term": 15
}
响应正文字段
| 字段 | 描述 |
| _index | 索引的名称。 |
| _id | 文档的 ID。 |
| _version | 文档的版本。 |
| _result | 删除操作的结果。 |
| _shards | 关于集群分片的详细信息。 |
| 总计 | 分片总数。 |
| 成功 | OpenSearch 成功从中删除文档的分片数量。 |
| 失败 | OpenSearch 未能从中删除文档的分片数量。 |
| _seq_no | 文档索引时分配的序列号。 |
| _primary_term | 文档索引时分配的主词。 |