导入悬挂索引 API编辑

导入悬挂索引。

请求编辑

POST /_dangling/<index-uuid>?accept_data_loss=true

先决条件编辑

  • 如果启用了 Elasticsearch 安全功能,则必须具有 manage 集群权限 才能使用此 API。

描述编辑

如果 Elasticsearch 遇到当前集群状态中不存在的索引数据,则这些索引被视为悬挂索引。例如,如果您在 Elasticsearch 节点离线时删除了超过 cluster.indices.tombstones.size 个索引,则可能会发生这种情况。

通过引用索引的 UUID 将单个索引导入集群。使用 列出悬挂索引 API 查找索引的 UUID。

路径参数编辑

<index-uuid>
(必需,字符串) 要导入的索引的 UUID,您可以使用 列出悬挂索引 API 找到它。

查询参数编辑

accept_data_loss
(必需,布尔值) 此字段必须设置为 true 才能导入悬挂索引。因为 Elasticsearch 无法知道悬挂索引数据来自哪里,也无法确定哪些分片副本是最新副本,哪些是陈旧副本,所以它无法保证导入的数据代表索引在上次位于集群中的最新状态。
master_timeout
(可选,时间单位) 等待主节点的时间段。如果在超时时间到期之前主节点不可用,则请求失败并返回错误。默认值为 30s。也可以设置为 -1 表示请求永远不会超时。
timeout
(可选,时间单位) 等待响应的时间段。如果在超时时间到期之前未收到响应,则请求失败并返回错误。默认值为 30s

示例编辑

以下示例显示了如何导入悬挂索引

POST /_dangling/zmM4e0JtBkeUjiHD-MihPQ?accept_data_loss=true

API 返回以下响应

{
  "acknowledged" : true
}