Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Guide [8.17] ›Ingest pipelines ›Ingest processor reference

Процессор дат

Парсит даты из полей и затем использует дату или временную метку в качестве временной метки документа. По умолчанию процессор дат добавляет разобранную дату в новое поле под названием @timestamp. Можно указать другое поле, задав параметр конфигурации target_field. Поддерживаются несколько форматов дат в рамках одного определения процессора дат. Они будут использоваться последовательно для попытки разбора поля даты в том же порядке, в котором они были определены в рамках определения процессора.

Таблица 11. Параметры дат

Имя Обязательно По умолчанию Описание

field

да

-

Поле, из которого нужно получить дату.

target_field

нет

@timestamp

Поле, которое будет содержать разобранную дату.

formats

да

-

Массив ожидаемых форматов дат. Может быть шаблоном Java времени или одним из следующих форматов: ISO8601, UNIX, UNIX_MS или TAI64N.

timezone

нет

UTC

Часовой пояс, который нужно использовать при разборе даты. Поддерживает фрагменты шаблонов.

locale

нет

ENGLISH

Регион, который нужно использовать при разборе даты, актуален при разборе названий месяцев или дней недели. Поддерживает фрагменты шаблонов.

output_format

нет

yyyy-MM-dd'T'HH:mm:ss.SSSXXX

Формат, который нужно использовать при записи даты в target_field. Должен быть допустимым шаблоном Java времени.

description

нет

-

Описание процессора. Полезно для описания цели процессора или его конфигурации.

if

нет

-

Условно выполнить процессор. См. Условное выполнение процессора.

ignore_failure

нет

false

Игнорировать ошибки для процессора. См. Обработка ошибок конвейера.

on_failure

нет

-

Обрабатывать ошибки для процессора. См. Обработка ошибок конвейера.

tag

нет

-

Идентификатор процессора. Полезен для отладки и метрик.

Вот пример, который добавляет разобранную дату в поле timestamp на основе поля initial_date:

{
  "description" : "...",
  "processors" : [
    {
      "date" : {
        "field" : "initial_date",
        "target_field" : "timestamp",
        "formats" : ["dd/MM/yyyy HH:mm:ss"],
        "timezone" : "Europe/Amsterdam"
      }
    }
  ]
}

Параметры процессора timezone и locale являются шаблонными. Это означает, что их значения можно извлечь из полей в документах. Приведенный ниже пример показывает, как извлечь сведения о формате даты/часовом поясе из существующих полей, my_timezone и my_locale, в документе, содержащем значения часового пояса и региона.

{
  "description" : "...",
  "processors" : [
    {
      "date" : {
        "field" : "initial_date",
        "target_field" : "timestamp",
        "formats" : ["ISO8601"],
        "timezone" : "{{{my_timezone}}}",
        "locale" : "{{{my_locale}}}"
      }
    }
  ]
}

Текстовые строки, принимаемые текстовыми форматами дат и расчёты для дат недели, зависят от версии JDK, на которой работает Elasticsearch. Для получения дополнительной информации см. настраиваемые форматы дат.

© 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/date-processor.html

Spec-Zone.ru

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