Elasticsearch 找不到分析器
Elasticsearch Failed to find analyzer
我为索引创建了一个自定义分析器,在实施它之后,当我尝试使用 analyze
来查看它是否工作时,它 returns 出现以下错误 ElasticsearchIllegalArgumentException[failed to find analyzer [lyzer]]"
我定义分析器如下
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 拼命找不到我定义的分析器!!
尝试了一种不同的方法,它奏效了(排除了进入正文的设置)。事情是这样的。
put trial
{
"settings" : {
"analysis" : {
"analyzer" : {
"lyzer" : {
"tokenizer" : "nizer"
}
},
"tokenizer" : {
"nizer" : {
"type" : "nGram",
"min_gram" : "4",
"max_gram" : "8",
}
}
}
}
}
感谢@Val 的建议put
。 (post
确实有效,但每次都创建了索引)。此外,在这种情况下,我已经有了一个索引,这就是 put
起作用的原因。
我为索引创建了一个自定义分析器,在实施它之后,当我尝试使用 analyze
来查看它是否工作时,它 returns 出现以下错误 ElasticsearchIllegalArgumentException[failed to find analyzer [lyzer]]"
我定义分析器如下
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 拼命找不到我定义的分析器!!
尝试了一种不同的方法,它奏效了(排除了进入正文的设置)。事情是这样的。
put trial
{
"settings" : {
"analysis" : {
"analyzer" : {
"lyzer" : {
"tokenizer" : "nizer"
}
},
"tokenizer" : {
"nizer" : {
"type" : "nGram",
"min_gram" : "4",
"max_gram" : "8",
}
}
}
}
}
感谢@Val 的建议put
。 (post
确实有效,但每次都创建了索引)。此外,在这种情况下,我已经有了一个索引,这就是 put
起作用的原因。