删除索引 API

编辑

删除一个或多个索引。

resp = client.indices.delete(
    index="my-index-000001",
)
print(resp)
response = client.indices.delete(
  index: 'my-index-000001'
)
puts response
const response = await client.indices.delete({
  index: "my-index-000001",
});
console.log(response);
DELETE /my-index-000001

请求

编辑

DELETE /<index>

先决条件

编辑
  • 如果启用了 Elasticsearch 安全功能,您必须拥有目标索引的 delete_indexmanage 索引权限

描述

编辑

删除索引会删除其文档、分片和元数据。它不会删除相关的 Kibana 组件,例如数据视图、可视化或仪表板。

您不能删除数据流的当前写入索引。要删除索引,您必须 滚动数据流,以便创建新的写入索引。然后,您可以使用删除索引 API 删除之前的写入索引。

路径参数

编辑
<index>

(必需,字符串)要删除的索引的逗号分隔列表。您不能指定 索引别名

默认情况下,此参数不支持通配符(*)或 _all。要使用通配符或 _all,请将 action.destructive_requires_name 集群设置设置为 false

查询参数

编辑
allow_no_indices

(可选,布尔值)如果为 false,则如果任何通配符表达式、索引别名_all 值仅以丢失或关闭的索引为目标,则请求将返回错误。即使请求以其他打开的索引为目标,此行为也适用。例如,如果索引以 foo 开头,但没有索引以 bar 开头,则以 foo*,bar* 为目标的请求将返回错误。

默认为 true

expand_wildcards

(可选,字符串)通配符模式可以匹配的索引类型。如果请求可以定位数据流,则此参数确定通配符表达式是否匹配隐藏的数据流。支持逗号分隔的值,例如 open,hidden。有效值为:

all
匹配任何数据流或索引,包括隐藏的。
open
匹配打开的非隐藏索引。也匹配任何非隐藏数据流。
closed
匹配关闭的非隐藏索引。也匹配任何非隐藏数据流。数据流无法关闭。
hidden
匹配隐藏的数据流和隐藏的索引。必须与 openclosed 或两者组合使用。
none
不接受通配符模式。

默认为 open,closed

ignore_unavailable
(可选,布尔值)如果为 false,则如果请求的目标是丢失或关闭的索引,则返回错误。默认为 false
master_timeout
(可选,时间单位)等待主节点的时间段。如果主节点在超时过期之前不可用,则请求将失败并返回错误。默认为 30s。也可以设置为 -1,表示请求不应超时。
timeout
(可选,时间单位)在更新集群元数据后,等待集群中所有相关节点响应的时间段。如果在超时过期之前未收到响应,则集群元数据更新仍然适用,但响应将表明它未完全确认。默认为 30s。也可以设置为 -1,表示请求不应超时。