es-删除字段-实测

es字段一旦创建是无法删除的,本案的方案是复制新老索引的方法

一、背景

现有索引 index1,待删除字段field1和extendMap.field2,es版本6.3.2

二、步骤

1、删除index1中的filed1和extendMap.field2两个字段的数据

复制代码
POST index1/_update_by_query  
{
  "query":{
        "bool":{
            "must":[
                {
                    "exists":{
                        "field":"field1"
                    }
                }
            ]
        }
    },
 "script": "ctx._source.remove('field1')"
  }

POST index1/_update_by_query  
{
  "query":{
        "bool":{
            "must":[
                {
                    "exists":{
                        "field":"extendMap.field2"
                    }
                }
            ]
        }
    },
 "script": "ctx._source.extendMap.remove('field2')"
  }

2、新建index2,map中不要有上述待删除字段

3、拷贝index1到index2

复制代码
POST _reindex
{
    "source": {
        "index": "index1"
    },
    "dest": {
        "index": "index2"
    }
}

4、删除index1

复制代码
DELETE index1

5、新建index1,map中不要有上述待删除字段

6、拷贝index2到index1

复制代码
POST _reindex
{
    "source": {
        "index": "index2"
    },
    "dest": {
        "index": "index1"
    }
}

7、删除index2

复制代码
DELETE index2

完成

相关推荐
东方巴黎~Sunsiny2 分钟前
mysql大表空间整理注意点
数据库·mysql
yumgpkpm12 分钟前
Cloudera CDH、CDP、Hadoop大数据+决策模型及其案例
大数据·hive·hadoop·分布式·spark·kafka·cloudera
難釋懷16 分钟前
Redis简单介绍
数据库·redis·缓存
lifejump17 分钟前
Pikachu | SQL-inject
数据库·sql
sld16817 分钟前
以S2B2C平台重构快消品生态:效率升级与价值共生
大数据·人工智能·重构
C-200225 分钟前
Casdoor 容器部署并实现 JumpServer 对接 CAS
数据库
ChineHe27 分钟前
Redis数据类型篇003_详解Lists列表类型及其命令
数据库·redis·缓存
Elasticsearch1 小时前
Elasticsearch:Jina Reader
elasticsearch
小五传输1 小时前
网闸怎么选?新型网闸凭安全高效,成企业优选方案
大数据·运维·安全
WLJT1231231231 小时前
电子元器件:智能时代的核心基石
大数据·人工智能·科技·安全·生活