ElasticSearch索引重建的两种方式-生产环境实操

一、前言
1、es单索引表数据量过大,数据入库较慢,索引的分片数量不足,需要扩大分片的数量,因此需要重建索引

2、mapping修改时,在ES中,一个字段的mapping在定义并且导入数据之后是不能修改的,因此需要重建索引
二、步骤

目录

1、给重建索引起别名

2、新建索引

3、查看新建立的mapping

4、同步数据到新的mapping

5、查看进度

6、移除老表别名

7、删除老表--删除前备份

8、新索引添加别名(别名为原就索引名)

9、方法二

1、给重建索引起别名

POST /_aliases

{

  "actions": [

    {

      "add": {

        "index": "customize07c2531ef4c2453dbabd3e6e25e68330_2022-06",

        "alias": "customize07c2531ef4c2453dbabd3e6e25e68330_2022-06-1"

      }

    }

  ]

}

2、新建索引

PUT /customize07c2531ef4c2453dbabd3e6e25e68330_2022-06cs

{

    "mappings" : {

      "properties" : {

        "_timestamp_long_" : {

          "type" : "long"

        },

        "channelid" : {

          "type" : "keyword",

          "ignore_above" : 256

        },

        "deviceId" : {

          "type" : "keyword",

          "ignore_above" : 256

        },

        "eid" : {

          "type" : "keyword",

          "ignore_above" : 256

        },

        "ename" : {

          "type" : "keyword",

          "ignore_above" : 256

        },

        "ip" : {

          "type" : "keyword",

          "ignore_above" : 256

        },

        "jmubaId" : {

          "type" : "keyword",

          "ignore_above" : 256

        },

        "platformName" : {

          "type" : "keyword",

          "ignore_above" : 256

        },

        "siteid" : {

          "type" : "keyword",

          "ignore_above" : 256

        },

        "sitename" : {

          "type" : "keyword",

          "ignore_above" : 256

        },

        "time" : {

          "type" : "date",

          "format" : "yyyy-MM-dd||epoch_millis"

        },

        "timeHour" : {

          "type" : "date",

          "format" : "yyyy-MM-dd HH:mm:ss||epoch_millis"

        },

        "timeSecond" : {

          "type" : "date",

          "format" : "yyyy-MM-dd HH:mm:ss||epoch_millis"

        },

        "triggerTime" : {

          "type" : "double"

        },

        "userIp" : {

          "type" : "keyword",

          "ignore_above" : 256

        },

        "userid" : {

          "type" : "keyword",

          "ignore_above" : 256

        },

        "username" : {

          "type" : "keyword",

          "ignore_above" : 256

        },

        "version" : {

          "type" : "keyword",

          "ignore_above" : 256

        }

        

      }

    },

    

  "settings" : {

       

      "number_of_shards" : 5,

      

      "number_of_replicas" : 1

   }

}

3、查看新建立的mapping

GET /customize07c2531ef4c2453dbabd3e6e25e68330_2022-06cs

4同步数据到新的mapping

POST /_reindex

{

"source": {

"index": "customize07c2531ef4c2453dbabd3e6e25e68330_2022-06"

},

"dest": {

"index": "customize07c2531ef4c2453dbabd3e6e25e68330_2022-06cs"

}

}

5、查看同步进度

GET _tasks?detailed=true&actions=*reindex&human

6、移除老表别名

POST /_aliases

{

"actions": [

{

"remove": {

"index": "customize07c2531ef4c2453dbabd3e6e25e68330_2022-06",

"alias": "customize07c2531ef4c2453dbabd3e6e25e68330_2022-06-1"

}

}

]

}

7、删除老表--删除前备份

DELETE /customize07c2531ef4c2453dbabd3e6e25e68330_2022-06

8、新索引添加别名(别名为原就索引名)

POST /_aliases

{"actions":[

  {

"add": {

"index": "customize07c2531ef4c2453dbabd3e6e25e68330_2022-06cs",

"alias": "customize07c2531ef4c2453dbabd3e6e25e68330_2022-06"

}

}

]

  

}

9、方法二

旧表数据同步至新索引表,删除旧表,新索引表的别名为旧索引表名



 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值