是否有一个用于弹性搜索的词干分析器可以将“破坏”改为“破坏”

时间:2016-11-04 20:15:57

标签: elasticsearch stemming

以下是我想要做的主干: 打破:打破 破了:破了 破碎:休息 进入:输入 输入:输入 输入:输入

我已将该字段编入索引,如下所示:               “身体”: {                 “type”:“text”,                 “fields”:{                   “阻止”:{                     “type”:“text”,                     “分析员”:“英语”                   }                 }               }

当我查询“破门而入”时,我可以看到body.stemmed字段中搜索的内容是:“break and enter”。似乎很好。 但是,当我查询“打破并进入”时,我得到:“打破并进入”。因此,显然,当使用“英语”词干分析器时,“破坏”不会变成“破坏”。 同样,“破碎并进入”变为:“破碎并进入”。所以,ES显然不会改变“破碎”或“破碎”到“破裂”(根据这个:snowball,我想解释为什么如果这是使用的)。

那么,有没有办法指定一个“已知”的词干分析器来完成我想要做的事情?

1 个答案:

答案 0 :(得分:2)

您的要求可以通过Dictionary Stemmer来完成,它可以对词干词进行字典查找。算法词干不需要知道根词,他们只是在算法上做。 看看Hunspell的词干,认为它会做的工作: https://www.elastic.co/guide/en/elasticsearch/guide/current/hunspell.html