0
我已经创建了索引的定制分析,并实施之后,当我尝试使用analyze
,看其是否工作或没有,它返回以下错误ElasticsearchIllegalArgumentException[failed to find analyzer [lyzer]]"
Elasticsearch无法找到分析
我所定义的分析如下
post trial/settings
{
"index": {
"analysis": {
"tokenizer": {
"ngrm":{
"type": "nGram",
"min_gram": "4",
"max_gram": "8"
}
},
"filter": {
"myFilter": {
"type": "word_delimiter",
"generated_word_parts": "true",
"generated_number_parts": "true"
}
},
"analyzer": {
"lyzer": {
"type": "custom",
"tokenizer": "ngrm",
"filter": ["word_delimiter","myFilter"]
}
}
}
}
}
当我尝试以验证分析仪工作或没有,我得到以下错误
GET /trial/_analyze?analyzer=lyzer&text=some_random_text_here
{
"error": "ElasticsearchIllegalArgumentException[failed to find analyzer [lyzer]]",
"status": 400
}
我甚至试图把映射,并宣布分析器,但徒劳无功!
我还有什么其他方法可以尝试? ES绝望地找不到我定义的分析仪!
您是否尝试过'POST trial/_settings',即在'_settings'中带有下划线? – Val
只是做了,抛出另一个错误 'InvalidTypeNameException [映射类型名称[_settings]不能以'_']开头;' 猜测我不能使用_,我正在使用Sense(和Marvel) – Sid
因为[你需要使用'PUT'](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-update-settings.html#indices-update-settings),我不好意思,我忘了在我之前提到它评论。 – Val