API создания или обновления хранимого скрипта
Создаёт или обновляет хранимый скрипт или шаблон поиска.
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. -
timeout - (Необязательно, единицы времени) Время ожидания ответа. Если ответ не получен до истечения времени ожидания, запрос завершается ошибкой. По умолчанию
30s.
Тело запроса
-
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/7.17/create-stored-script-api.html