Процессор set
Устанавливает значение для указанного поля. Если поле уже существует, его значение будет заменено на предоставленное.
Таблица 36. Параметры процессора set
| Имя | Обязательно | По умолчанию | Описание |
|---|---|---|---|
| да | - | Поле для вставки, обновления или изменения. Поддерживает фрагменты шаблонов. |
| да* | - | Значение, которое будет установлено для поля. Поддерживает фрагменты шаблонов. Можно указать только одно из |
| нет | - | Исходное поле, которое будет скопировано в |
| нет |
| Если процессор будет обновлять поля с существующим значением, отличным от null. При установке значения |
| нет |
| Если |
| нет |
| Тип MIME для кодирования |
| нет | - | Описание процессора. Полезно для описания цели процессора или его конфигурации. |
| нет | - | Условное выполнение процессора. См. Условное выполнение процессора. |
| нет |
| Игнорировать ошибки процессора. См. Обработка ошибок конвейера. |
| нет | - | Обработка ошибок процессора. См. Обработка ошибок конвейера. |
| нет | - | Идентификатор процессора. Полезно для отладки и метрик. |
{
"description" : "sets the value of count to 1",
"set": {
"field": "count",
"value": 1
}
} Этот процессор также может использоваться для копирования данных из одного поля в другое. Например:
PUT _ingest/pipeline/set_os
{
"description": "sets the value of host.os.name from the field os",
"processors": [
{
"set": {
"field": "host.os.name",
"value": "{{{os}}}"
}
}
]
}
POST _ingest/pipeline/set_os/_simulate
{
"docs": [
{
"_source": {
"os": "Ubuntu"
}
}
]
} Результат:
{
"docs" : [
{
"doc" : {
"_index" : "_index",
"_type" : "_doc",
"_id" : "_id",
"_source" : {
"host" : {
"os" : {
"name" : "Ubuntu"
}
},
"os" : "Ubuntu"
},
"_ingest" : {
"timestamp" : "2019-03-11T21:54:37.909224Z"
}
}
}
]
} Содержимое поля, включая сложные значения, такие как массивы и объекты, можно скопировать в другое поле, используя copy_from:
PUT _ingest/pipeline/set_bar
{
"description": "sets the value of bar from the field foo",
"processors": [
{
"set": {
"field": "bar",
"copy_from": "foo"
}
}
]
}
POST _ingest/pipeline/set_bar/_simulate
{
"docs": [
{
"_source": {
"foo": ["foo1", "foo2"]
}
}
]
} Результат:
{
"docs" : [
{
"doc" : {
"_index" : "_index",
"_type" : "_doc",
"_id" : "_id",
"_source" : {
"bar": ["foo1", "foo2"],
"foo": ["foo1", "foo2"]
},
"_ingest" : {
"timestamp" : "2020-09-30T12:55:17.742795Z"
}
}
}
]
}
© 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/set-processor.html