In der von Ihnen bereitgestellten Dokumentation heißt es:
Dies deutet darauf hin, dass Griechisch nicht unterstützt wird, da es in keinen dieser Zeichensätze fällt (ich glaube, Griechisch ist Latin-7). Sie könnten jedoch versuchen, ein Sprachflag auf Datensatzebene zu setzen (da Sie angeben, dass Ihre Daten sowohl Englisch als auch Griechisch enthalten), vorausgesetzt, dass jede Sprache ihren eigenen Datensatz hat, oder versuchen, eine globale Sprache mithilfe von dgidx und
dgraph
Parameter, aber dies wirkt sich auf Dinge wie die Wortstammbildung für Datensätze oder Eigenschaften aus, die nicht in der globalen Sprache vorliegen.
dgidx --lang el
dgraph --lang el
Obwohl ich nicht sicher bin, ob es basierend auf der ursprünglichen Anweisung funktionieren wird.
Alternativ können Sie einen Prozess zum Entfernen diakritischer Zeichen mit einem benutzerdefinierten Accessor
implementieren , das atg.repository.search.indexing.PropertyAccessorImpl
erweitert Klasse (eine Option, da Sie sich auf Nucleus
beziehen , also gehe ich davon aus, dass Sie ATG/Oracle Commerce verwenden). Damit spezifizieren Sie ein normalisiertes durchsuchbares Feld in Ihrem Index, das die durchsuchbaren Felder in Ihrem aktuellen Index dupliziert, aber jetzt mit entfernten diakritischen Zeichen. Dieselbe Logik, die Sie im Accessor
anwenden muss dann als Präprozessor auf Ihre Suchbegriffe angewendet werden, damit Sie die Eingabe normalisieren, damit sie mit den indizierten Werten übereinstimmt. Zuletzt machen Sie Ihre ursprünglichen Felder im Index (mit den akzentuierten Zeichen) nur anzeigefähig und die normalisierten Felder durchsuchbar (aber zeigen sie nicht an).
Das Ergebnis wird mit Ihrem normalisierten Text übereinstimmen, aber der Nachteil ist, dass Sie Daten dupliziert haben, sodass Ihr Index größer wird. Bei kleinen Datensätzen kein großes Problem. Es kann sich auch darauf auswirken, wie sich die OOTB-Funktionalität, wie z. B. Stemming, mit dem normalisierten Datensatz verhält. Sie müssen einige Tests mit verschiedenen Szenarien in griechischer und englischer Sprache durchführen, um zu sehen, ob die Genauigkeit und der Abruf beeinträchtigt werden.