创建或更新存储的脚本 API

编辑

创建或更新存储的脚本 API编辑

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

response = client.put_script(
  id: 'my-stored-script',
  body: {
    script: {
      lang: 'painless',
      source: "Math.log(_score * 2) + params['my_modifier']"
    }
  }
)
puts 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

请求正文编辑

script

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

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

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

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

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