--- title: "删除存储脚本" date: 2026-01-18 lastmod: 2026-01-18 description: "删除指定的存储脚本" tags: ["脚本", "删除", "存储脚本"] summary: "从集群中删除指定的存储脚本。 API 格式 # DELETE /_scripts/{id} API 作用 # 该 API 用于从集群中删除存储脚本: 删除指定 ID 的存储脚本 删除后无法在查询、更新等操作中使用该脚本 操作是异步的,立即返回确认响应 API 参数 # 路径参数 # 参数 类型 是否必填 默认值 描述 {id} String 是 - 要删除的存储脚本 ID 查询参数 # 参数 类型 是否必填 默认值 描述 timeout Time 否 请求超时 显式操作超时时间 master_timeout Time 否 主节点超时 连接主节点的超时时间 请求示例 # 删除指定脚本 # DELETE /_scripts/calculate-score 设置超时时间 # DELETE /_scripts/calculate-score?" --- 从集群中删除指定的存储脚本。 ## 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 ``` ## 响应示例 ### 成功响应 ```json { "acknowledged": true } ``` ## 响应字段说明 | 字段 | 类型 | 描述 | |------|------|------| | `acknowledged` | Boolean | 脚本删除是否被集群确认 | ## 验证规则 - 脚本 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`