Elastyczne wyszukiwanie

Reindeks Elasticsearch w miejscu

Reindeks Elasticsearch w miejscu
Indeksowanie Elasticsearch to ważna funkcja, która pozwala silnikowi działać szybko i dokładnie.

Jednak, jak wiesz, gdy dane zostaną zmapowane do indeksu, nie można ich modyfikować. Aby to zrobić, musisz ponownie zindeksować dane z wymaganymi modyfikacjami. Proces ten może prowadzić do przestojów, co nie jest zbyt dobrą praktyką, zwłaszcza w przypadku usługi, która już jest w obiegu.

Aby to obejść, możemy użyć aliasów indeksów, które pozwalają nam płynnie przełączać się między indeksami.

Jak stworzyć indeks?

Pierwszym krokiem jest upewnienie się, że masz istniejący indeks, który chcesz zaktualizować dane.

W tym samouczku będziemy mieli stary i nowy indeks, które będą funkcjonować jako ich nazwy.

PUT /stary_indeks/

"ustawienia":
"liczba_odłamków": 1
,
"skróty":
"Użyj mnie":
,
„odwzorowania”:
"nieruchomości":
"Nazwa":
"Wpisz tekst"
,
"ID":
"typ": "liczba całkowita"
,
„płatne”:
"typ": "wartość logiczna"



W przypadku użytkowników cURL użyj dołączonego polecenia:

curl -XPUT "http://localhost:9200/old_index/" -H 'Content-Type: application/json' -d'  "settings":     "number_of_shards": 1  ,  "aliases":     "use_me" :   ,   "mappings":     "properties":       "name":        "type": "text"      ,      "id":     "type": "integer"      ,      "paid":         "type ”: „boolean”            '

Następnie utwórz nowy indeks, którego będziemy używać. Skopiuj wszystkie ustawienia i mapowania ze starego indeksu jako:

PUT /nowy_indeks

"ustawienia":
"liczba_odłamków": 1
,
"skróty":
"Użyj mnie":
,
„odwzorowania”:
"nieruchomości":
"Nazwa":
"Wpisz tekst"
,
"ID":
"typ": "liczba całkowita"
,
„płatne”:
"typ": "obiekt"



Oto polecenie cURL:

curl -XPUT "http://localhost:9200/new_index" -H 'Content-Type: application/json' -d'  "settings":     "number_of_shards": 1  ,  "aliases":     "use_me":   ,   "mappings":     "properties":       "name":          "type": "text"      ,      „id":       „type": "integer"      ,      „paid":            „type” : "obiekt"            '

Mając ustawienie i mapowania w nowym indeksie, użyj interfejsu API reindex, aby skopiować dane ze starego indeksu do nowego:

POST _ponowna indeksacja

"źródło":
"indeks": "stary_indeks"
,
„docelowy”:
"indeks": "nowy_indeks"

Oto polecenie cURL:

curl -XPOST "http:/localhost:9200/_reindex" -H 'Content-Type: application/json' -d'  "source":     "index": "old_index"  ,  "dest":     "index" : "nowy_indeks"  '

Teraz skopiuj alias starego indeksu do nowego, używając api _alias jako:

POST /_aliasy

"działania" : [
"add" : "index" : "new_index", "alias" : "use_me"
]

Oto polecenie cURL:

curl -XPOST "http://localhost:9200/_aliases" -H 'Content-Type: application/json' -d'    "actions" : [        "add" : "index" : "new_index", "alias " : "Użyj mnie" ]'

Po zakończeniu możesz teraz usunąć stary indeks, a aplikacje będą używać nowego indeksu (ze względu na alias) bez przestojów.

Wniosek

Po opanowaniu pojęć omawianych w tym samouczku będziesz w stanie ponownie zindeksować dane ze starego indeksu do nowego w miejscu.

Jak używać Xdotool do stymulacji kliknięć myszą i naciśnięć klawiszy w systemie Linux?
Xdotool to darmowe i otwarte narzędzie wiersza poleceń do symulacji kliknięć myszą i naciśnięć klawiszy. Ten artykuł zawiera krótki przewodnik dotyczą...
5 najlepszych ergonomicznych myszy komputerowych dla systemu Linux
Czy długotrwałe korzystanie z komputera powoduje ból nadgarstka lub palców?? Cierpisz na sztywne stawy i ciągle musisz uścisnąć dłonie? Czy czujesz pa...
Jak zmienić ustawienia myszy i touchpada za pomocą Xinput w systemie Linux?
Większość dystrybucji Linuksa jest domyślnie dostarczana z biblioteką „libinput” do obsługi zdarzeń wejściowych w systemie. Może przetwarzać zdarzenia...