过滤器或分析器等同于英文数字和阿拉伯数字

时间:2016-12-10 03:52:10

标签: elasticsearch elasticsearch-plugin

我正在运行Elasticsearch服务器。

我希望查询fifty two meters以匹配包含52 meters的文档。

是否有任何插件(过滤器或分析器)将数字转换为阿拉伯数字?

1 个答案:

答案 0 :(得分:4)

目前没有弹性搜索插件可以将单词转换为数字。

我建议你创建一个代码,将原始查询作为输入,并输出转换后的查询(即:将单词转换为数字)进行弹性搜索。

您可以使用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'