从集群中删除指定的存储脚本。
API 格式 #
DELETE /_scripts/{id}
API 作用 #
该 API 用于从集群中删除存储脚本:
- 删除指定 ID 的存储脚本
- 删除后无法在查询、更新等操作中使用该脚本
- 操作是异步的,立即返回确认响应
API 参数 #
路径参数 #
| 参数 | 类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
{id} | String | 是 | - | 要删除的存储脚本 ID |
查询参数 #
| 参数 | 类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
timeout | Time | 否 | 请求超时 | 显式操作超时时间 |
master_timeout | Time | 否 | 主节点超时 | 连接主节点的超时时间 |
请求示例 #
删除指定脚本 #
DELETE /_scripts/calculate-score
设置超时时间 #
DELETE /_scripts/calculate-score?timeout=60s
设置主节点超时 #
DELETE /_scripts/calculate-score?master_timeout=50s
响应示例 #
成功响应 #
{
"acknowledged": true
}
响应字段说明 #
| 字段 | 类型 | 描述 |
|---|---|---|
acknowledged | Boolean | 脚本删除是否被集群确认 |
验证规则 #
- 脚本 ID 不能为空
- 脚本 ID 不能包含
#字符 - 如果脚本不存在,API 仍返回
acknowledged: true(不报错)
使用场景 #
- 脚本清理:删除不再使用的旧脚本
- 版本更新:删除旧版本脚本后创建新版本
- 维护管理:定期清理未使用的脚本
注意事项 #
- 不可恢复:删除后无法恢复,请谨慎操作
- 依赖检查:确保没有查询或其他操作正在使用该脚本
- 异步操作:删除操作是异步的,响应返回时可能尚未完全删除
- 无错误响应:脚本不存在时不会报错
相关操作 #
- PUT /_scripts/{id}:创建或更新存储脚本
- GET /_scripts/{id}:查询存储脚本
- GET /_script_context:查询支持的脚本上下文
- GET /_script_language:查询支持的脚本语言
实现文件 #
- REST 处理器:
RestDeleteStoredScriptAction.java - 请求类:
DeleteStoredScriptRequest.java - 响应类:
AcknowledgedResponse.java





