📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

删除一个或多个索引,释放集群资源。

API #

DELETE /{index}
DELETE /*
DELETE /_all

API 的作用 #

该 API 用于删除索引。删除索引会:

  • 删除索引中的所有文档
  • 删除索引的映射和设置
  • 释放索引占用的磁盘空间
  • 释放索引相关的内存资源

警告:删除操作是不可逆的,请谨慎使用!

API 的参数 #

路由参数 #

参数类型是否必填描述
{index}字符串必需要删除的索引名称。支持:单个索引、逗号分隔的多个索引、通配符表达式、_all(所有索引)

Query String 参数 #

参数类型是否必填默认值描述
timeout时间值30s操作超时时间
master_timeout时间值30s连接到主节点的超时时间
expand_wildcards枚举值open通配符展开选项。可选值:openclosedhiddennoneall
ignore_unavailable布尔值false是否忽略不可用的索引
allow_no_indices布尔值false是否允许通配符表达式解析为空索引
ignore_throttled布尔值false是否忽略被限流的索引

示例 #

删除单个索引 #

DELETE /my_index

响应示例:

{
  "acknowledged": true
}

删除多个索引 #

DELETE /index1,index2,index3

使用通配符删除索引 #

DELETE /logs-2026-*

删除所有索引 #

DELETE /_all

DELETE /*

危险操作:删除所有索引会清空整个集群的数据!

包含关闭的索引 #

DELETE /test-*?expand_wildcards=open,closed

忽略不存在的索引 #

DELETE /index1,nonexistent?ignore_unavailable=true

设置超时时间 #

DELETE /my_index?timeout=5m

组合参数使用 #

DELETE /logs-*?expand_wildcards=all&ignore_unavailable=true&master_timeout=1m

expand_wildcards 参数说明 #

描述
open只展开到打开的索引(默认)
closed只展开到关闭的索引
hidden只展开到隐藏的索引
none不展开通配符
all展开到所有索引(打开、关闭、隐藏)

错误处理 #

索引不存在 #

当尝试删除不存在的索引时:

{
  "error": {
    "root_cause": [
      {
        "type": "index_not_found_exception",
        "reason": "no such index [nonexistent]"
      }
    ],
    "type": "index_not_found_exception",
    "reason": "no such index [nonexistent]"
  },
  "status": 404
}

使用 ignore_unavailable=true 可忽略此错误。

索引被锁定 #

当索引被锁定时,删除操作会失败。

注意事项 #

  1. 不可逆操作:删除索引后无法恢复,除非有快照备份
  2. 资源释放:删除索引后,磁盘空间不会立即释放,需要等待段合并
  3. 别名影响:删除索引会同时删除指向该索引的所有别名
  4. 集群状态:删除大量索引可能影响集群性能
  5. 生产环境:建议在生产环境禁用 DELETE /_all 操作