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.