2015-08-27 20 views

Odpowiedz

6

To się zmienia index.number_of_shards domyślne ustawienia w pliku konfiguracyjnym wymagałyby zmiany ustawienia wszystkich węzłów, a następnie ponownego uruchomienia instancji idealnie zgodnie z wytycznymi dla rolling restarts.

Jednak jeśli to nie jest opcją i jeśli wyraźnie określając number_of_shards w ustawieniach podczas tworzenia nowego indeksu nie jest idealny, to obejście będzie za pomocą index templates

Przykład:

Można utworzyć index_defaults domyślnie poniżej:

PUT /_template/index_defaults 
{ 
    "template": "*", 
    "settings": { 
    "number_of_shards": 4 
    } 
} 

Stosuje ustawienie określone w szablonie index_defaults do wszystkich nowych indeksów.

+0

Ponowne uruchomienie wszystkich węzłów byłoby opcją, ponieważ jest o wiele mniej bolesne w/Elasticsearch 1.7, ale zapomniałem o szablonach indeksu. To idealne rozwiązanie w tym przypadku! Dziękuję Ci. –

0

Po ustawieniu liczby odłamków dla indeksu w ElasticSearch, nie można ich zmienić. Będziesz musiał utworzyć nowy indeks z żądaną liczbą odłamków, a w zależności od przypadku użycia możesz przesłać dane do nowego indeksu.

Mówię w zależności od przypadku użycia, ponieważ na przykład, jeśli przechowujesz dane oparte na czasie, takie jak zdarzenia w dzienniku, rozsądnie jest zamknąć jeden indeks i otworzyć nowy z inną liczbą odłamków, a indeks wszystkie dane przechodzą do tego nowego indeksu, zachowując stary do wyszukiwania.

Jeśli jednak twoim przypadkiem użycia jest na przykład przechowywanie blogów, a Twoje indeksy są według tematu, musisz (a) utworzyć nowe wskaźniki, jak podano powyżej, z różną liczbą odłamków i (b) ponownie zindeksuj swoje dane. Dla (b) polecam użycie Scroll i Scan API, aby pobrać dane ze starego indeksu.

+0

Dzięki Mauricio. Szukam zmiany tylko dla nowych indeksów. Zastanawiam się, czy muszę uruchomić wszystkie węzły, aby nowe ustawienia domyślne zaczęły obowiązywać. –

Powiązane problemy