我是Elasticsearch的新手。我的索引类型如下
{
"myindex" : {
"mappings" : {
"systemChanges" : {
"_all" : {
"enabled" : false
},
"properties" : {
"autoChange" : {
"type" : "boolean"
},
"changed" : {
"type" : "object",
"enabled" : false
},
"created" : {
"type" : "date",
"format" : "strict_date_optional_time||epoch_millis"
}
}
}
}
}
}
我无法获取已更改的详细信息。new=已完成。经过一番研究,我发现这是因为更改的字段设置为enabled:false。我需要更改相同的内容。我尝试如下
curl -X PUT "localhost:9200/myindex/" -H 'Content-Type: application/json' -d' {
"mappings": {
"systemChanges" : {
"properties" : {
"changed" : {
"enabled" : true
}
}
}
}
}'
但是出现以下错误。
{“错误”:{“ root_cause”:[{“类型”:“ index_already_exists_exception”,“原因”:“已存在”,“索引”:“ myindex”}],“类型”:“ index_already_exists_exception”, “原因”:“已经存在”,“索引”:“ myindex”},“状态”:400}
如何获取已更改的新字段的详细信息,将enabled更改为true?
答案 0 :(得分:1)
您正试图再次添加具有相同名称的索引,因此会出现错误。
请参阅以下链接以更新映射
https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-put-mapping.html
可以使用PUT映射API在现有字段上更新启用的设置。