Поддерживает ли Elastic Search запрос агрегации среди нескольких индексов? Это хорошая практика?

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

Это хорошая практика?

Я хотел избежать использования монолитных индексов, поскольку частота удаления такая же, как частота приема (логарифмическая), и я хотел избежать массовых обновлений.

Есть ли другой альтернативный подход?


person YOUNGPITAJI    schedule 30.09.2019    source источник


Ответы (1)


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

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

Вы можете запустить свой запрос либо по списку индексов (index1,index2,.../_search) или создайте псевдоним, который охватывает все нужные индексы, основанные на времени, а затем запустите ваш запрос на этом псевдониме (alias_spanning_all_indices/_search)

person Val    schedule 30.09.2019
comment
Большое спасибо! Не могли бы вы добавить ссылку на документацию того же самого, чтобы я мог получить больше информации. Кроме того, насколько это тяжелее с точки зрения вычислений по сравнению с той же операцией в одном индексе. - person YOUNGPITAJI; 30.09.2019
comment
Привет! Я глубоко погрузился в то, как ES внутренне агрегирует результаты для запроса в 1 индексе по сравнению с запросом, охватывающим несколько индексов (с точки зрения вычислений). - person YOUNGPITAJI; 01.10.2019
comment
Вы должны принять это как должное, это фактическая особенность ES, а не хак, так что не беспокойтесь. - person Val; 01.10.2019