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

从集群中删除指定的存储脚本。

API 格式 #

DELETE /_scripts/{id}

API 作用 #

该 API 用于从集群中删除存储脚本:

  • 删除指定 ID 的存储脚本
  • 删除后无法在查询、更新等操作中使用该脚本
  • 操作是异步的,立即返回确认响应

API 参数 #

路径参数 #

参数类型是否必填默认值描述
{id}String-要删除的存储脚本 ID

查询参数 #

参数类型是否必填默认值描述
timeoutTime请求超时显式操作超时时间
master_timeoutTime主节点超时连接主节点的超时时间

请求示例 #

删除指定脚本 #

DELETE /_scripts/calculate-score

设置超时时间 #

DELETE /_scripts/calculate-score?timeout=60s

设置主节点超时 #

DELETE /_scripts/calculate-score?master_timeout=50s

响应示例 #

成功响应 #

{
  "acknowledged": true
}

响应字段说明 #

字段类型描述
acknowledgedBoolean脚本删除是否被集群确认

验证规则 #

  • 脚本 ID 不能为空
  • 脚本 ID 不能包含 # 字符
  • 如果脚本不存在,API 仍返回 acknowledged: true(不报错)

使用场景 #

  1. 脚本清理:删除不再使用的旧脚本
  2. 版本更新:删除旧版本脚本后创建新版本
  3. 维护管理:定期清理未使用的脚本

注意事项 #

  1. 不可恢复:删除后无法恢复,请谨慎操作
  2. 依赖检查:确保没有查询或其他操作正在使用该脚本
  3. 异步操作:删除操作是异步的,响应返回时可能尚未完全删除
  4. 无错误响应:脚本不存在时不会报错

相关操作 #

  • PUT /_scripts/{id}:创建或更新存储脚本
  • GET /_scripts/{id}:查询存储脚本
  • GET /_script_context:查询支持的脚本上下文
  • GET /_script_language:查询支持的脚本语言

实现文件 #

  • REST 处理器RestDeleteStoredScriptAction.java
  • 请求类DeleteStoredScriptRequest.java
  • 响应类AcknowledgedResponse.java