Na szczęście dzięki Elasticsearch, gdy dane stają się zbędne, wystarczy uzyskać dostęp do narzędzia do wykonywania żądań i przesyłania danych przez sieć.
Ten krótki przewodnik pokaże Ci, jak używać potężnego API Elasticsearch do usuwania dokumentów i indeksów.
UWAGA: Zakładamy, że w Twoim systemie działa Elasticsearch i masz narzędzie do tworzenia żądań, takie jak cURL. Dostarczamy również surowe żądania Kibana, jeśli korzystasz z konsoli Kibana (zalecane).
Jak wyświetlić indeks?
Jeśli chcesz usunąć i zindeksować w Elasticsearch, musisz najpierw sprawdzić, czy istnieje, zanim wyślesz żądanie DELETETE.
Jeśli spróbujesz usunąć nieistniejący indeks, otrzymasz błąd podobny do pokazanego poniżej:
USUŃ /ten_indeks_nie_istniejeDla polecenia cURL:
curl -XDELETE „http://localhost:9200/this_index_does_nie_istnieje”Usunięcie indeksu spowoduje błąd, ponieważ:
"błąd" :
"pierwotna przyczyna" : [
"typ" : "index_not_found_exception",
"powód" : "brak takiego indeksu [this_index_does_not_exist]",
"index_uuid" : "_na_",
"ratunek.wpisz" : "indeks_lub_alias",
"ratunek.id” : „ten_indeks_nie_istnieje”,
„indeks” : „ten_indeks_nie_istnieje”
],
"typ" : "index_not_found_exception",
"powód" : "brak takiego indeksu [this_index_does_not_exist]",
"index_uuid" : "_na_",
"ratunek.typ" : "indeks_lub_alias",
"ratunek.id” : „ten_indeks_nie_istnieje”,
„indeks” : „ten_indeks_nie_istnieje”
,
"stan" : 404
Istnieją różne sposoby sprawdzenia, czy indeks istnieje; najlepiej jest wymienić jego nazwę. Na przykład możesz użyć symboli wieloznacznych, aby dopasować konkretną nazwę.
Przykładowe żądanie poniżej wymienia indeksy o nazwach te*
POBIERZ /te*Polecenie cURL to:
curl -XGET „http://localhost:9200/te*”To polecenie powinno zwrócić wszystkie indeksy pasujące do tego konkretnego wzorca, umożliwiając zapamiętanie tylko częściowej nazwy indeksu, który chcesz usunąć.
"temp" :
"skróty" : ,
"mapowania" : ,
"ustawienia" :
"indeks" :
"wytyczanie" :
"przydział" :
"zawierać" :
"_tier_preference" : "zawartość_danych"
,
"liczba_odłamków" : "1",
"provided_name" : "temp",
"data_utworzenia" : "1611180802266",
"liczba_replik" : "1",
"uuid" : "c7dOH6MQQUmHM2MKJ73ekw",
"wersja" :
„utworzono” : „7100299”
,
"temp_1" :
"skróty" : ,
"mapowania" : ,
"ustawienia" :
"indeks" :
"wytyczanie" :
"przydział" :
"zawierać" :
"_tier_preference" : "zawartość_danych"
,
"liczba_odłamków" : "1",
"provided_name" : "temp_1",
"data_utworzenia" : "1611180811874",
"liczba_replik" : "1",
"uuid" : "pq1UUR2XTZS3xfs6Hxr4gg",
"wersja" :
„utworzono” : „7100299”
,
"temp_2" :
"skróty" : ,
"mapowania" : ,
"ustawienia" :
"indeks" :
"wytyczanie" :
"przydział" :
"zawierać" :
"_tier_preference" : "zawartość_danych"
,
"liczba_odłamków" : "1",
"provided_name" : "temp_2",
"data_utworzenia" : "1611180815041",
"liczba_replik" : "1",
"uuid" : "8NdXWPuBTLe6r4eZ407W9Q",
"wersja" :
„utworzono” : „7100299”
Innym sposobem jest dodanie do żądania parametru ignore_unavailable. Na przykład:
USUŃ /ignore_me?ignore_unavailable=prawdaDla użytkowników cURL:
[cc lang="tekst" width="100%" height="100%" escaped="true" theme="tablica" nowrap="0"]
curl -XDELETE „http://localhost:9200/ignore_me?ignore_unavailable=prawda”
Jak usunąć an Indeks?
Po uzyskaniu indeksu, który chcesz usunąć z Elasticsearch, użyj żądania DELETE, a następnie nazwy indeksu.
Ogólna składnia to:
KASOWAĆ /Nazwa indeksu może być konkretnym indeksem lub symbolem wieloznacznym, który wybiera grupę indeksów. Upewnij się, że używasz symboli wieloznacznych poprawnie; w przeciwnym razie możesz usunąć niewłaściwe indeksy.
UWAGA: Usuwanie indeksów Elasticsearch za pomocą aliasów jest niedozwolone.
Rozważ poniższe przykładowe żądanie, które usuwa indeks temp_1:
USUŃ /temp_1Dla polecenia cURL:
curl -XDELETE „http://localhost:9200/temp_1”Wykonanie tego polecenia powinno odpowiedzieć obiektem JSON, wskazującym na pomyślne usunięcie indeksu.
„potwierdzony”: prawda
Elasticsearch jest na tyle sprytny, że wie, że możesz przypadkowo usunąć indeksy. Dlatego możesz ustawić, jakie typy wyrażeń wieloznacznych są dozwolone.
Do tego typu wyrażeń symboli wieloznacznych należą:
- Wszystko: obejmuje wszystkie indeksy, w tym otwarte, zamknięte i ukryte (zaczynając od)
- otwarty: Zawiera tylko otwarte indeksy
- Zamknięte: Zawiera tylko indeksy zamknięte
- Żaden: Nie są dozwolone wyrażenia wieloznaczne.
Wniosek
W tym krótkim i prostym przewodniku omówiliśmy proces używania Elasticsearch do usuwania indeksów z klastra. Omówiliśmy również proste sposoby, które można wdrożyć, aby uniknąć błędów dla indeksów, które nie istnieją.
Dziękuję za przeczytanie.