Процессор именования индекса по дате
Цель этого процессора — назначение документов соответствующему индексу по времени на основе поля даты или метки времени в документе с использованием поддержки даты-математики в именах индексов и псевдонимов.
Процессор устанавливает поле метаданных _index со значением выражения для имени индекса по дате-математике, основанном на указанном префиксе имени индекса, поле даты или метки времени в обрабатываемых документах и указанном округления даты.
Сначала этот процессор извлекает дату или метку времени из поля обрабатываемого документа. Дополнительно можно настроить форматирование даты для обработки значения поля в дату. Затем эта дата, указанный префикс имени индекса и указанное округление даты форматируются в выражение для имени индекса по дате-математике. Также здесь дополнительно можно указать форматирование даты для представления даты в выражении имени индекса по дате-математике.
Пример конвейера, который назначает документы месячному индексу, начинающемуся с префикса my-index-, на основе даты в поле date1:
PUT _ingest/pipeline/monthlyindex
{
"description": "monthly date-time index naming",
"processors" : [
{
"date_index_name" : {
"field" : "date1",
"index_name_prefix" : "my-index-",
"date_rounding" : "M"
}
}
]
} Использование этого конвейера для запроса индекса:
PUT /my-index/_doc/1?pipeline=monthlyindex
{
"date1" : "2016-04-25T12:02:01.789Z"
} {
"_index" : "my-index-2016-04-01",
"_type" : "_doc",
"_id" : "1",
"_version" : 1,
"result" : "created",
"_shards" : {
"total" : 2,
"successful" : 1,
"failed" : 0
},
"_seq_no" : 55,
"_primary_term" : 1
} Вышеупомянутый запрос не добавит этот документ в индекс my-index, а в индекс my-index-2016-04-01, так как он был округлён по месяцам. Это происходит потому, что процессор date-index-name заменяет свойство _index документа.
Чтобы увидеть значение даты-математики индекса, предоставленного в фактическом запросе индекса, который привёл к индексированию документа в my-index-2016-04-01, мы можем просмотреть результаты процессора, используя симуляцию запроса.
POST _ingest/pipeline/_simulate
{
"pipeline" :
{
"description": "monthly date-time index naming",
"processors" : [
{
"date_index_name" : {
"field" : "date1",
"index_name_prefix" : "my-index-",
"date_rounding" : "M"
}
}
]
},
"docs": [
{
"_source": {
"date1": "2016-04-25T12:02:01.789Z"
}
}
]
} и результат:
{
"docs" : [
{
"doc" : {
"_id" : "_id",
"_index" : "<my-index-{2016-04-25||/M{yyyy-MM-dd|UTC}}>",
"_type" : "_doc",
"_source" : {
"date1" : "2016-04-25T12:02:01.789Z"
},
"_ingest" : {
"timestamp" : "2016-11-08T19:43:03.850+0000"
}
}
}
]
} Приведённый пример демонстрирует, что _index было установлено в значение <my-index-{2016-04-25||/M{yyyy-MM-dd|UTC}}>. Elasticsearch понимает это как 2016-04-01, как описано в документации по именам индексов по дате-математике
Таблица 11. Параметры именования индексов по дате
| Имя | Обязательно | По умолчанию | Описание |
|---|---|---|---|
| да | - | Поле для извлечения даты или метки времени. |
| нет | - | Префикс имени индекса, добавляемый перед датой. Поддерживает фрагменты шаблонов. |
| да | - | Способ округления даты при формировании имени индекса. Допустимые значения: |
| нет | yyyy-MM-dd'T'HH:mm:ss.SSSXX | Массив ожидаемых форматов даты/метки времени для парсинга в обрабатываемом документе. Может быть шаблоном Java или одним из следующих форматов: ISO8601, UNIX, UNIX_MS или TAI64N. |
| нет | UTC | Часовой пояс для парсинга даты и для преобразования выражений date math index в конкретные имена индексов. |
| нет | ENGLISH | Локаль для парсинга даты из обрабатываемого документа, актуально при парсинге названий месяцев или дней недели. |
| нет | yyyy-MM-dd | Формат, используемый для отображения разобранной даты в имени индекса. Ожидается корректный шаблон Java. Поддерживает фрагменты шаблонов. |
| нет | - | Описание процессора. Полезно для описания цели процессора или его конфигурации. |
| нет | - | Условное выполнение процессора. См. Условное выполнение процессора. |
| нет |
| Игнорирование ошибок процессора. См. Обработка сбоев конвейера. |
| нет | - | Обработка сбоев процессора. См. Обработка сбоев конвейера. |
| нет | - | Идентификатор процессора. Полезен для отладки и метрик. |
© 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/date-index-name-processor.html