Was passiert, wenn ich die Zuordnung für meinen Index geändert habe und neu indizieren möchte?Elasticsearch Reindexing beim Aktualisieren von Dokumenten?
Ich benutze derzeit die Java-API, die noch nicht die Reindex-Funktionalität hat, so würde die Verwendung von Bulk meine Probleme lösen. So wäre die Lösung in etwa so aussehen
ref How to reindex in ElasticSearch via Java API
Vor langer Zeit
- create index MY_INDEX_1
- erstellen Mapping für MY_INDEX_1
- erstellen alias MY_INDEX_1 -> MY_INDEX
- Dokumente in MY_INDEX erstellen
Zeit zum Neuindizieren!
- Liste item
- Index MY_INDEX_2
- Mapping für MY_INDEX_2
- Scroll-Suche + bulk alle Dokumente aus MY_INDEX_1 zu MY_INDEX_2
Umbenennen und Löschen von alten Index
erstellen erstellen- alias erstellen MY_INDEX_2 -> MY_INDEX
- löschen alias MY_INDEX_1 -> MY_INDEX
- Index MY_INDEX_1
löschen Aber was passiert, während alle Dokumente reindexing, ein Dokument, das von einem aktualisiert am Anfang indexiert wurde Benutzer. Oder das zwischen Reindexing und Umbenennen von Aliasen die oben genannten Happens?
Mögliche Lösungen?
- Eine Möglichkeit wäre externe Version verwenden, wie es kein Dokument mit einer höheren Version
- überschreibt Oder könnte es auf eine andere Weise gelöst werden?
- Oder zwischen dem Umbenennen von Aliasen und dem Löschen von my_index_1 Neuindizieren aller Dokumente, die seit der Neuindizierung indiziert wurden? Aber dann wäre es immer noch so, dass ein Dokument zwischen Aliasnamen umbenennen und neu indiziert wurde
- Oder sollten wir während der Reindexierung sperren? Es scheint wie eine schlechte Lösung ..