创建或更新存储脚本 API

编辑

创建或更新存储脚本 API

编辑

创建或更新 存储脚本搜索模板

resp = client.put_script(
    id="my-stored-script",
    script={
        "lang": "painless",
        "source": "Math.log(_score * 2) + params['my_modifier']"
    },
)
print(resp)
response = client.put_script(
  id: 'my-stored-script',
  body: {
    script: {
      lang: 'painless',
      source: "Math.log(_score * 2) + params['my_modifier']"
    }
  }
)
puts response
const response = await client.putScript({
  id: "my-stored-script",
  script: {
    lang: "painless",
    source: "Math.log(_score * 2) + params['my_modifier']",
  },
});
console.log(response);
PUT _scripts/my-stored-script
{
  "script": {
    "lang": "painless",
    "source": "Math.log(_score * 2) + params['my_modifier']"
  }
}

请求

编辑

PUT _scripts/<script-id>

POST _scripts/<script-id>

PUT _scripts/<script-id>/<context>

POST _scripts/<script-id>/<context>

先决条件

编辑
  • 如果启用了 Elasticsearch 安全功能,则必须拥有 manage 集群权限 才能使用此 API。

路径参数

编辑
<script-id>
(必填,字符串) 存储脚本或搜索模板的标识符。在集群中必须唯一。
<context>
(可选,字符串) 脚本或搜索模板应在其运行的上下文。为了防止错误,API 会立即在此上下文中编译脚本或模板。

查询参数

编辑
context

(可选,字符串) 脚本或搜索模板应在其运行的上下文。为了防止错误,API 会立即在此上下文中编译脚本或模板。

如果同时指定此参数和 <context> 请求路径参数,则 API 使用请求路径参数。

master_timeout
(可选,时间单位) 等待主节点的时间段。如果在超时过期之前主节点不可用,则请求失败并返回错误。默认为 30s。也可以设置为 -1 以指示请求永不超时。
timeout
(可选,时间单位) 在更新集群元数据后,等待集群中所有相关节点响应的时间段。如果在超时过期之前未收到响应,则集群元数据更新仍会应用,但响应会指示它未完全确认。默认为 30s。也可以设置为 -1 以指示请求永不超时。

请求正文

编辑
script

(必填,对象) 包含脚本或搜索模板、其参数及其语言。

script 的属性
lang
(必填,字符串) 脚本语言。对于搜索模板,请使用 mustache
source

(必填,字符串或对象) 对于脚本,包含脚本的字符串。

对于搜索模板,包含搜索模板的对象。该对象支持与 搜索 API 的请求正文相同的参数。还支持 Mustache 变量。请参阅 搜索模板

params
(可选,对象) 脚本或搜索模板的参数。