Elasticsearch: Удалить все индексы

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

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

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

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

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

Методы и приемы, используемые в этой статье, приведут к потере данных. Мы не несем ответственности за любую потерю данных, которая может произойти из-за инструкций, приведенных в этой статье.

API Elasticsearch Delete Index

Если вы начинаете работать с Elasticsearch, вам необходимо знать, как выполнять основные вызовы API. Это связано с тем, что Elasticsearch использует API по максимуму.

Как вы уже догадались, мы используем API Delete Index для удаления индекса из кластера. Синтаксис запросов на удаление индекса выглядит следующим образом:

Запрос удаляет указанный индекс и сохраненные в нем документы, шарды и все метаданные.

Следует помнить, что при этом не удаляются компоненты Kibana, связанные с указанным индексом, такие как представления данных и т.д.

Вы можете указать один или несколько индексов, разделяя их запятыми.

Elasticsearch не позволяет вам использовать псевдоним Index при удалении индекса. Вместо этого необходимо использовать имя индекса.

К примеру

Пример 1: Удаление индекса Elasticsearch

В следующем примере показано, как использовать API Elasticsearch delete index для удаления существующего индекса из кластера:

Предыдущий запрос отправляет запрос DELETE на API удаления. Это должно удалить индекс с именем "kibana_sample_data_logs".

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

Пример 2: Elasticsearch удаляет несколько индексов

Мы можем удалить несколько индексов, передав их в виде списка, разделенного запятыми. Пример запроса показан на рисунке:

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

Если индекс не существует, Elasticsearch возвращает ошибку, как показано на рисунке:

Ошибка удаление индекса Elasticsearch

Пример 3: Удаление всех индексов Elasticsearch

Мы можем использовать подстановочный знак _all в API delete index, чтобы удалить все индексы из кластера. По умолчанию API для удаления индексов не позволяет передавать подстановочные знаки в запросе.

Это можно отключить, установив для параметра action.desctructive_requires_name значение false.

В следующем запросе показано, как включить использование подстановочных знаков в API удаления индексов:

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

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

После успеха вы можете удалить все индексы в кластере, выполнив следующую команду:

Пример 4: Elasticsearch удаляет все индексы, соответствующие определенным именам

Если вы хотите удалить все индексы, которые соответствуют определенному шаблону, вы можете использовать символ подстановки (*).

Например, чтобы удалить все индексы, начинающиеся с имени kibana, мы можем выполнить следующий запрос:

Предыдущий запрос удаляет все индексы, начинающиеся с kibana.

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

Заключение

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

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