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?
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.
Tags und Links n-gram elasticsearch