Elasticsearch sletter alle indekser

Elasticsearch sletter alle indekser

Elasticsearch er en gratis, åpen kildekode-søk og analysemotor som driver Elk Stack. Elasticsearch tillater de forskjellige datapipelinjene ved å bruke verktøy som logstash for å samle inn og samle dataene. Elasticsearch lagrer deretter de oppgitte dataene, og lar applikasjonene få tilgang til, søke, sortere og filtrere store datamengder i nær sanntid. Elasticsearch lar deg også visualisere de forskjellige dataene ved hjelp av innebygde verktøy.

Slike funksjoner gjør Elasticsach svært egnet til å søke og sortere de omfattende datamengdene med minimal til ingen latens. 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 tilsvarer relativt en database i sammenheng med relasjonsdatabaser. For eksempel kan du ha en indeks som inneholder alle dataene for loggene til en webapplikasjon.

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

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

FORSIKTIG: Metodene og teknikkene som brukes i denne artikkelen vil føre til tap av data. Vi har 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 -samtalene. Dette er fordi Elasticsearch bruker API -ene til maksimalt.

Som du kan gjette, bruker vi Delete Index API for å fjerne en indeks fra en klynge. Syntaksen for indeksens slettingsforespørsler er som vist:

Slett /


Forespørselen fjerner den spesifiserte indeksen og lagrede dokumenter, skjær og alle metadata.

Husk at dette ikke vil fjerne kibana -komponenter tilknyttet den spesifiserte indeksen, for eksempel datavisninger osv.

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

Slett /indeks_navn
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 Delete Index

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

Curl -xdelete "http: // localhost: 9200/kibana_sample_data_logs?pen = sant "-h" kbn -xsrf: rapportering "


Den forrige forespørselen sender en slettforespørsel til Delete API. Dette bør fjerne indeksen med navnet "Kibana_sample_data_logs".

Den resulterende utgangen er som vist:


"anerkjent": sant

Eksempel 2: Elasticsearch slett flere indekser

Vi kan fjerne flere indekser ved å sende dem som en komma-separert liste. Et eksempel på spørring er som vist:

Curl -xdelete "http: // localhost: 9200kibana_sample_data_flights, kibana_sample_data_logs?pen = sant "-h" kbn -xsrf: rapportering "


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


"anerkjent": sant


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

Eksempel 3: Elasticsearch slett alle indekser

Vi kan bruke _all -jokertegnet i Delete Index API for å fjerne alle indeksene fra en klynge. Delete Index API vil som standard forhindre deg i å passere jokertegnene i forespørselen.

Du kan deaktivere dette ved å sette handlingen.descTuctive_requires_name to usann.

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

Curl -Xput "LocalHost: 9200/_Cluster/Innstillinger" -H "KBN -XSRF: Rapportering" -H "Content -Type: Application/JSON" -D '

"flyktig":
"handling.destruktiv_requires_name ": falsk

'


Merk: Selv om Elasticsearch ikke anbefaler bruk av forbigående klyngeinnstillinger, kan du unngå å sette de destruktive klyngeparametere som bruk av jokertegn som en vedvarende klyngeinnstilling.

Den forrige spørringen skal returnere resultatet som:


"anerkjent": sant,
"vedvarende": ,
"flyktig":
"handling":
"destruktive_requires_name": "falsk"



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

Curl -xdelete "http: // localhost: 9200/_all?pen = sant "-h" kbn -xsrf: rapportering "

Eksempel 4: Elasticsearch sletter 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ørsmål:

Curl -xdelete "http: // localhost: 9200/kibana*" -h "kbn -xsrf: rapportering"


Den forrige forespørselen fjerner alle indeksene som starter med Kibana.

Merk: Den forrige forespørselen krever bruk av jokertegn. Derfor må du aktivere Wildcard -støtten som vist i forrige seksjon.

Konklusjon

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