如何配置Elasticsearch以匹配数字或“拼写”数字?

时间:2013-10-11 15:09:13

标签: search lucene elasticsearch

如果我在Elasticsearch中有一个文档,其中一个字段包含术语“十”,是否有一个分析器/标记器可以在搜索“10”或“十”时匹配该文件?

1 个答案:

答案 0 :(得分:1)

我不相信,不。我相信,this question的答案仍然代表ElasticSearch和Solr。

如果您不需要匹配很多数字(例如,仅限于通常拼写的数字),使用SynonymFilter设置相当简单,例如:

"filter" : {
    "synonym" : {
        "type" : "synonym",
        "synonyms_path" : "analysis/synonym.txt"
    }
}

在“synonyms.txt”中使用映射,如:

zero, aught => 0
quarter => .25
half => .5
one => 1
two => 2
three => 3
four => 4
five => 5
six => 6
seven => 7
eight => 8
nine => 9
ten => 10
eleven => 11
twelve, dozen => 12
twenty => 20
thirty => 30

等等。