Korzystanie z ElasticSearch w celu sprawdzenia, czy istnieje alias

Korzystanie z ElasticSearch w celu sprawdzenia, czy istnieje alias

W tym krótkim artykule pokażemy, jak korzystać z API aliasu Elasticsearch, aby sprawdzić, czy w klastrze istnieje alias. Dobrze jest upewnić się, że indeks istnieje przed użyciem go w zapytaniu. Może być również korzystne, aby zapobiec odwołaniu się do podobnego indeksu, aby zapobiec zderzeniom nazwy.

Zanurzmy się.

Składnia żądania

Poniższy blok pokazuje alias żądania punktu końcowego API:

Głowa _alias/
Głowa /_alias /

Żądanie akceptuje następujące parametry:

  1. - Określa listę aliasów do sprawdzenia (jako wartości oddzielone przecinkami). Możesz także określić gwiazdkę jako znak wieloznaczny, aby oznaczyć wszystkie aliasy w klastrze.
  2. - Określa listę strumieni danych lub wskaźników używanych do ograniczenia żądania docelowego. Możesz także użyć gwiazdki lub wszystkich wieloznacznych.

Żądać odpowiedzi

Żądanie zwraca odpowiednie kody stanu HTTP, jak pokazano:

  1. 200 - WSZYSTKIE określone aliasy występują w klastrze.
  2. 404 - Jedna lub więcej aliasów nie istnieje w klastrze.

Przykład

Zilustrujmy, jak użyć tego interfejsu API. Załóżmy, że mamy indeks o nazwie Netflix, który zawiera filmy i programy telewizyjne.

Możemy zacząć od utworzenia aliasu dla indeksu, jak pokazano następująco:

curl -xpost "http: // localhost: 9200/_aliases" -h "kbn -xsrf: raportowanie" -h "content -Type: Application/Json" -d '

"działania": [

"dodać":
„Indeks”: „Netflix”,
„Alias”: „ntflx”


]
'

Następnie możemy sprawdzić, czy alias istnieje, jak pokazano następująco:

curl -xhead "http: // localhost: 9200/_alias/ntflx" -h "kbn -xsrf: raportowanie"

Powstałe wyjście jest następujące:

200 - OK

Jeśli poprosimy o nieistniejące pseudonim:

curl -xhead "http: // localhost: 9200/_alias/nf" -h "kbn -xsrf: raportowanie"

Poprzednie żądanie powinno zwrócić kod stanu 404 jako:


„STATHCODE”: 404,
"błąd nie znaleziony",
„Wiadomość”: „404 - nie znaleziono”

W takim przypadku indeks nie istnieje w klastrze.

Możemy również sprawdzić wiele aliasów, jak pokazano następująco:

curl -xhead "http: // localhost: 9200/_alias/ntflx, netflix_alias" -h "kbn -xsrf: raportowanie"

Powstałe wyjście jest następujące:

200 - OK

W takim przypadku możemy sprawdzić, czy oba aliasy istnieją w klastrze.

Jeśli jeden alias nie istnieje, żądanie zwraca kod 404-statowy.

Wniosek

W tym poście omówiliśmy sposób korzystania z API API aliasu Elasticsearch z metodą Head, aby sprawdzić, czy w klastrze istnieje określony alias.

Dziękuje za przeczytanie!