一、           根据原来的setting,mapping基础上修改需要的mapping和setting 注意:新建的index的type,一定要和源type一致,正常情况下都是doc_,但是不乏有些人就改这个type,我因为这个坑就报了如下错误害的我找了半天,Rejecting mapping update to [zjga.st_ryztk_new3] as the final mapping would have more than 1 type: [doc_, st_ryztk]

二、           新建玩索引看到返回{“acknowledge”:”true”后就表示新建成功,

注意 :curl -H ‘Content-Type:application/json’ -XPUT ‘http://50.48.47.10:9200/zjga.st_ryztk ‘ -d ‘{}’  -H表示后边的类型,可以是文件,也可以直接在{} 里边加,注意不要换行,(可以在nopade++里边更改下格式)

三、           执行Curl -H ‘Content-type:application/json’ -XPOST ‘http://50.48.47.10:9200/_reindex?slices=auto&refresh&wait_for_completion=false’ -d ‘{“source”:{“index”:”zjga.st_ryztk”,”size”:”5000”},”dest”:{“index”:”zjga.st_ryztk_new4”}}’
wait_for_completion=false 异步执行,没有这个会占用窗口,指导完成,
slices=auto 是自动进行分片,提高导入速度。

四、           所有数据导入新表后,要把原来的表删除掉,防止意外也可以先备份,
curl -XDELETE ‘http://50.48.47.10:9200/zjga.st_ryztk’

五、           删除完后建立一个与新建索引一样的setting和maping,命令如下,
curl -H ‘Content-Type:application/json’ -XPUT ‘http://50.48.47.10:9200/zjga.st_ryztk‘ -d ‘{}’

六、           然后再次执行(注意要改边新旧index)

Curl -H ‘Content-type:application/json’ -XPOST ‘http://50.48.47.10:9200/_reindex?slices=auto&refresh&wait_for_completion=false’ -d ‘{“source”:{“index”:”zjga.st_ryztk_new”,”size”:”5000”},”dest”:{“index”:”zjga.st_ryztk”}}’

 

结束

 

 

 

        

 

posted on 2023-03-06 17:56  莫大人520  阅读(618)  评论(0)    收藏  举报