Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›Отображение ›Параметры отображения

Формат

В JSON-документах даты представлены в виде строк. Elasticsearch использует набор предварительно настроенных форматов для распознавания и парсинга этих строк в длинное значение, представляющее миллисекунды с начала эпохи в UTC.

Помимо встроенных форматов, можно указать собственные пользовательские форматы с помощью знакомого yyyy/MM/dd синтаксиса:

PUT my-index-000001
{
  "mappings": {
    "properties": {
      "date": {
        "type":   "date",
        "format": "yyyy-MM-dd"
      }
    }
  }
}

Многие API, поддерживающие значения дат, также поддерживают выражения математики дат, такие как now-1m/d — текущее время, минус один месяц, округленное вниз до ближайшего дня.

Пользовательские форматы дат

Поддерживаются полностью настраиваемые форматы дат. Синтаксис для них объяснён в документации DateTimeFormatter.

Встроенные форматы

Большинство из нижеперечисленных форматов имеют strict сопутствующий формат, что означает, что части года, месяца и дня недели должны использовать соответственно 4, 2 и 2 цифры точно, потенциально дополняя нулями. Например, дата, подобная 5/11/1, будет считаться недопустимой и должна быть переписана как 2005/11/01, чтобы быть принятой анализатором дат.

Чтобы использовать их, вам необходимо добавить strict_ к имени формата даты, например strict_date_optional_time вместо date_optional_time.

Эти строгие форматы дат особенно полезны при динамическом отображении полей дат, чтобы убедиться, что случайно не отображаются не относящиеся к датам строки.

В следующих таблицах перечислены все поддерживаемые стандартные ISO-форматы:

epoch_millis
Форматировщик для числа миллисекунд с момента эпохи. Обратите внимание, что эта метка времени ограничена пределами Java Long.MIN_VALUE и Long.MAX_VALUE.
epoch_second
Форматировщик для числа секунд с момента эпохи. Обратите внимание, что эта метка времени ограничена пределами Java Long.MIN_VALUE и Long. MAX_VALUE, разделённых на 1000 (число миллисекунд в секунде).
date_optional_time или strict_date_optional_time

Универсальный парсер ISO-форматированных дат и времени, где дата должна включать минимум год, а время (разделенное T), необязательно. Примеры: yyyy-MM-dd'T'HH:mm:ss.SSSZ или yyyy-MM-dd.

