Elasticsearch slett indeks hvordan du gjør det

Elasticsearch slett indeks hvordan du gjør det
Elasticsearch elsker data; Ingen av oss kan bestride det. Imidlertid kan data bli overflødige og ubrukelige på et eller annet tidspunkt, noe som nødvendiggjør fjerning av den.

Heldigvis, med Elasticsearch, når data blir overflødige, er alt du trenger å gjøre å få tilgang til et verktøy for å utføre forespørsler og overføre data over nettverket.

Denne raske guiden vil vise deg hvordan du bruker Mighty Elasticsearch API for å slette dokumenter og indekser.

MERK: Vi antar at du har Elasticsearch som kjører på systemet ditt, og at du har et verktøy for å komme med forespørsler som Curl. Vi gir også rå Kibana -forespørsler hvis du bruker Kibana -konsollen (anbefalt).

Hvordan liste indeksen?

Hvis du vil slette og indeksere i Elasticsearch, må du først bekrefte at den eksisterer før du sender slettforespørselen.

Hvis du prøver å slette en ikke-eksisterende indeks, vil du få en feil, lik den som er vist nedenfor:

Slett /this_index_does_not_exist

For Curl Command:

Curl -xdelete “http: // localhost: 9200/this_index_does_not_exist”

Å slette en indeks vil gi en feil som:


"Feil":
"Opprinnelig årsak" : [

"Type": "index_not_found_exception",
"Årsak": "Ingen slik indeks [this_index_does_not_exist]",
"index_uuid": "_na_",
"ressurs.type ":" index_or_alias ",
"ressurs.id ":" this_index_does_not_exist ",
"Indeks": "this_index_does_not_exist"

],
"Type": "index_not_found_exception",
"Årsak": "Ingen slik indeks [this_index_does_not_exist]",
"index_uuid": "_na_",
"ressurs.type ":" index_or_alias ",
"ressurs.id ":" this_index_does_not_exist ",
"Indeks": "this_index_does_not_exist"
,
"Status": 404

Det er forskjellige måter å sjekke om en indeks eksisterer; Det beste er å liste navnet. For eksempel kan du bruke jokertegn for å matche et spesifikt navn.

Eksempelforespørselen nedenfor viser indekser med navn TE*

Få /te*

Curl -kommandoen er:

Curl -xget “http: // localhost: 9200/te*”

Denne kommandoen skal returnere alle indeksene som samsvarer med det spesifikke mønsteret, slik at du bare kan huske det delvise navnet på indeksen du ønsker å fjerne.


"Temp":
"aliaser": ,
"Mappings": ,
"Innstillinger":
"Indeks":
"Routing":
"tildeling" :
"Inkluder":
"_tier_preference": "data_content"


,
"Number_of_shards": "1",
"Levert_name": "Temp",
"Creation_date": "1611180802266",
"number_of_replicas": "1",
"UUID": "C7DOH6MQQUMHM2MKJ73EKW",
"Versjon":
"opprettet": "7100299"



,
"temp_1":
"aliaser": ,
"Mappings": ,
"Innstillinger":
"Indeks":
"Routing":
"tildeling" :
"Inkluder":
"_tier_preference": "data_content"


,
"Number_of_shards": "1",
"levert_navn": "temp_1",
"Creation_date": "1611180811874",
"number_of_replicas": "1",
"UUID": "PQ1UUR2XTZS3XFS6HXR4GG",
"Versjon":
"opprettet": "7100299"



,
"temp_2":
"aliaser": ,
"Mappings": ,
"Innstillinger":
"Indeks":
"Routing":
"tildeling" :
"Inkluder":
"_tier_preference": "data_content"


,
"Number_of_shards": "1",
"Levert_name": "temp_2",
"Creation_date": "1611180815041",
"number_of_replicas": "1",
"UUID": "8NDXWPUBTLE6R4EZ407W9Q",
"Versjon":
"opprettet": "7100299"




En annen måte er å legge til den ignorere_unavailable -parameteren til forespørselen. For eksempel:

Slett /ignorere_me?ignorere_unavailable = true
For Curl -brukere:
[cc lang = "tekst" bredde = "100%" høyde = "100%" rømte = "true" tema = "blackboard" nowrap = "0"]
Curl -xdelete “http: // localhost: 9200/ignore_me?ignorere_unavailable = true ”

Hvordan slette en Indeks?

Når du har indeksen, vil du fjerne fra Elasticsearch, bruk slettforespørselen etterfulgt av indeksnavnet.

Den generelle syntaksen er:

Slett /

Indeksnavnet kan være en spesifikk indeks eller et jokertegn som velger en gruppe indekser. Forsikre deg om å bruke jokertegn riktig; Ellers kan du fjerne gale indekser.

MERK: Å slette elasticsearch -indekser ved bruk av aliaser er ikke tillatt.

Tenk på eksempelforespørselen nedenfor som fjerner temp_1 -indeksen:

Slett /temp_1

For Curl Command:

Curl -xdelete “http: // localhost: 9200/temp_1”

Gjennomføring av denne kommandoen skal svare med et JSON -objekt, noe som indikerer vellykket fjerning av indeksen.


“Erkjent”: True

Elasticsearch er smart nok til å vite at du kan fjerne indekser ved et uhell. Derfor kan du angi hvilke typer wildcard -uttrykk som er tillatt.

Denne typen wildcards -uttrykk inkluderer:

  • Alle: Inkluderer alle indekser, inkludert åpne, lukkede og skjulte (starter med)
  • Åpen: Bare inkluderer åpne indekser
  • Lukket: Bare inkluderer lukkede indekser
  • Ingen: Ingen jokertekstremter tillatt.

Konklusjon

For denne raske og enkle guiden diskuterte vi prosessen med å bruke Elasticsearch for å slette indekser fra en klynge. Vi diskuterte også enkle måter du kan implementere for å unngå feil for indekser som ikke eksisterer.

Takk for at du leser.