设置启用为true Elasticsearch

时间:2018-10-20 07:29:10

标签: elasticsearch

我是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?

1 个答案:

答案 0 :(得分:1)

您正试图再次添加具有相同名称的索引,因此会出现错误。

请参阅以下链接以更新映射

https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-put-mapping.html

可以使用PUT映射API在现有字段上更新启用的设置。