Indeks elasticsearch lub indeksy to (są) strukturą danych zawierających mapowania dla różnych dokumentów. W relacyjnej bazie danych indeks może odnosić się do określonej bazy danych.
Klaster ElasticSearch zawiera kilka wskaźników, w tym wiele rodzajów, które następnie przechowują dokumenty.
Poniższe mogą reprezentować relację Elasticsearch z relacyjną bazą danych.
W tym przewodniku omówimy różne metody zmiany nazwy istniejącego indeksu ElasticSearch.
Metoda 1: Reindexing
Pierwszą metodą, której możemy użyć podczas zmiany nazwy indeksu, jest API Reindexing. Ten interfejs API umożliwia kopiowanie dokumentów z indeksu źródłowego do określonego indeksu docelowego.
Jednak interfejs API Reindex nie kopiuje konfiguracji indeksu źródłowego do miejsca docelowego. Dlatego musimy skonfigurować indeks docelowy i zastosować konfigurację indeksu źródłowego przed wywołaniem Reindex.
Możemy zaimplementować pełną operację ponownego indeksu, wykonując kroki opisane poniżej:
Jeśli masz istniejący indeks ElasticSearch, skakaj do kroku 2
NOTATKA: W tym przewodniku zapewnimy wszystkie prośby o elasticsearch o curl.
Krok 1: Utwórz nowy indeks
Utwórzmy indeks, który będzie działał jako źródło. Dla uproszczenia użyjemy prostej konfiguracji indeksu z większością domyślnych parametrów.
Będziemy złożyć wniosek do punktu końcowego HTTP ElasticSearch HTTP.
Przykładowe żądanie utworzenia indeksu „indeks testowy” znajduje się poniżej:
curl -xput "http: // localhost: 9200/test -index" -h 'content -Type: Application/Json' -d 'Następnym krokiem jest dodanie danych do utworzonego indeksu. Domyślnie indeks nie zawiera żadnych dokumentów.
curl -xget http: // localhost: 9200/_cat/indices/test -index \?vAby dodać dane do indeksu, uruchom żądanie jako:
Powyższe żądanie powinno utworzyć dokument w indeksie indeksu testu.
Możemy zweryfikować dokument istnieje za pomocą żądania GET do punktu końcowego indeksu.
curl -xget "http: // locahost: 9200/test-index/_search" -h 'content -Type: Application/Json' -d 'Przykładem wyjściowym jest Ans:
Krok 2: Pobierz konfigurację źródła
Następnym krokiem przed wykonaniem operacji Reindex jest skopiowanie konfiguracji indeksu źródłowego.
Zaczniemy od uzyskania ustawienia indeksu. Aby to zrobić, wysyłamy żądanie HTTP do interfejsu API _setting.
Ustawienia = $ (curl -xget "https: // localhost: 9200/test -index/_settings")Zapisujemy dane wyjściowe w zmiennej, którą możemy zweryfikować za pomocą polecenia:
Echo $ Ustawienia | JQPonieważ wyjście jest w formacie JSON, przekazujemy go procesorowi JSON, takiemu jak JQ. Przykładem jest to, jak pokazano:
Następnym krokiem jest uzyskanie mapowania indeksu. W takim przypadku wyślemy żądanie GET do punktu końcowego _Mapping jako:
Mapping = $ (curl -xget "https: // localhost: 9200/test -index/_mapping")Sprawdź, czy wyjście jest zapisywane na zmiennej:
Echo $ mapowanie | JQWyjście jest jak pokazane:
Następnie połącz dane wyjściowe zarówno ustawienia $, jak i $ mapowanie do jednego formatu JSON.
Poniżej znajduje się skrócony zrzut ekranu obu połączonych wyjść (konfiguracja.JSON).
Krok 3: Utwórz nowy indeks
Nadszedł czas, aby utworzyć nowy indeks z konfiguracją zapisu. Upewnij się, że konfiguracja nie zawiera żadnych błędów.
Uruchom polecenie jako:
curl -xput "http: // localhost: 9200/przemianowanie -index" -h 'content -type: application/json' -d Config.JSON 'Poniżej znajduje się zawartość w konfiguracji, plik JSON używany w tym samouczku.
Po udanym stworzeniu powinieneś zobaczyć potwierdzone: prawdziwe, jak pokazano:
Krok 4: Reindex
Teraz, gdy mamy przemianowany indeks podobny do indeksu źródłowego, możemy kopiować dane z źródła na miejsce docelowe za pomocą API Reindex.
Po dokonaniu żądania Reindex ElasticSearch skopiuje dane z określonego indeksu źródłowego do indeksu docelowego.
Oto przykład wyjścia:
Krok 5: Usuń wskaźnik źródła
Nie ma sensu mieć dwóch wskaźników o podobnej konfiguracji i danych. Dlatego możemy upuścić indeks źródła:
Metoda 2: API klonów
Drugim i najłatwiejszym sposobem zmiany nazwy i indeksu jest użycie interfejsu API klonów wprowadzonych w Elasticsearch w wersji 7.4 i powyżej.
Aby korzystać z interfejsu API klonów, musisz upewnić się, że indeks źródłowy jest tylko odczytu, a zdrowie klastra jest zielone.
Jak działa klonowanie
Klonowanie działa w następujący sposób:
Krok 1: Ustaw indeks źródłowy na tylko odczyt
Aby ustawić indeks źródłowy w tryb tylko do odczytu, używamy interfejsu API _Settings i przekazujemy informacje, jak pokazano na poniższym żądaniu:
Krok 2: Indeks źródła klonu do celu
Aby sklonować indeks testowy do nowego indeksu o nazwie przemianowany na indeks, możemy uruchomić żądanie, jak pokazano:
curl -xpost „http: // localhost: 9200/test-indeks/_clone/przemianowany-indeks"
Zakładając, że następujące wymagania są prawdziwe, powinieneś mieć przemianowany wskaźnik indeksu źródłowego.
Wniosek
W tym przewodniku omówiliśmy, jak zmienić nazwę indeksu ElasticSearch przy użyciu dwóch metod.
Dziękuję za przeczytanie!