Wie optimiert man die Indexierungsstrategie von Elasticsearch für die Unterstützung von mehrsprachigen Katalogen mit unterschiedlichen Stemming-Regeln?

Die effizienteste Methode zur Umsetzung mehrsprachiger Kataloge in Elasticsearch ist die Implementierung von Multi-Fields oder sprachspezifischen Indizes. Da ein einzelnes Feld in Elasticsearch nur einen Analyzer zur Indexierung nutzen kann, müssen wir für jede Sprache separate Analyse-Pipelines definieren, um die korrekten Stemming-Regeln anzuwenden.

Wir definieren in den Index-Settings Custom Analyzer für jede benötigte Sprache. Ein deutscher Analyzer nutzt beispielsweise den german_stemmer, während der englische Analyzer auf den english_stemmer zurückgreift. Im Mapping weisen wir dem entsprechenden Feld mehrere Unterfelder zu:

json "properties": { "product_name": { "type": "text", "fields": { "de": { "type": "text", "analyzer": "german_analyzer" }, "en": { "type": "text", "analyzer": "english_analyzer" }, "fr": { "type": "text", "analyzer": "french_analyzer" } } } }

Je nach Datenvolumen und Architektur wählen wir zwischen zwei Strategien:

StrategieAnsatzVorteilNachteil
Multi-FieldsEin Dokument, mehrere SprachfelderEinfache Verwaltung, schnelle UpdatesHöherer Speicherverbrauch pro Dokument
Index-per-LanguageSeparater Index pro SpracheMaximale Performance, isolierte EinstellungenKomplexeres Routing der Anfragen

Die Wahl der Strategie hängt stark von der Menge der Katalogdaten und der erwarteten Query-Last ab. Bei der Implementierung im Bereich Data Engineering achten wir darauf, dass die Suchanfragen über ein multi_match-Query gezielt auf das Sprachfeld gesteuert werden, das dem User-Kontext entspricht. Dies verhindert, dass Stemming-Regeln einer Sprache fälschlicherweise auf eine andere angewendet werden, was die Präzision der Suchergebnisse (Precision und Recall) massiv steigern würde.

Zusätzlich nutzen wir Dynamic Templates, um die Erstellung dieser Sprachfelder zu automatisieren, sobald neue Sprachcodes in den Quelldaten auftauchen. Dies reduziert den manuellen Aufwand beim Mapping-Management.

Wir raten bei hochvolumigen E-Commerce-Katalogen klar zur Strategie der sprachspezifischen Indizes, da nur so die volle Kontrolle über die Shard-Verteilung und die Analyse-Performance pro Region gewährleistet ist, während Multi-Fields lediglich für kleinere Kataloge mit geringer Sprachvielfalt praktikabel sind.

Sergej Wiens

Sergej Wiens

Gründer & Software Architekt