Verringern Sie die Anzahl der Shards in ElasticSearch

9

Ist es möglich, die Anzahl der Shards in der ElasticSearch-Suchmaschine zu reduzieren, nachdem der Index erstellt wurde?

Ich habe es versucht:

%Vor%

Aber es gibt einen Fehler:

%Vor%     
Fedir RYKHTIK 30.04.2015, 08:16
quelle

3 Antworten

1

Nein, das ist nicht möglich. Du könntest viel ändern - z. Anzahl der Replikate für jeden Shard oder viele andere Indexeinstellungen, aber nicht die Anzahl der Shards.

Weitere Informationen finden Sie hier - Ссылка

    
Mysterion 30.04.2015 08:23
quelle
1

Ok. Wie @Mysterion sagte, ist es nicht möglich, die Anzahl der Shards mit Zero-Downtime direkt mit einem Index-Update zu ändern. Aber es gibt noch einen anderen Weg.

Sie müssen Ihren alten Index in einen neuen Index neu indizieren, nachdem Sie ihn mit der gewünschten Anzahl von Shards erstellt haben. (Wie ich sagte keine Null-Ausfallzeit)

Dafür können Sie die Scroll-Such-API verwenden:

  

Während eine Suchanforderung eine einzelne "Seite" von Ergebnissen zurückgibt, kann die Scroll-API verwendet werden, um eine große Anzahl von Ergebnissen (oder sogar alle Ergebnisse) von einer einzelnen Suchanfrage abzurufen, ähnlich wie Sie a Cursor auf einer traditionellen Datenbank.

     

Scrolling ist nicht für Echtzeit-Benutzeranfragen gedacht, sondern eher für die Verarbeitung großer Datenmengen, z. um den Inhalt eines Indexes in einen neuen Index mit einer anderen Konfiguration neu zu indizieren.

     

Client-Unterstützung für Scrollen und Neuindizieren:   Einige der offiziell unterstützten Clients stellen Helfer zur Verfügung, die Scroll-Suchen und das Neuindizieren von Dokumenten von einem Index zu einem anderen unterstützen:

     

Perl   Siehe Suche :: Elasticsearch :: Bulk und Suche :: Elasticsearch :: Scroll

     

Python   Siehe elasticsearch.helpers. *

Für weitere Informationen über die Scroll-Such-API empfehle ich den Offiziellen Dokumentation

Und vielleicht möchten Sie sich auch diese Antwort hier ansehen, vielleicht kann sie Ihnen auch ein paar Ideen geben Falls Sie Java verwenden.

    
eliasah 30.04.2015 09:13
quelle
1

Dies trifft nicht mehr zu. Mit 5.x können Sie die Anzahl der Indizes auf einen ganzen Bruch zusammenfassen. Zum Beispiel von 12 bis zu 1, 2, 3 oder 6 (siehe Dokumente ). Aber Sie müssen es in den schreibgeschützten Modus versetzen, und natürlich erfordert der Schrumpfungsprozess viel IO.

    
NikoNyrh 02.05.2017 18:11
quelle

Tags und Links