ElasticSearch N-Gramm Tokenfilter findet keine Teilwörter

8

Ich habe mit ElasticSearch für ein neues Projekt von mir gespielt. Ich habe die Standardanalysatoren eingestellt, um das ngram tokenfilter zu benutzen. Das ist meine elasticsearch.yml Datei:

%Vor%

Ich habe einen neuen Index erstellt und das folgende hinzugefügt:

%Vor%

Wenn ich jedoch mit der Abfrage text:hree oder text:ive oder anderen Teilbegriffen suche, gibt ElasticSearch dieses Dokument nicht zurück. Es gibt das Dokument nur zurück, wenn ich nach dem genauen Begriff suche (wie text:two ).

Ich habe auch versucht, die Konfigurationsdatei so zu ändern, dass default_search auch den ngram-Token-Filter verwendet, aber das Ergebnis war das gleiche. Was mache ich hier falsch und wie korrigiere ich es?

    
asleepysamurai 18.02.2011, 17:43
quelle

2 Antworten

9

Nicht sicher über die Einstellungen von default_ *. Aber das Anwenden eines Mappings, das index_analyzer und search_analyzer spezifiziert, funktioniert:

%Vor%     
bdargan 15.03.2011, 12:59
quelle
1

Sie sollten die get-Mapping-API überprüfen, um zu sehen, ob Ihr Mapping angewendet wurde: Ссылка

Übrigens wurde auf der Mailingliste gesagt, dass wenn ein Index bereits Dokumente enthält, die Zuordnungen, die Sie auf elasticsearch.yml vorgenommen haben, nicht angewendet werden. Sie müssen zuerst Ihren Index bereinigen.

Ich habe ngrams mit ES versucht und es funktioniert gut für mich.

    
Sebastien Lorber 03.07.2012 01:44
quelle

Tags und Links