一 安装nodejs:

curl -sL https://rpm.nodesource.com/setup_16.x | bash -
yum install nodejs -y

二 安装elasticdump:

npm install elasticdump -g

三 导出命令

(1)全量导出索引数据(导出到本地文件)

# 语法:elasticdump --input <ES索引地址> --output <本地文件路径> --type <数据类型>
elasticdump \
  --input http://<ES_HOST>:<ES_PORT>/<INDEX_NAME> \
  --output ./es_<INDEX_NAME>_dump.json \
  --type data  # type支持data(数据)、mapping(映射)、settings(索引配置)
(2)导出映射(mapping)+ 数据(完整备份)

# 先导出映射
elasticdump \
  --input http://<ES_HOST>:<ES_PORT>/<INDEX_NAME> \
  --output ./es_<INDEX_NAME>_mapping.json \
  --type mapping

# 再导出数据
elasticdump \
  --input http://<ES_HOST>:<ES_PORT>/<INDEX_NAME> \
  --output ./es_<INDEX_NAME>_data.json \
  --type data
(3)增量导出(基于时间戳 / 条件过滤)

# 导出指定时间范围的数据(示例:create_time >= 2025-12-01)
elasticdump \
  --input http://<ES_HOST>:<ES_PORT>/<INDEX_NAME> \
  --output ./es_<INDEX_NAME>_incremental.json \
  --searchBody '{"query": {"range": {"create_time": {"gte": "2025-12-01 00:00:00"}}}}' \
  --type data
  	

(4)需要用户验证的导出
elasticdump \
  --input http://<USERNAME>:<PASSWORD>@<ES_HOST>:<ES_PORT>/<INDEX_NAME> \
  --output ./es_<INDEX_NAME>_dump.json \
  --type data

四 导入命令:

elasticdump \
  --input ./es_user_info_dump.json \
  --output http://<USERNAME>:<PASSWORD>@<ES_HOST>:<ES_PORT>/<TARGET_INDEX> \
  --type data

更多推荐