2

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

4

1 回答 1

1

我不相信,不。不幸的是,我相信这个问题的答案仍然代表 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

等等。

于 2013-10-11T16:03:14.820 回答