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

完成

相关推荐
奔跑吧邓邓子5 小时前
大数据利器Hadoop:从基础到实战,一篇文章掌握大数据处理精髓!
大数据·hadoop·分布式
说私域6 小时前
基于定制开发与2+1链动模式的商城小程序搭建策略
大数据·小程序
hengzhepa7 小时前
ElasticSearch备考 -- Async search
大数据·学习·elasticsearch·搜索引擎·es
vvvae12347 小时前
分布式数据库
数据库
雪域迷影7 小时前
PostgreSQL Docker Error – 5432: 地址已被占用
数据库·docker·postgresql
GZ_TOGOGO8 小时前
【2024最新】华为HCIE认证考试流程
大数据·人工智能·网络协议·网络安全·华为
bug菌¹8 小时前
滚雪球学Oracle[4.2讲]:PL/SQL基础语法
数据库·oracle
逸巽散人8 小时前
SQL基础教程
数据库·sql·oracle
月空MoonSky9 小时前
Oracle中TRUNC()函数详解
数据库·sql·oracle
momo小菜pa9 小时前
【MySQL 06】表的增删查改
数据库·mysql