Zum Beispiel speichere ich Benutzerpässe in Elasticsearch. Sie werden als fortlaufende Buchstaben und Ziffern des folgenden Formats gespeichert: AADDDDDDD
. 2 Alphabet und dann 7 Ziffern.Wie führt man eine maskierte Abfrage in Elasticsearch durch?
Der Benutzer interessiert sich für die Suche, wo er spezifische Werte für bestimmte Positionen angeben kann. Ich möchte zum Beispiel alle Passnummern suchen, die am Anfang "A", an dritter Stelle "7" und an letzter Stelle "0" haben. Etwas wie dieses:
A-7----0
Wie man eine leistungsfähige Abfrage für dieses erzeugt? Muss ich einen benutzerdefinierten Analysator dafür erstellen?
Bisher habe ich Leerzeichen zwischen Zeichen eingefügt und dann nach Indexposition gesucht, scheint mir eine kostspielige Operation zu sein.
Es gibt gute Anzahl der Dokumente/Datensätze verwenden. Aber jede Saite wird klein sein. Wie weniger als 16 Zeichen. –
Dann schlage ich vor, zweite Lösung zu versuchen. Es sollte ziemlich gut funktionieren. – dpa
Könntest du bitte ein wenig auf den 2. Weg gehen? Welche Art von Suche ist das? Sind diese Begriffe Filter? Ich konnte nichts finden, was mit 'pos' und 'symbol' zu tun hat. –