В настоящее время нет плагина для elasticsearch для преобразования слов в число.
Я предлагаю вам создать код, который получает исходный запрос в качестве ввода и выводит преобразованный запрос (например: преобразование слов в число) для поиска elasticsearch.
Вы можете использовать this ruby gem (open-source), чтобы преобразовать слова в число и наоборот.
NumbersInWords.in_numbers("nineteen sixty five")
1965
И, чтобы сделать вещи проще ruby intergration for elasticsearch может, использоваться, чтобы окончательно запросить elasticsearch и получить результаты.
require 'elasticsearch'
client = Elasticsearch::Client.new log: true
client.transport.reload_connections!
client.cluster.health
client.search q: 'test'
Вы можете попробовать использовать [лексема фильтр синоним] (https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-synonym-tokenfilter.html) приравнять все прописано с их числовым эквивалентом. – Val
@Val, правда, но это будет очень долго. Например, мне нужно было бы указать синоним «семьсот двадцать шесть => 726». Я надеялся, что какое-то программное решение будет включено в плагин ES, похожий на PyPI [num2words] (https://pypi.python.org/pypi/num2words). – Garrett
Есть несколько проектов, которые делают это на Java ([здесь] (https://github.com/gulimran/num2words)), поэтому создание фильтра токенов, который его использует, не будет слишком сложным на мой взгляд , Я постараюсь добраться до него на обед, если у меня будет время :-) – Val