Эластичный поиск

Инструкции по удалению индекса Elasticsearch

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

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

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

ПРИМЕЧАНИЕ: Мы предполагаем, что в вашей системе работает Elasticsearch и у вас есть инструмент для выполнения запросов, например cURL. Мы также предоставляем необработанные запросы Kibana, если вы используете консоль Kibana (рекомендуется).

Как составить указатель?

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

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

УДАЛИТЬ / this_index_does_not_exist

Для команды cURL:

curl -XDELETE «http: // localhost: 9200 / this_index_does_not_exist»

Удаление индекса приведет к ошибке:


"ошибка" :
"первопричина" : [

"type": "index_not_found_exception",
"причина": "такого индекса нет [this_index_does_not_exist]",
"index_uuid": "_na_",
"ресурс.тип ":" index_or_alias ",
"ресурс.id ":" this_index_does_not_exist ",
"index": "this_index_does_not_exist"

],
"type": "index_not_found_exception",
"причина": "такого индекса нет [this_index_does_not_exist]",
"index_uuid": "_na_",
"ресурс.тип ":" index_or_alias ",
"ресурс.id ":" this_index_does_not_exist ",
"index": "this_index_does_not_exist"
,
«статус»: 404

Есть несколько способов проверить, существует ли индекс; лучше всего перечислить его имя. Например, вы можете использовать подстановочные знаки для соответствия определенному имени.

В приведенном ниже примере запроса перечислены индексы с именами te *

ПОЛУЧИТЬ / te *

Команда cURL:

curl -XGET «http: // localhost: 9200 / te *»

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


"temp":
"псевдонимы": ,
"сопоставления": ,
"настройки" :
"индекс" :
"routing":
"allocation":
"включать" :
"_tier_preference": "data_content"


,
"number_of_shards": "1",
«предоставленное_имя»: «временная»,
"creation_date": "1611180802266",
"number_of_replicas": "1",
"uuid": "c7dOH6MQQUmHM2MKJ73ekw",
"версия":
"created": "7100299"



,
"temp_1":
"псевдонимы": ,
"сопоставления": ,
"настройки" :
"индекс" :
"routing":
"allocation":
"включать" :
"_tier_preference": "data_content"


,
"number_of_shards": "1",
"предоставленное_имя": "temp_1",
"creation_date": "1611180811874",
"number_of_replicas": "1",
"uuid": "pq1UUR2XTZS3xfs6Hxr4gg",
"версия":
"created": "7100299"



,
"temp_2":
"псевдонимы": ,
"сопоставления": ,
"настройки" :
"индекс" :
"routing":
"allocation":
"включать" :
"_tier_preference": "data_content"


,
"number_of_shards": "1",
"предоставленное_имя": "temp_2",
"creation_date": "1611180815041",
"number_of_replicas": "1",
"uuid": "8NdXWPuBTLe6r4eZ407W9Q",
"версия":
"created": "7100299"




Другой способ - добавить в запрос параметр ignore_unavailable. Например:

УДАЛИТЬ / ignore_me?ignore_unavailable = true
Для пользователей cURL:
[cc lang = "text" width = "100%" height = "100%" escaped = "true" theme = "blackboard" nowrap = "0"]
curl -XDELETE «http: // localhost: 9200 / ignore_me?ignore_unavailable = true »

Как удалить  Индекс?

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

Общий синтаксис:

УДАЛИТЬ /

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

ПРИМЕЧАНИЕ: Удаление индексов Elasticsearch с использованием псевдонимов запрещено.

Рассмотрим приведенный ниже пример запроса, который удаляет индекс temp_1:

УДАЛИТЬ / temp_1

Для команды cURL:

curl -XDELETE «http: // localhost: 9200 / temp_1»

Выполнение этой команды должно отвечать объектом JSON, что указывает на успешное удаление индекса.


«Подтверждено»: верно

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

Эти типы выражений с подстановочными знаками включают:

  • Все: Включает все индексы, включая открытые, закрытые и скрытые (начиная с)
  • Открыть: Включает только открытые индексы
  • Закрыто: Включает только закрытые индексы
  • Никто: Использование подстановочных знаков запрещено.

Заключение

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

Спасибо за чтение.

Как установить League Of Legends на Ubuntu 14.04
Если вы поклонник League of Legends, то это возможность для вас протестировать League of Legends. Обратите внимание, что LOL поддерживается в PlayOnLi...
Установите последнюю версию игры OpenRA Strategy в Ubuntu Linux
OpenRA - это игровой движок Libre / Free Real Time Strategy, воссоздающий ранние игры Westwood, такие как классическая Command & Conquer: Red Alert. Р...
Установите последнюю версию эмулятора Dolphin для Gamecube и Wii в Linux
Эмулятор Dolphin позволяет вам играть в выбранные вами игры Gamecube и Wii на персональных компьютерах (ПК) Linux. Являясь свободно доступным игровым...