Запросы на основе метки времени Elasticsearch для нескольких ежедневных индексов - PullRequest
0 голосов
/ 24 мая 2019

Я ищу примеры с синтаксисом различных запросов эластичного поиска, чтобы получить некоторые выбранные поля из нескольких ежедневных индексов (один индекс в день за последние 30 дней -> с использованием управления сроком службы индекса эластичного поиска), основываясь на временных метках исовпадения текста из разных доступных полей (все сохраненные записи эластичного поиска имеют временную метку).Например, мне нужно запросить все записи, где поле «Сообщение» содержит текст «Важно», в течение последних двух недель с этого момента.

Вот еще несколько примеров, где я ищу синтаксис запросаasticsearch:

- query all the records based on some filter, for the period 20 days ago - 25 days ago from now

- query all  the records based on some filter, for the last 5 days, but only between 14 and 16 o'clock on each day

- query all the records based on some filter, for some period of time, and additionally all other records having the timestamp less than 1 second than the matches and also for the next 2 seconds after the matches, if any

Я использую раковину serilog эластичного поиска для записи логов в эластичный поиск.Вот как выглядит индексное отображение:

{"logstash-2019.05.17":{"mappings":{"properties":{"@timestamp":{"type":"date"},"fields":{"properties":{"Author":{"type":"text","fields":{"keyword":{"type":"keyword","ignore_above":256}}},"Ctx":{"properties":{"Function":{"type":"text","fields":{"keyword":{"type":"keyword","ignore_above":256}}},"TS":{"type":"text","fields":{"keyword":{"type":"keyword","ignore_above":256}}}}},"Msg":{"type":"text","fields":{"keyword":{"type":"keyword","ignore_above":256}}},"OrderId":{"type":"long"}}},"level":{"type":"text","fields":{"keyword":{"type":"keyword","ignore_above":256}}},"message":{"type":"text","fields":{"keyword":{"type":"keyword","ignore_above":256}}},"messageTemplate":{"type":"text","fields":{"keyword":{"type":"keyword","ignore_above":256}}}}}}
...