Momentan gibt es kein Plug-in für elasticsearch, um Wörter in Zahlen zu konvertieren.
Ich empfehle Ihnen, einen Code zu erstellen, der rohe Abfrage als Eingabe erhält und die transformierte Abfrage (d. H. Wörter in Zahl umwandeln) für elasticsearch ausgibt.
Sie können this ruby gem (open-source) verwenden, um Wörter in Zahlen umzuwandeln und umgekehrt.
NumbersInWords.in_numbers("nineteen sixty five")
1965
Und schließlich verwendet, um Dinge einfacher ruby intergration for elasticsearch machen kann, um die Elasticsearch abfragen und die Ergebnisse zu erhalten.
require 'elasticsearch'
client = Elasticsearch::Client.new log: true
client.transport.reload_connections!
client.cluster.health
client.search q: 'test'
Sie könnten versuchen, einen [Synonym Token Filter] (https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-synonym-tokenfilter.html) zu verwenden, um alle Dinkel zu out-Nummer mit ihrer numerischen Entsprechung. – Val
@ Val, stimmt, aber es würde sehr lang werden. Zum Beispiel müsste ich das Synonym "siebenhundertsechsundzwanzig => 726" angeben. Ich habe auf einige programmatische Lösungen gehofft, die in ein ES-Plugin eingebettet sind, ähnlich wie PyPIs [num2words] (https://pypi.python.org/pypi/num2words). – Garrett
Es gibt ein paar Projekte, die das in Java machen ([hier] (https://github.com/gulimran/num2words)), also wäre es nicht zu schwierig, einen Token-Filter zu erstellen, der ihn nutzt . Ich werde versuchen, es zu Mittagessen zu bekommen, wenn ich Zeit habe :-) – Val