Gibt es eine Standardmethode, um typeahead Autocomplete Zeichen-für-Zeichen zu implementieren, die ElasticSearch für kleine Felder (z. B. Ortsnamen) verwenden.
(Zum Zeitpunkt des Verfassens dieses Artikels gibt es eine Reihe von Diskussionen über die Suche, aber nichts, was definitiv erscheint. (Ich sehe auch, dass in Apache Lucene 4 von der Auswirkung der Feature-Unterstützung für Autocomplete / Suggest gesprochen wird). ))
Danke für die Gedanken.
Wie David schrieb, können Sie NGrams oder das vorgeschlagene Plugin verwenden. Mit Lucene 4 ist es möglich, automatisch bessere Vorschläge zu machen, ohne dass ein separater Index beibehalten werden muss.
Im Moment können Sie auch einfach eine Terms Facette erstellen Ihr Feld und verwenden Sie ein Regex-Muster, um nur die Einträge zu behalten, die mit dem entsprechenden Präfix beginnen:
%Vor%Die Regex ist nur ein Beispiel, sie kann verbessert werden und Sie können auch die Groß- und Kleinschreibung ohne Berücksichtigung der Groß- / Kleinschreibung ändern. Regex-Flag . Achte auch darauf, dass die Erstellung einer Facette auf einem Feld, das viele eindeutige Begriffe enthält, keine gute Idee ist, es sei denn, du hast genug Speicher dafür.
Verwenden Sie den integrierten Autokomplettierungsvorschlag, der seit Version 0.90.3 verfügbar ist:
Es ist unglaublich schnell und wurde genau für diesen Anwendungsfall entwickelt.
Tags und Links autocomplete elasticsearch typeahead