Elasticsearch Ta bort alla index

Elasticsearch Ta Bort Alla Index



Elasticsearch är en gratis sök- och analysmotor med öppen källkod som driver ELK Stack. Elasticsearch tillåter olika datapipelines att använda verktyg som Logstash för att samla in och aggregera data. Elasticsearch lagrar sedan tillhandahållen data, vilket gör att applikationerna kan komma åt, söka, sortera och filtrera stora mängder data i nästan realtid. Med Elasticsearch kan du också visualisera olika data med hjälp av inbyggda verktyg.

Sådana funktioner gör Elasticseach mycket lämplig för att söka och sortera stora mängder data med minimal eller ingen latens. Så oavsett om du skapar en sökmotor eller analyserar loggar, mätvärden och annan textdata, är Elasticsearch ett utmärkt val.







Kärnan i Elasticsearch är ett index. Ett register avser den enhet som ansvarar för att lagra dokumenten i Elasticsearch. Ett index är relativt likvärdigt med en databas i samband med relationsdatabaser. Du kan till exempel ha ett index som innehåller all data för loggarna för en webbapplikation.



Som alla databaser kan du stöta på ett scenario där du behöver ta bort all data från ditt kluster, så att du kan börja med ett rent blad.



Den här artikeln visar hur du använder Elasticsearch API-funktionerna för att ta bort alla index från ditt kluster.





VARNING: De metoder och tekniker som används i den här artikeln kommer att leda till dataförlust. Vi ansvarar inte för eventuell dataförlust som kan uppstå på grund av instruktionerna i denna artikel.

Elasticsearch Ta bort Index API

Om du startar Elasticsearch måste du veta hur du utför de grundläggande API-anropen. Detta beror på att Elasticsearch använder API:erna maximalt.



Som du kan gissa använder vi Ta bort Index API för att ta bort ett index från ett kluster. Syntaxen för begäranden om indexradering är som visas:

RADERA /< index >


Begäran tar bort det angivna indexet och de lagrade dokumenten, skärvorna och alla dess metadata.

Tänk på att detta inte tar bort några Kibana-komponenter som är associerade med det angivna indexet, såsom datavyer etc.

Du kan ange ett eller flera index genom att separera dem med kommatecken. Ett exempel på syntax är som visas:

RADERA / index_name
RADERA / index1,index2,index3...indexN


Elasticsearch hindrar dig från att använda Indexaliaset när du tar bort ett index. Istället måste du använda indexnamnet.

Exempel 1: Elasticsearch Radera index

Följande exempel visar hur du använder Elasticsearch delete index API för att ta bort ett befintligt index från klustret:

ringla -XDELETE 'http://localhost:9200/kibana_sample_data_logs?pretty=true' -H 'kbn-xsrf: rapportering'


Den tidigare begäran skickar en DELETE-begäran till delete-API:et. Detta bör ta bort indexet med namnet 'kibana_sample_data_logs'.

Resultatet är som visas:

{
'erkänd' : Sann
}

Exempel 2: Elasticsearch Ta bort flera index

Vi kan ta bort de multipla indexen genom att skicka dem som en kommaseparerad lista. Ett exempel på en fråga är som visas:

ringla -XDELETE 'http://localhost:9200kibana_sample_data_flights,kibana_sample_data_logs?pretty=true' -H 'kbn-xsrf: rapportering'


Det föregående kommandot tar bort de angivna indexen och returnerar ett meddelande som visas:

{
'erkänd' : Sann
}


Obs: Om indexet inte finns returnerar Elasticsearch ett fel som visas:

Exempel 3: Elasticsearch Ta bort alla index

Vi kan använda jokertecknet _all i delete index API för att ta bort alla index från ett kluster. Delete index API kommer som standard att hindra dig från att skicka jokertecken i begäran.

Du kan inaktivera detta genom att ställa in action.desctructive_requires_name till false.

Följande fråga visar hur du aktiverar användningen av jokertecken i delete index API:

ringla -XPUT 'localhost:9200 /_cluster/inställningar' -H 'kbn-xsrf: rapportering' -H 'Content-Type: application/json' -d '
{
'transient': {
'action.destructive_requires_name' : false
}
}'


OBS: Även om Elasticsearch inte rekommenderar användning av transienta klusterinställningar, undvik att ställa in destruktiva klusterparametrar som användning av jokertecken som en beständig klusterinställning.

Den föregående frågan bör returnera resultatet som:

{
'erkänd' : Sann ,
'beständig' : { } ,
'övergående' : {
'handling' : {
'destructive_requires_name' : 'falsk'
}
}
}


När det har lyckats kan du ta bort alla index i klustret genom att köra följande kommando:

ringla -XDELETE 'http://localhost:9200/_all?pretty=true' -H 'kbn-xsrf: rapportering'

Exempel 4: Elasticsearch Ta bort alla index som matchar specifika namn

Om du vill ta bort alla index som matchar ett specifikt mönster kan du använda ett jokertecken (*).

För att till exempel ta bort alla index som börjar med namnet kibana kan vi köra följande fråga:

ringla -XDELETE “http://localhost:9200/kibana*” -H 'kbn-xsrf: rapportering'


Den tidigare begäran tar bort alla index som börjar med kibana.

OBS: Den tidigare begäran kräver användning av jokertecken. Därför måste du aktivera jokerteckenstödet som visas i föregående avsnitt.

Slutsats

Den här guiden lärde dig hur du använder Elasticsearch delete index API. Du lärde dig också hur du aktiverar jokerteckenstödet i ditt kluster, tar bort alla index och tar bort de index som matchar ett specifikt mönster.