在elasticsearc中如何标记由空格分隔的单词,并且能够通过无空格键入来匹配

时间:2017-06-16 06:50:55

标签: elasticsearch matching analyzer

这是我想要实现的目标:

我的字段值:"一两三" 我希望能够通过键入以下内容来匹配此字段:one或onetwo或onetwothree或onethree或twothree或two or three

为此,tokenizer需要生成这些令牌: 一 一二 一二三 onethree 二 二三 3

您知道如何实施此分析仪吗?

1 个答案:

答案 0 :(得分:0)

当我们将不同的单词连接成一个时,德语中存在同样的问题。为此,Elasticsearch使用称为" coumpound words"的技术。还有一个名为"复合词令牌过滤器"的特定令牌过滤器。它试图在字符串中找到给定字典中的子词。您只需为您的语言定义字典。链接波纹管有完整的规格。 https://www.elastic.co/guide/en/elasticsearch/reference/5.5/analysis-compound-word-tokenfilter.html