我一直在尝试在我的一个 doc 字段类型上实现类似雪球分析器keyword
的功能。就像,例如复数应该完全像他们的单数一样对待,以便两者的结果相同。
最初,我努力在我的字段上设置分析器,只是为了发现类型的字段keyword
不能有分析器而是规范器。所以,我尝试在这些字段上设置一个规范化器,snowball
但似乎我的规范化器不允许snowball
过滤器(可能是规范化器不支持雪球过滤器)
我无法更改字段的类型。我想实现这样的功能,如果我的输入文本与餐馆匹配,它应该将其视为相同restaurant
并给出结果,这样我就不必将餐馆作为关键字添加到该字段。
我们可以通过规范化器实现这一点吗?我浏览了弹性文档和各种帖子,但一无所知。下面是我如何尝试使用弹性服务器的响应设置规范器。
PUT 本地主机:9200/db110/_settings
{
"analysis": {
"normalizer": {
"snowball_normalizer": {
"filter": ["lowercase","snowball" ]
}
},
"filter" : {
"snow" : {
"type" : "snowball",
"language" : "English"
}
}
}
}
回复
{
"error": {
"root_cause": [
{
"type": "illegal_argument_exception",
"reason": "Custom normalizer [snowball_normalizer] may not use filter [snowball]"
}
],
"type": "illegal_argument_exception",
"reason": "Custom normalizer [snowball_normalizer] may not use filter [snowball]"
},
"status": 400
}