Elasticsearch Flush

Elasticsearch Flush
Elasticsearch gir et flush API som påkaller indeksen eller datastrømmen Flush -operasjoner. Å skylle en indeks eller datastrøm sikrer at dataene som er lagret i transaksjonsloggen flyttes inn i Lucene -indeksen.

Å flytte dataene fra transaksjonsloggen til Lucene -indeksen fjernet behovet for å administrere en annen kopi av transaksjonsloggen. Det tillater også Elasticsearch å frigjøre diskplass ved å fjerne unødvendige generasjonsfiler.

Dette innlegget vil dekke en oversikt over Elasticsearch SLUSH API, slik at vi kan skylle en eller flere indeks- eller datastrømmer.

API -syntaks

Utdraget nedenfor viser syntaksen ved å bruke Elasticsearch SLUSH API.

Post // _ Flush

Målparameteren kan være et navn på en indeks, datastrøm eller indeks. Du kan også spesifisere flere indekser eller datastrømmer i en komma-separert liste. Husk at Elasticsearch vil spyle transaksjonsloggen på de spesifiserte målene.

Hvis du ønsker å skylle alle indeksene og datastrømmene i klyngen, kan du hoppe over målverdien som vist i syntaksen nedenfor:

POST /_FLUSH

Du kan også bruke en stjerne eller _All -parameteren.

Spørringsparametere

API støtter følgende parametere, slik at du kan endre forespørselen og responsatferden.

  1. tillater_no_inidices - lar forespørselen returnere en feil hvis det blir gitt noen jokertegn eller alias i målverdien.
  2. expand_wildcards - lar forespørselen utvide de passerte jokertegnene og matche dem på hvilken som helst indeks eller datastrøm.
  3. Force - lar forespørselen tvinge en flush -operasjon til tross for ingen data tilgjengelig for forpliktelse til Lucene Index.
  4. ignorere_unavailable - ignorerer om målet mangler eller lukket.
  5. wait_if_ongoing - blokkerer flush -operasjonen til alle andre løpende flush -operasjoner er fullført.

Eksempel - Elasticsearch SLUSH SPESIFIC INDEX

Eksemplet nedenfor viser hvordan du bruker Elasticsearch SLUSH API for å spyle en målindeks.

Curl -xpost “http: // localhost: 9200/Disney/_flush” -h “KBN -XSRF: Rapportering”

Forespørselen over skyller indeksen med navnet 'Disney'. Den resulterende utgangen er som vist:


"_Shards":
"Totalt": 2,
"Vellykket": 2,
"Mislykket": 0

Eksempel 2 - Elasticsearch Spyle flere indekser og datastrømmer

For å skylle flere indekser og datastrømmer, kan vi spesifisere dem som komma-separert liste som vist:

Curl -xpost "http: // localhost: 9200/disney, disney_plus/_flush" -h "kbn -xsrf: rapportering"

Den resulterende utgangen:


"_Shards":
"Totalt": 4,
"Vellykket": 4,
"Mislykket": 0

Eksempel 3 - Elasticsearch Spyle alle indekser og datastrømmer i klyngen

For å skylle alle datastrømmer og indekser i klyngen, kan vi kjøre forespørselen som vist:

Curl -xpost "http: // localhost: 9200/_flush" -h "kbn -xsrf: rapportering"

Den resulterende utgangen:


"_Shards":
"Totalt": 12,
"Vellykket": 12,
"Mislykket": 0

Konklusjon

I dette innlegget lærte du hvordan du bruker Elasticsearch SLUSH API for å spyle transaksjonsloggen fra en indeks eller datastrøm til Lucene -indeksen.