以下是我想要做的主干: 打破:打破 破了:破了 破碎:休息 进入:输入 输入:输入 输入:输入
我已将该字段编入索引,如下所示: “身体”: { “type”:“text”, “fields”:{ “阻止”:{ “type”:“text”, “分析员”:“英语” } } }
当我查询“破门而入”时,我可以看到body.stemmed字段中搜索的内容是:“break and enter”。似乎很好。 但是,当我查询“打破并进入”时,我得到:“打破并进入”。因此,显然,当使用“英语”词干分析器时,“破坏”不会变成“破坏”。 同样,“破碎并进入”变为:“破碎并进入”。所以,ES显然不会改变“破碎”或“破碎”到“破裂”(根据这个:snowball,我想解释为什么如果这是使用的)。
那么,有没有办法指定一个“已知”的词干分析器来完成我想要做的事情?
答案 0 :(得分:2)
您的要求可以通过Dictionary Stemmer来完成,它可以对词干词进行字典查找。算法词干不需要知道根词,他们只是在算法上做。 看看Hunspell的词干,认为它会做的工作: https://www.elastic.co/guide/en/elasticsearch/guide/current/hunspell.html