Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Guide [8.17] ›REST API ›API сценариев

API создания или обновления хранимого сценария

Справочник по новым API

Для получения самых последних данных об 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
(Необязательный, объект) Параметры сценария или шаблона поиска.

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/create-stored-script-api.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API