Elasticsearch Slet alle indekser

Elasticsearch Slet Alle Indekser



Elasticsearch er en gratis, open source søge- og analysemaskine, der driver ELK Stack. Elasticsearch tillader de forskellige datapipelines ved hjælp af værktøjer som Logstash til at indsamle og aggregere dataene. Elasticsearch gemmer derefter de leverede data, så applikationerne kan få adgang til, søge, sortere og filtrere store mængder data i næsten realtid. Elasticsearch giver dig også mulighed for at visualisere de forskellige data ved hjælp af indbyggede værktøjer.

Sådanne funktioner gør Elasticseach særdeles velegnet til at søge og sortere de omfattende datamængder med minimal eller ingen latenstid. Så uanset om du opretter en søgemaskine eller analyserer logfiler, metrics og andre tekstdata, er Elasticsearch et godt valg.







I hjertet af Elasticsearch er et indeks. Et indeks refererer til den enhed, der er ansvarlig for at opbevare dokumenterne i Elasticsearch. Et indeks svarer relativt til en database i sammenhæng med relationelle databaser. For eksempel kan du have et indeks, der indeholder alle data for logfilerne for en webapplikation.



Som alle databaser kan du støde på et scenarie, hvor du skal fjerne alle data fra din klynge, så du kan starte med en ren tavle.



Denne artikel viser dig, hvordan du bruger Elasticsearch API-funktionerne til at fjerne alle indekser fra din klynge.





FORSIGTIG: De metoder og teknikker, der bruges i denne artikel, vil føre til tab af data. Vi påtager os ikke ansvaret for tab af data, der måtte opstå på grund af instruktionerne i denne artikel.

Elasticsearch Slet Index API

Hvis du starter Elasticsearch, skal du vide, hvordan du udfører de grundlæggende API-kald. Dette skyldes, at Elasticsearch udnytter API'erne maksimalt.



Som du kan gætte, bruger vi Delete Index API til at fjerne et indeks fra en klynge. Syntaksen for anmodninger om indekssletning er som vist:

SLET /< indeks >


Anmodningen fjerner det angivne indeks og de lagrede dokumenter, shards og alle dets metadata.

Husk, at dette ikke vil fjerne nogen Kibana-komponenter, der er knyttet til det angivne indeks, såsom datavisninger osv.

Du kan angive et enkelt eller flere indekser ved at adskille dem med kommaer. Et eksempel på syntaks er som vist:

SLET / indeksnavn
SLET / indeks1,indeks2,indeks3...indeksN


Elasticsearch forhindrer dig i at bruge Index-aliaset, når du sletter et indeks. I stedet skal du bruge indeksnavnet.

Eksempel 1: Elasticsearch Slet indeks

Følgende eksempel viser, hvordan du bruger Elasticsearch delete index API til at fjerne et eksisterende indeks fra klyngen:

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


Den tidligere anmodning sender en DELETE-anmodning til slette-API'en. Dette bør fjerne indekset med navnet 'kibana_sample_data_logs'.

Det resulterende output er som vist:

{
'anerkendt' : rigtigt
}

Eksempel 2: Elasticsearch Slet flere indekser

Vi kan fjerne de flere indekser ved at sende dem som en kommasepareret liste. Et eksempel på en forespørgsel er som vist:

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


Den forrige kommando sletter de angivne indekser og returnerer en besked som vist:

{
'anerkendt' : rigtigt
}


Bemærk: Hvis indekset ikke eksisterer, returnerer Elasticsearch en fejl som vist:

Eksempel 3: Elasticsearch Slet alle indekser

Vi kan bruge jokertegnet _all i delete index API til at fjerne alle indekser fra en klynge. Slet indeks API vil som standard forhindre dig i at videregive jokertegnene i anmodningen.

Du kan deaktivere dette ved at indstille action.desctructive_requires_name til false.

Følgende forespørgsel viser dig, hvordan du aktiverer brugen af ​​jokertegn i delete index API:

krølle -XPUT 'localhost:9200 /_cluster/indstillinger' -H 'kbn-xsrf: rapportering' -H 'Content-Type: application/json' -d '
{
'transient': {
'action.destructive_requires_name' : falsk
}
}'


BEMÆRK: Selvom Elasticsearch ikke anbefaler brugen af ​​forbigående klyngeindstillinger, skal du undgå at indstille de destruktive klyngeparametre, såsom brugen af ​​jokertegn som en vedvarende klyngeindstilling.

Den forrige forespørgsel skulle returnere resultatet som:

{
'anerkendt' : rigtigt ,
'vedholdende' : { } ,
'forbigående' : {
'handling' : {
'destructive_requires_name' : 'falsk'
}
}
}


Når det er lykkedes, kan du fjerne alle indekserne i klyngen ved at køre følgende kommando:

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

Eksempel 4: Elasticsearch Slet alle indekser, der matcher specifikke navne

Hvis du ønsker at fjerne alle de indekser, der matcher et bestemt mønster, kan du bruge et jokertegn (*).

For at fjerne alle indekser, der starter med navnet kibana, kan vi for eksempel køre følgende forespørgsel:

krølle -XDELETE 'http://localhost:9200/kibana*' -H 'kbn-xsrf: rapportering'


Den tidligere anmodning fjerner alle indekser, der starter med kibana.

BEMÆRK: Den tidligere anmodning kræver brug af jokertegn. Derfor skal du aktivere jokertegnunderstøttelse som vist i det foregående afsnit.

Konklusion

Denne vejledning lærte dig, hvordan du bruger Elasticsearch delete index API. Du lærte også, hvordan du aktiverer jokertegnunderstøttelse i din klynge, fjerner alle indekser og fjerner indekser, der matcher et bestemt mønster.