Elasticsearch Slett alle indekser

Elasticsearch Slett Alle Indekser



Elasticsearch er en gratis, åpen kildekode søke- og analysemotor som driver ELK Stack. Elasticsearch lar de ulike datapipelines bruke verktøy som Logstash for å samle inn og aggregere dataene. Elasticsearch lagrer deretter de oppgitte dataene, slik at applikasjonene kan få tilgang til, søke, sortere og filtrere store mengder data i nesten sanntid. Elasticsearch lar deg også visualisere de ulike dataene ved hjelp av innebygde verktøy.

Slike funksjoner gjør Elasticseach svært egnet for søk og sortering av store datamengder med minimal eller ingen forsinkelse. Så, enten du oppretter en søkemotor eller analyserer logger, beregninger og andre tekstdata, er Elasticsearch et godt valg.







I hjertet av Elasticsearch er en indeks. En indeks refererer til enheten som er ansvarlig for å lagre dokumentene i Elasticsearch. En indeks er relativt ekvivalent med en database i sammenheng med relasjonsdatabaser. Du kan for eksempel ha en indeks som inneholder alle dataene for loggene til en nettapplikasjon.



Som alle databaser, kan du støte på et scenario der du må fjerne alle dataene fra klyngen din, slik at du kan starte med en ren tavle.



Denne artikkelen viser deg hvordan du bruker Elasticsearch API-funksjonene til å fjerne alle indeksene fra klyngen din.





FORSIKTIG: Metodene og teknikkene som brukes i denne artikkelen vil føre til tap av data. Vi holder ikke ansvar for tap av data som kan oppstå på grunn av instruksjonene i denne artikkelen.

Elasticsearch Delete Index API

Hvis du starter Elasticsearch, må du vite hvordan du utfører de grunnleggende API-kallene. Dette er fordi Elasticsearch utnytter APIene maksimalt.



Som du kan gjette, bruker vi Delete Index API for å fjerne en indeks fra en klynge. Syntaksen for forespørslene om indekssletting er som vist:

SLETT /< indeks >


Forespørselen fjerner den angitte indeksen og de lagrede dokumentene, shards og alle dens metadata.

Husk at dette ikke vil fjerne noen Kibana-komponenter knyttet til den spesifiserte indeksen som datavisninger osv.

Du kan spesifisere en enkelt eller flere indekser ved å skille dem med kommaer. Et eksempel på syntaks er som vist:

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


Elasticsearch forhindrer deg i å bruke indeksaliaset når du sletter en indeks. I stedet må du bruke indeksnavnet.

Eksempel 1: Elasticsearch Slett indeks

Følgende eksempel viser hvordan du bruker Elasticsearch delete index API for å fjerne en eksisterende indeks fra klyngen:

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


Den forrige forespørselen sender en DELETE-forespørsel til slette-APIet. Dette bør fjerne indeksen med navnet 'kibana_sample_data_logs'.

Den resulterende utgangen er som vist:

{
'anerkjente' : ekte
}

Eksempel 2: Elasticsearch Slett flere indekser

Vi kan fjerne de flere indeksene ved å sende dem som en kommadelt liste. Et eksempelspørsmål er som vist:

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


Den forrige kommandoen sletter de angitte indeksene og returnerer en melding som vist:

{
'anerkjente' : ekte
}


Merk: Hvis indeksen ikke eksisterer, returnerer Elasticsearch en feil som vist:

Eksempel 3: Elasticsearch Slett alle indekser

Vi kan bruke jokertegnet _all i delete index API for å fjerne alle indeksene fra en klynge. Slettindeks-API-en vil som standard hindre deg i å sende jokertegnene i forespørselen.

Du kan deaktivere dette ved å sette action.desctructive_requires_name til false.

Følgende spørring viser deg hvordan du aktiverer bruk av jokertegn i sletteindeks-API:

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


MERK: Selv om Elasticsearch ikke anbefaler bruk av forbigående klyngeinnstillinger, unngå å angi destruktive klyngeparametere som bruk av jokertegn som en vedvarende klyngeinnstilling.

Den forrige spørringen skal returnere resultatet som:

{
'anerkjente' : ekte ,
'vedvarende' : { } ,
'flyktig' : {
'handling' : {
'destructive_requires_name' : 'falsk'
}
}
}


Når det er vellykket, kan du fjerne alle indeksene i klyngen ved å kjøre følgende kommando:

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

Eksempel 4: Elasticsearch Slett alle indekser som samsvarer med spesifikke navn

Hvis du ønsker å fjerne alle indeksene som samsvarer med et spesifikt mønster, kan du bruke et jokertegn (*).

For å fjerne alle indeksene som starter med navnet kibana, kan vi for eksempel kjøre følgende spørring:

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


Den forrige forespørselen fjerner alle indeksene som begynner med kibana.

MERK: Den forrige forespørselen krever bruk av jokertegn. Derfor må du aktivere jokertegnstøtten som vist i forrige seksjon.

Konklusjon

Denne veiledningen lærte deg hvordan du bruker Elasticsearch delete index API. Du lærte også hvordan du aktiverer jokertegnstøtte i klyngen din, fjerner alle indeksene og fjerner indeksene som samsvarer med et spesifikt mønster.