导入悬挂索引 API
编辑导入悬挂索引 API
编辑导入一个悬挂索引。
请求
编辑resp = client.dangling_indices.import_dangling_index( index_uuid="<index-uuid>", accept_data_loss=True, ) print(resp)
const response = await client.danglingIndices.importDanglingIndex({ index_uuid: "<index-uuid>", accept_data_loss: "true", }); console.log(response);
POST /_dangling/<index-uuid>?accept_data_loss=true
描述
编辑如果 Elasticsearch 遇到当前集群状态中不存在的索引数据,则这些索引被认为是悬挂的。例如,如果在 Elasticsearch 节点脱机时删除的索引超过 cluster.indices.tombstones.size
个,则可能发生这种情况。
通过引用其 UUID 将单个索引导入到集群中。使用 列出悬挂索引 API 来查找索引的 UUID。
路径参数
编辑-
<index-uuid>
- (必需,字符串) 要导入的索引的 UUID,您可以使用 列出悬挂索引 API 找到它。
查询参数
编辑-
accept_data_loss
- (必需,布尔值) 此字段必须设置为
true
才能导入悬挂索引。因为 Elasticsearch 无法知道悬挂索引数据来自哪里,也无法确定哪些分片副本是新的,哪些是陈旧的,所以它无法保证导入的数据表示索引上次在集群中的最新状态。 -
master_timeout
- (可选,时间单位) 等待主节点的时间。如果主节点在超时过期之前不可用,则请求失败并返回错误。默认为
30s
。也可以设置为-1
表示请求永远不应超时。 -
timeout
- (可选,时间单位) 在更新集群元数据后,等待来自集群中所有相关节点的响应的时间。如果在超时过期之前没有收到响应,则集群元数据更新仍然适用,但响应将指示它未完全确认。默认为
30s
。也可以设置为-1
表示请求永远不应超时。
示例
编辑以下示例演示如何导入悬挂索引
resp = client.dangling_indices.import_dangling_index( index_uuid="zmM4e0JtBkeUjiHD-MihPQ", accept_data_loss=True, ) print(resp)
const response = await client.danglingIndices.importDanglingIndex({ index_uuid: "zmM4e0JtBkeUjiHD-MihPQ", accept_data_loss: "true", }); console.log(response);
POST /_dangling/zmM4e0JtBkeUjiHD-MihPQ?accept_data_loss=true
API 返回以下响应
{ "acknowledged" : true }