Временные метки Elasticsearch: как работать с ними, с примерами

Временные метки являются важнейшим компонентом Elasticsearch и служат краеугольным камнем для многих операций, таких как анализ данных с учетом времени, управление событиями журнала и версионирование документов. В этой статье рассматриваются дополнительные аспекты работы с временными метками в Elasticsearch, включая индексирование, запрос и форматирование.

Индексирование временных меток

Чтобы проиндексировать документ с пользовательской временной меткой, достаточно включить в документ поле даты. Elasticsearch автоматически распознает и маппирует форматы даты и времени ISO 8601. Например:

Запрос временных меток

Elasticsearch предоставляет ряд типов запросов для работы с полями дат. Запрос `range` особенно полезен для поиска по временным меткам. Например, чтобы найти все документы, проиндексированные в июне 2023 года, можно использовать:

Математика дат и округление

Elasticsearch поддерживает выражения математики дат, которые можно использовать для вычисления относительных дат. Например, чтобы найти все документы, проиндексированные за последние 7 дней, можно использовать:

В данном запросе `now-7d/d` означает "7 дней назад с округлением до начала дня", а `now/d` - "сейчас с округлением до начала дня".

Форматирование временных меток

Elasticsearch позволяет настраивать формат полей даты с помощью параметра маппинга `date`. Например, чтобы проиндексировать документ с временной меткой в формате времени Unix, можно задать такой маппинг:

Затем можно проиндексировать документ с временной меткой Unix следующим образом:

Заключение

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

Понравилась статья? Поделиться с друзьями:
Добавить комментарий