Elasticsearch Изтриване на всички индекси

Elasticsearch Iztrivane Na Vsicki Indeksi



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

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







В основата на Elasticsearch е индекс. Индексът се отнася до единицата, отговорна за съхраняването на документите в Elasticsearch. Индексът е относително еквивалентен на база данни в контекста на релационни бази данни. Например, можете да имате индекс, който съдържа всички данни за регистрационните файлове на уеб приложение.



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



Тази статия ви показва как да използвате функциите на Elasticsearch API, за да премахнете всички индекси от вашия клъстер.





ВНИМАНИЕ: Методите и техниките, използвани в тази статия, ще доведат до загуба на данни. Ние не носим отговорност за загуба на данни, която може да възникне поради инструкциите в тази статия.

API за изтриване на индекс на Elasticsearch

Ако стартирате Elasticsearch, ще трябва да знаете как да извършвате основните API извиквания. Това е така, защото Elasticsearch използва максимално API.



Както можете да предположите, ние използваме API за изтриване на индекс, за да премахнем индекс от клъстер. Синтаксисът за заявките за изтриване на индекс е както е показано:

ИЗТРИЙ /< индекс >


Заявката премахва посочения индекс и съхранените документи, фрагменти и всички негови метаданни.

Имайте предвид, че това няма да премахне никакви компоненти на Kibana, свързани с посочения индекс, като изгледи на данни и др.

Можете да посочите един или няколко индекса, като ги разделите със запетаи. Примерен синтаксис е както е показано:

ИЗТРИЙ / име_на_индекс
ИЗТРИЙ / индекс1, индекс2, индекс3... индексN


Elasticsearch не ви позволява да използвате псевдонима на индекса, когато изтривате индекс. Вместо това се изисква да използвате името на индекса.

Пример 1: Elasticsearch Изтриване на индекс

Следващият пример показва как да използвате API за изтриване на индекс на Elasticsearch, за да премахнете съществуващ индекс от клъстера:

къдрица -XDELETE 'http://localhost:9200/kibana_sample_data_logs?pretty=true' 'kbn-xsrf: докладване'


Предишната заявка изпраща заявка за ИЗТРИВАНЕ към API за изтриване. Това трябва да премахне индекса с името „kibana_sample_data_logs“.

Полученият резултат е както е показано:

{
'признат' : вярно
}

Пример 2: Elasticsearch Изтриване на множество индекси

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

къдрица -XDELETE 'http://localhost:9200kibana_sample_data_flights,kibana_sample_data_logs?pretty=true' 'kbn-xsrf: докладване'


Предишната команда изтрива посочените индекси и връща съобщение, както е показано:

{
'признат' : вярно
}


Забележка: Ако индексът не съществува, Elasticsearch връща грешка, както е показано:

Пример 3: Elasticsearch Изтриване на всички индекси

Можем да използваме заместващия знак _all в API за изтриване на индекс, за да премахнем всички индекси от клъстер. API за изтриване на индекс по подразбиране ще ви попречи да подадете заместващите знаци в заявката.

Можете да деактивирате това, като зададете action.desctructive_requires_name на false.

Следната заявка ви показва как да активирате използването на заместващи знаци в API за изтриване на индекс:

къдрица -XPUT 'localhost:9200 /_cluster/settings' 'kbn-xsrf: докладване' „Тип съдържание: приложение/json“ '
{
'преходно': {
'action.destructive_requires_name' : невярно
}
}'


ЗАБЕЛЕЖКА: Въпреки че Elasticsearch не препоръчва използването на преходни настройки на клъстера, избягвайте да задавате деструктивните параметри на клъстера, като например използването на заместващи знаци, като постоянна настройка на клъстера.

Предишната заявка трябва да върне резултата като:

{
'признат' : вярно ,
'постоянен' : { } ,
'преходен' : {
'действие' : {
'destructive_requires_name' : 'фалшив'
}
}
}


След като успеете, можете да премахнете всички индекси в клъстера, като изпълните следната команда:

къдрица -XDELETE „http://localhost:9200/_all?pretty=true“ 'kbn-xsrf: докладване'

Пример 4: Elasticsearch Изтриване на всички индекси, които съответстват на конкретни имена

Ако искате да премахнете всички индекси, които отговарят на конкретен шаблон, можете да използвате заместващ знак (*).

Например, за да премахнем всички индекси, започващи с името kibana, можем да изпълним следната заявка:

къдрица -XDELETE „http://localhost:9200/kibana*“ 'kbn-xsrf: докладване'


Предишната заявка премахва всички индекси, започващи с kibana.

ЗАБЕЛЕЖКА: Предишната заявка изисква използването на заместващи знаци. Следователно трябва да активирате поддръжката на заместващи знаци, както е показано в предишния раздел.

Заключение

Това ръководство ви научи как да използвате API за изтриване на индекс на Elasticsearch. Освен това научихте как да активирате поддръжката на заместващи знаци във вашия клъстер, да премахнете всички индекси и да премахнете индексите, които съответстват на конкретен модел.