NOTE: When using `date_optional_time`, the parsing is lenient and will attempt to parse
numbers as a year (e.g. `292278994` will be parsed as a year). This can lead to unexpected results
when paired with a numeric focused format like `epoch_second` and `epoch_millis`.
It is recommended you use `strict_date_optional_time` when pairing with a numeric focused format.
strict_date_optional_time_nanos
Универсальный парсер ISO-форматированных дат и времени, где дата должна включать минимум год, а время (разделенное T), необязательно. Часть дроби секунды имеет разрешение в наносекунды. Примеры: yyyy-MM-dd'T'HH:mm:ss.SSSSSSZ или yyyy-MM-dd.
basic_date
Базовый форматировщик для полной даты в формате четырехзначный год, двухзначный месяц и двухзначный день: yyyyMMdd.
basic_date_time
Базовый форматировщик, который объединяет базовую дату и время, разделённые T: yyyyMMdd'T'HHmmss.SSSZ.
basic_date_time_no_millis
Базовый форматировщик, который объединяет базовую дату и время без миллисекунд, разделённые T: yyyyMMdd'T'HHmmssZ.
basic_ordinal_date
Форматировщик для полной порядковой даты, используя четырёхзначный год и трёхзначный день года: yyyyDDD.
basic_ordinal_date_time
Форматировщик для полной порядковой даты и времени, используя четырёхзначный год и трёхзначный день года: yyyyDDD'T'HHmmss.SSSZ.
basic_ordinal_date_time_no_millis
Форматировщик для полной порядковой даты и времени без миллисекунд, используя четырёхзначный год и трёхзначный день года: yyyyDDD'T'HHmmssZ.
basic_time
Базовый форматировщик для двухзначного часа, двухзначных минут, двухзначных секунд, трёхзначных миллисекунд и смещения часового пояса: HHmmss.SSSZ.
basic_time_no_millis
Базовый форматировщик для двухзначного часа, двухзначных минут, двухзначных секунд и смещения часового пояса: HHmmssZ.
basic_t_time
Базовый форматировщик для двухзначного часа, двухзначных минут, двухзначных секунд, трёхзначных миллисекунд и смещения часового пояса, префикс T: 'T'HHmmss.SSSZ.
basic_t_time_no_millis
Базовый форматировщик для двухзначного часа, двухзначных минут, двухзначных секунд и смещения часового пояса, префикс T: 'T'HHmmssZ.
basic_week_date или strict_basic_week_date
Базовый форматировщик для полной даты как четырёхзначный номер года, двухзначный номер недели в году и однозначный номер дня недели: xxxx'W'wwe.
basic_week_date_time или strict_basic_week_date_time
Базовый форматировщик, объединяющий базовую дату и время, разделённые T: xxxx'W'wwe'T'HHmmss.SSSZ.
basic_week_date_time_no_millis или strict_basic_week_date_time_no_millis
Базовый форматировщик, объединяющий базовую дату и время без миллисекунд, разделённые T: xxxx'W'wwe'T'HHmmssZ.
date или strict_date
Форматировщик для полной даты в формате четырехзначный год, двухзначный месяц и двухзначный день: yyyy-MM-dd.
date_hour или strict_date_hour
Форматировщик, объединяющий полную дату и двухзначный час: yyyy-MM-dd'T'HH.
date_hour_minute или strict_date_hour_minute
Форматировщик, объединяющий полную дату, двухзначный час и двухзначные минуты: yyyy-MM-dd'T'HH:mm.
date_hour_minute_second или strict_date_hour_minute_second
Форматировщик, объединяющий полную дату, двухзначный час, двухзначные минуты и двухзначные секунды: yyyy-MM-dd'T'HH:mm:ss.
date_hour_minute_second_fraction или strict_date_hour_minute_second_fraction
Форматировщик, объединяющий полную дату, двухзначный час, двухзначные минуты, двухзначные секунды и трёхзначную дробную часть секунды: yyyy-MM-dd'T'HH:mm:ss.SSS.
date_hour_minute_second_millis или strict_date_hour_minute_second_millis
Форматировщик, объединяющий полную дату, двухзначный час, двухзначные минуты, двухзначные секунды и трёхзначную дробную часть секунды: yyyy-MM-dd'T'HH:mm:ss.SSS.
date_time или strict_date_time
Форматировщик, объединяющий полную дату и время, разделённые T: yyyy-MM-dd'T'HH:mm:ss.SSSZ.
date_time_no_millis или strict_date_time_no_millis
Форматировщик, объединяющий полную дату и время без миллисекунд, разделённые T: yyyy-MM-dd'T'HH:mm:ssZ.
hour или strict_hour
Форматировщик для двухзначного часа: HH
hour_minute или strict_hour_minute
Форматировщик для двухзначного часа и двухзначных минут: HH:mm.
hour_minute_second или strict_hour_minute_second
Форматировщик для двухзначного часа, двухзначных минут и двухзначных секунд: HH:mm:ss.
hour_minute_second_fraction или strict_hour_minute_second_fraction
Форматировщик для двухзначного часа, двухзначных минут, двухзначных секунд и трёхзначной дроби секунды: HH:mm:ss.SSS.
hour_minute_second_millis или strict_hour_minute_second_millis
Форматировщик для двухзначного часа, двухзначных минут, двухзначных секунд и трёхзначной дроби секунды: HH:mm:ss.SSS.
ordinal_date или strict_ordinal_date
Форматировщик для полной порядковой даты, используя четырёхзначный год и трёхзначный день года: yyyy-DDD.
ordinal_date_time или strict_ordinal_date_time
Форматировщик для полной порядковой даты и времени, используя четырёхзначный год и трёхзначный день года: yyyy-DDD'T'HH:mm:ss.SSSZ.
ordinal_date_time_no_millis или strict_ordinal_date_time_no_millis
Форматировщик для полной порядковой даты и времени без миллисекунд, используя четырёхзначный год и трёхзначный день года: yyyy-DDD'T'HH:mm:ssZ.
time или strict_time
Форматировщик для двухзначного часа, двухзначных минут, двухзначных секунд, трёхзначной дроби секунды и смещения часового пояса: HH:mm:ss.SSSZ.
time_no_millis или strict_time_no_millis
Форматировщик для двухзначного часа, двухзначных минут, двухзначных секунд и смещения часового пояса: HH:mm:ssZ.
t_time или strict_t_time
Форматировщик для двухзначного часа, двухзначных минут, двухзначных секунд, трёхзначной дроби секунды и смещения часового пояса, префикс T: 'T'HH:mm:ss.SSSZ.
t_time_no_millis или strict_t_time_no_millis
Форматировщик для двухзначного часа, двухзначных минут, двухзначных секунд и смещения часового пояса, префикс T: 'T'HH:mm:ssZ.
week_date или strict_week_date
Форматировщик для полной даты как четырёхзначный номер года, двухзначный номер недели в году и однозначный номер дня недели: xxxx-'W'ww-e.
week_date_time или strict_week_date_time
Форматировщик, объединяющий полную дату и время недели, разделённые T: xxxx-'W'ww-e'T'HH:mm:ss.SSSZ.
week_date_time_no_millis или strict_week_date_time_no_millis
Форматировщик, объединяющий полную дату и время недели без миллисекунд, разделённые T: xxxx-'W'ww-e'T'HH:mm:ssZ.
weekyear или strict_weekyear
Форматировщик для четырёхзначного номера года: xxxx.
weekyear_week или strict_weekyear_week
Форматировщик для четырёхзначного номера года и двухзначного номера недели в году: xxxx-'W'ww.
weekyear_week_day или strict_weekyear_week_day
Форматировщик для четырёхзначного номера года, двухзначного номера недели в году и однозначного номера дня недели: xxxx-'W'ww-e.
year или strict_year
Форматировщик для четырёхзначного года: yyyy.
year_month или strict_year_month
Форматировщик для четырёхзначного года и двухзначного месяца: yyyy-MM.
year_month_day или strict_year_month_day
Форматировщик для четырёхзначного года, двухзначного месяца и двухзначного дня: yyyy-MM-dd.

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

Spec-Zone.ru

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