Beschreibung der Methode

Während Stemming hilft, den Umfang der Suche zu erweitern, indem es gebeugte Wörter in ihre Wurzelform vereinfacht, erweitern Synonyme den Umfang, indem sie Konzepte und Ideen in Beziehung setzen. Wie oben erwähnt, besteht eines der vielen Probleme, die uns begegnen können, darin, nicht genau geeignete Wörter in der Suchabfrage zu verwenden. Zum Beispiel können wir den Feldnamen gleich "blue jacket" im Dokument und den Namen "cyan jacket" in der Suchabfrage haben. Die Verwendung des Synonym-Token-Filters ermöglicht die einfache Handhabung von Synonymen während des Analyseprozesses. Synonyme werden mithilfe einer Konfigurationsdatei konfiguriert.

Beschreibung des Prozesses

1)Zuerst müssen wir einen Token-Filter vom Typ synonym definieren und Synonym-Formate in Formatting Synonyms hinzufügen. Erste Möglichkeit, einen Filter festzulegen:

Und eine weitere Möglichkeit, einen Pfad zu synonym.txt:

"filter" : { "synonyms_filt" : {"tokenizer": "keyword", "type" : "synonym", "synonyms_path" : "analysis/synonym.txt" } } } }

HINWEIS: Diese Datei analysis/synonym.txt muss sich in jedem Knoten des Clusters befinden. Dateiformat sollte wie folgt sein:

Oben beschrieben konfiguriert einen Synonym-Filter mit einem Pfad von analysis/synonym.txt (relativ zum Konfigurationsspeicherort).

Supergiant Von Qbox: Das erste Total Control System für Rechenzentren, mit dem Sie ganz einfach bis zu 60% Ihrer AWS-Rechnung sparen können.

 "analyzer": { "filter_synonyms": { "filter": , "tokenizer": "keyword" } }

Sie können sehen, dass wir zwei Synonyme für blaue und goldene Farben hinzugefügt haben. Wenn der Benutzer nach "cobalt dress" sucht, gibt elastic den Bereich mit der Farbe "cobalt" und "blue, Blue, blue-gold, dark blue/black/charcoal, duke blue, jade blue, scottsdale blue, blue/white/khaki, pacific blue" zurück. Sie können beispielsweise eine Abfrage erstellen und ohne Synonyme testen und dann unseren Analyzer "filter_synonyms" hinzufügen.

3) Testen wir unseren benutzerdefinierten Stoppwortfilter:

Als zweiten:

"hits" : { "total" : 36165,"max_score" : 0.62592113}

Zusätzliche Informationen

Die Verwendung desselben Synonym-Token-Filters sowohl zur Indexzeit als auch zur Suchzeit ist redundant. Wenn wir Gold zum Indexzeitpunkt durch die beiden Begriffe Gold-Blau und Gold ersetzen, müssen wir zum Suchzeitpunkt nur nach einem dieser Begriffe suchen. Wenn wir zum Indexzeitpunkt keine Synonyme verwenden, müssten wir alternativ eine Abfrage nach Gold in eine Abfrage nach Gold oder Goldblau zum Suchzeitpunkt konvertieren.

Kategorien: Articles

0 Kommentare

Schreibe einen Kommentar

Avatar-Platzhalter

Deine E-Mail-Adresse wird nicht veröffentlicht.