Elasticsearch Flush

Elasticsearch Flush
ElasticSearch zapewnia interfejs API Flush, który wywołuje operacje indeksu lub strumienia danych. Płuczanie indeksu lub strumienia danych zapewnia, że ​​dane przechowywane w dzienniku transakcji są przenoszone do indeksu Lucene.

Przenoszenie danych z dziennika transakcji do indeksu Lucene usunęło potrzebę zarządzania kolejną kopią dziennika transakcji. Umożliwia także elasticsearch zwolnić przestrzeń dysku poprzez usunięcie dowolnych niepotrzebnych plików generacji.

Ten post obejmie przegląd interfejsu API Elasticsearch Flush, umożliwiając nam spłukanie jednego lub więcej strumieni indeksu lub danych.

Składnia API

Poniższy fragment pokazuje składnię za pomocą interfejsu API spłukiwania elasticsearch.

Post // _ Blush

Parametr docelowy może być nazwą indeksu, strumienia danych lub indeksu. Możesz także określić wiele indeksów lub strumieni danych na liście oddzielonej przecinki. Należy pamiętać, że ElasticSearch spłukuje dziennik transakcji w określonych celach.

Jeśli chcesz wypłukać wszystkie wskaźniki i strumienie danych w klastrze, możesz pominąć wartość docelową, jak pokazano w poniższej składni:

Post /_flush

Możesz także użyć gwiazdka lub parametru _ALL.

Parametry zapytania

API obsługuje następujące parametry, umożliwiając zmodyfikowanie zachowania żądania i odpowiedzi.

  1. zezwalaj_no_inidices - umożliwia żądanie zwrócić błąd, jeśli jakiekolwiek wyrażenia lub alias dziki są przekazywane w wartości docelowej.
  2. rozejdź_wildcards - pozwala żądanie rozszerzyć przekazane wieloznaczne zyska i dopasowywać je w dowolnym indeksie lub strumieniu danych.
  3. Force - umożliwia żądanie wymuszenia operacji spłukiwania pomimo braku danych do zobowiązania do indeksu Lucene.
  4. Ignorate_Unavailable - ignoruje, jeśli cel jest brakuje lub zamknięty.
  5. Wait_if_ongoing - blokuje operację spłukiwa.

Przykład - indeks specyficzny dla elasticearch flush

Poniższy przykład pokazuje, jak używać interfejsu API Flush ElasticSearch, aby wypłukać indeks docelowy.

curl -xpost „http: // localhost: 9200/disney/_flush” -H „kbn -xsrf: raportowanie”

Powyższe żądanie spłukuje indeks o nazwie „Disney”. Powstałe wyjście jest jak pokazano:


„_Shards”:
„Total”: 2,
„Sukces”: 2,
„nieudany”: 0

Przykład 2 - ElasticSearch Flush Wiele indeksów i strumieni danych

Aby wypłukać wiele indeksów i strumieni danych, możemy je określić jako listę oddzieloną przecinkami, jak pokazano:

curl -xpost "http: // localhost: 9200/Disney, Disney_plus/_flush" -h "kbn -xsrf: raportowanie"

Wynikowe wyjście:


„_Shards”:
„Total”: 4,
„Sukces”: 4,
„nieudany”: 0

Przykład 3 - ElasticSearch Płucz wszystkie wskaźniki i strumienie danych w klastrze

Aby wypłukać wszystkie strumienie danych i wskaźniki w klastrze, możemy uruchomić żądanie, jak pokazano:

curl -xpost "http: // localhost: 9200/_flush" -h "kbn -xsrf: raportowanie"

Wynikowe wyjście:


„_Shards”:
„Total”: 12,
„Sukces”: 12,
„nieudany”: 0

Wniosek

W tym poście nauczyłeś się używać interfejsu API Flush Elasticsearch, aby wypłukać dziennik transakcji z indeksu lub strumienia danych do indeksu Lucene.