Преобразование полезной нагрузки скрипта Watcher
Преобразование полезной нагрузки, которое выполняет скрипт над текущей полезной нагрузкой в контексте выполнения watch и заменяет её новой сгенерированной. Следующий фрагмент показывает, как можно определить простое преобразование полезной нагрузки скрипта на уровне watch:
Преобразование полезной нагрузки script часто полезно в сочетании с преобразованием полезной нагрузки search, где скрипт может извлечь только существенную информацию из результата поиска, тем самым сохраняя полезную нагрузку минимальной. Этого можно достичь с помощью преобразования полезной нагрузки chain.
{
"transform" : {
"script" : "return [ 'time' : ctx.trigger.scheduled_time ]"
}
} | Простой |
Выполняемый скрипт может вернуть допустимую модель, эквивалентную Java™ Map или JSON-объекту (вам необходимо обратиться к документации конкретного языка сценариев, чтобы узнать, что это за конструкция). Любое другое возвращаемое значение будет присвоено и доступно переменной _value.
Атрибут script может содержать строковое значение, в этом случае оно будет обработано как встроенный скрипт, и будут использоваться стандартные языки скриптов Elasticsearch (как описано в Скриптинге). Можно использовать и другие поддерживаемые Elasticsearch языки сценариев. Для этого необходимо установить поле script в объект, описывающий скрипт и его язык. В следующей таблице перечислены возможные параметры настройки:
Таблица 84. Параметры преобразования полезной нагрузки скрипта
| Имя | Обязательно | По умолчанию | Описание |
|---|---|---|---|
| да | - | При использовании встроенного скрипта это поле содержит сам скрипт. |
| да | - | При ссылке на сохранённый скрипт это поле содержит идентификатор скрипта. |
| нет |
| Язык скрипта |
| нет | - | Дополнительные параметры/переменные, доступные скрипту |
При использовании объектной нотации скрипта, должно быть определено одно (и только одно) из полей inline или id.
Помимо предоставленных params, скрипты также имеют доступ к стандартным параметрам контекста выполнения watch.
© 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/transform-script.html