Elasticsearch: Refresh

Elasticsearch позволяет обновлять один или несколько индексов в кластере с помощью API refresh. Обновление позволяет обновить индекс и перезагрузить все последние операции, выполненные в индексе. Например, если сессия удаляет и добавляет данные в определенный индекс, вы можете использовать API refresh для перезагрузки этих изменений в свои сессии.

В этой статье мы рассмотрим API обновления Elasticsearch и узнаем, как можно выполнять операции обновления в кластере.

Синтаксис запроса

Ниже показан синтаксис запроса с использованием API refresh.

API refresh поддерживает оба HTTP-метода GET и POST.

Следует помнить, что Elasticsearch будет выполнять операцию обновления в фоновом режиме с интервалом в 30 секунд.

Пример - Обновление определенного индекса

В следующем примере показано, как использовать API refresh для перезагрузки изменений в индексе kibana_sample_data_logs.

Приведенный выше запрос должен вернуть сообщение, как показано ниже:

Пример 2 - Обновление всех индексов в кластере

Мы также можем выполнить обновление всех потоков данных и индексов в данном кластере, вызвав API _refresh без параметров.

Синтаксис запроса выглядит следующим образом:

Например,

API должен возвращать количество обновленных индексов и потоков данных в виде:

Операции обновления считаются ресурсоемкими, особенно для индексов с большим объемом данных. Поэтому в Elasticsearch рекомендуется использовать периодическое обновление по умолчанию. Однако если необходимо обеспечить самое последнее обновление, можно использовать параметр refresh=wait_for, позволяющий поисковому запросу подождать до периодического обновления.

Заключение

В этой статье вы узнали, как использовать API refresh в elasticsearch для получения последних операций над заданным индексом или потоком данных.

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