创建或更新存储脚本 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
(可选,对象)脚本或搜索模板的参数。