我是弹性搜索的新手。请帮我解决这个问题。
我使用弹性搜索版本7.13.2.
我用一个自定义的分析器和过滤器创建了一个索引,就像这个
PUT /analyzers_test
{
"settings": {
"analysis": {
"analyzer": {
"english_stop":{
"type":"standard",
"stopwords":"_english_"
},
"my_analyzer":{
"type":"custom",
"tokenizer":"standard",
"char_filter":["html_strip"
],
"filter":[
"lowercase",
"trim",
"my_stemmer"]
}
},
"filter": {
"my_stemmer":{
"type":"stemmer",
"name":"english"
}
}
}
}
}
然后,我为我将要拥有的文档创建了一个映射,并指定了我之前创建的自定义分析器(索引中还没有文档(像这样:
PUT /analyzers_test/_mapping
{
"properties": {
"description":{
"type": "text",
"analyzer": "my_analyzer"
},
"teaser":{
"type": "text"
}
}
}
当我尝试创建一个类似的文档时
POST /analyzers_test/1
{
"description":"drinking",
"teaser":"drinking"
}
我收到以下错误
{
"error" : {
"root_cause" : [
{
"type" : "illegal_argument_exception",
"reason" : "Mapper for [description] conflicts with existing mapper:ntCannot update parameter [analyzer] from [my_analyzer] to [default]"
}
],
"type" : "illegal_argument_exception",
"reason" : "Mapper for [description] conflicts with existing mapper:ntCannot update parameter [analyzer] from [my_analyzer] to [default]"
},
"status" : 400
}
使用索引API将文档添加到索引中。您错过了_doc
"不能更改现有字段的映射(包括分析器(。如果您想更改现有文档的映射,您需要做的是使用更新的映射将这些文档重新索引到另一个索引"Abdon Pijpelink
单击原始讨论的名称