ElasticDump插件

目的是为了导入/导出ElasticSearch数据,方便数据迁移

注意⚠️需要node环境安装此插件

安装

  • 在线安装(有互联网)

    1
    2
    3
    4
    5
    # 通过npm命令 安装
    npm install elasticdump -g

    # 安装成功
    elasticdump --help
  • 离线安装(无互联网)

    注意⚠️前提是都要安装node环境

    1. 先找一台联网的设备安装

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      # 安装npm-pack-all
      npm install -g npm-pack-all

      # 安装elasticdump
      npm install elasticdump -g

      # 查看安装目录
      npm list -g --depth=0

      # 进入elasticdump安装目录打开命令窗口执行
      # 示例进入目录:/Users/wangwz/.nvm/versions/node/v16.11.0/lib/node_modules/elasticdump
      npm-pack-all

      即可生成对应的.tgz文件,例如:elasticdump-6.xx.x.tgz

    2. 将生成的.tgz文件上传到未联网设备上

      1
      npm install elasticdump-6.xx.x.tgz

使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 无账号密码可忽略“账号:密码@”,下面以法律法规库(law)为例:

# 导出mapping命令如下:
elasticdump --input=http://账号:密码@地址:9200/law --output=./law_mapping.json --type=mapping
# 示例
elasticdump --input=http://elastic:bjtcrjes@localhost:9200/law --output=./law_mapping.json --type=mapping

# 导出data命令如下:
elasticdump --input=http://账号:密码@地址:9200/law --output=./law_data.json --type=data

# 导入mapping命令如下:
elasticdump --input=./law_mapping.json --output=http://账号:密码@地址:9200/law --all=true --type=mapping
# 导入data命令如下:
elasticdump --input=./law_data.json --output=http://账号:密码@地址:9200/law --all=true --type=data

更多进阶使用方法可参考官网

https://www.npmjs.com/package/elasticdump