Еластично търсене

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”

Изтриването на индекс ще доведе до грешка като:


"грешка":
"root_cause": [

"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 *

GET / te *

Командата cURL е:

curl -XGET “http: // localhost: 9200 / te *”

Тази команда трябва да върне всички индекси, съответстващи на този специфичен модел, позволявайки ви да запомните само частичното име на индекса, който искате да премахнете.


"temp":
"псевдоними": ,
"mappings": ,
"настройки" :
"индекс":
"маршрутизация":
"разпределяне" :
"включва":
"_tier_preference": "data_content"


,
"number_of_shards": "1",
"provided_name": "temp",
"create_date": "1611180802266",
"number_of_replicas": "1",
"uuid": "c7dOH6MQQUmHM2MKJ73ekw",
"версия":
"създаден": "7100299"



,
"temp_1":
"псевдоними": ,
"mappings": ,
"настройки" :
"индекс":
"маршрутизация":
"разпределяне" :
"включва":
"_tier_preference": "data_content"


,
"number_of_shards": "1",
"provided_name": "temp_1",
"create_date": "1611180811874",
"number_of_replicas": "1",
"uuid": "pq1UUR2XTZS3xfs6Hxr4gg",
"версия":
"създаден": "7100299"



,
"temp_2":
"псевдоними": ,
"mappings": ,
"настройки" :
"индекс":
"маршрутизация":
"разпределяне" :
"включва":
"_tier_preference": "data_content"


,
"number_of_shards": "1",
"provided_name": "temp_2",
"create_date": "1611180815041",
"number_of_replicas": "1",
"uuid": "8NdXWPuBTLe6r4eZ407W9Q",
"версия":
"създаден": "7100299"




Друг начин е да добавите параметъра ignore_unavailable към заявката. Например:

ИЗТРИВАНЕ / игнориране_ме?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 за изтриване на индекси от клъстер. Също така обсъдихме прости начини, които можете да приложите, за да избегнете грешки за индекси, които не съществуват.

Благодаря ви за четенето.

5 най-добри аркадни игри за Linux
В днешно време компютрите са сериозни машини, използвани за игри. Ако не можете да получите новия висок резултат, ще разберете какво имам предвид. В т...
Битка за Уеснот 1.13.6 Разработка освободена
Битка за Уеснот 1.13.6, издаден миналия месец, е шестата версия за разработка в 1.13.x серия и предоставя редица подобрения, най-вече на потребителски...
Как да инсталирате League Of Legends на Ubuntu 14.04
Ако сте фен на League of Legends, това е възможност за вас да тествате League of Legends. Имайте предвид, че LOL се поддържа на PlayOnLinux, ако сте п...