W tym poście nauczymy się, jak klonować istniejący indeks w klastrze ElasticSearch. Może to pozwolić na przeprowadzenie modyfikacji indeksu bez zmiany oryginalnego indeksu. Umożliwia także szybką zmianę nazwy, indeksowania i przesyłania starych danych w jednym poleceniu.
Zanurzmy się.
Składnia żądania
Poniższy fragment pokazuje składnię API indeksu klonów:
POST //_clone/
UMIEŚCIĆ //_clone/
Żądanie klonuje indeks do nowego indeksu, w którym każdy z pierwotnych pierwotnych odłamków jest skopiowany do nowego podstawowego udostępniania w nowym indeksie.
Należy pamiętać, że Elasticsearch nie sklonuje szablonów indeksu i metadanych indeksu do indeksu klonów. Takie metadane obejmują aliasy, obserwujące CCR itp.
Jak działa klonowanie indeksu
ElasticSearch wykonuje następujące działania podczas klonowania indeksu:
Warunki klonowania indeksu
Do klonowania indeksu konieczne są następujące warunki:
Przykładowa ilustracja
Spójrzmy na przykład, jak używać interfejsu API klonu Elasticsearch do klonowania istniejącego indeksu.
Załóżmy, że mamy indeks o nazwie „Netflix”. Możemy utworzyć indeks klonów z żądaniem, jak pokazano:
Możemy zacząć od ustawienia indeksu na odczyt. ElasticSearch nie sklonuje indeksu w trybie zapisu:
curl -xput "http: // localhost: 9200/netflix/_block/read_only" -h "kbn -xsrf: raportowanie"
Powinno to powrócić w następujący sposób:
„Uznany”: prawda,
„Shards_acknowledged”: True,
„indeksy”: [
„Nazwa”: „Netflix”,
„zablokowane”: prawda
]
Na koniec możemy sklonować indeks, jak pokazano następująco:
curl -xpost "http: // localhost: 9200/netflix/_clone/netflix_copy" -h "kbn -xsrf: raportowanie"
Uruchomienie poprzedniego żądania powinno utworzyć klon indeksu i zwrócić wyjście jako:
„Uznany”: prawda,
„Shards_acknowledged”: True,
„Indeks”: „Netflix_copy”
Jeśli chcesz określić ustawienia indeksu i aliasy, możesz uruchomić następujące polecenie, jak pokazano:
curl -xpost "http: // localhost: 9200/netflix/_clone/netflix_cp" -h "kbn -xsrf: raportowanie" -h "content -typ: application/json" -d '
„Ustawienia”:
"indeks.numer_of_shards ”: 1,
„Number_of_replicas”: 3
,
"skróty":
„Netflix_alias”:
'
Należy pamiętać, że liczba odłamków indeksu klonu musi być podobna do liczby odłamków indeksu źródłowego.
Wyjście:
„Uznany”: prawda,
„Shards_acknowledged”: True,
„Indeks”: „Netflix_cp”
UWAGA: Elasticsearch zwraca uznane: prawdziwy status natychmiast. Żądanie nie czeka na zakończenie procesu klonowania.
Wniosek
W tym poście omówiliśmy podstawy pracy z interfejsem Elasticsearch Kloning API. To pozwala utworzyć kopię istniejącego indeksu w klastrze.
Dziękuje za przeczytanie!