如何将弹性搜索索引或日志从一个弹性搜索服务器复制到另一个?

问题描述

例如: 从 https://localhost:9200 获取索引 'index_name' 到 https://localhost:9300 以获取索引 'index2_name'

解决方法

----------
This can be easily and seamlessly done using elasticdump:

1. I used git bash (cli) to install elasticdump: npm install elasticdump -g
2. Download logs to a local json file:
NODE_TLS_REJECT_UNAUTHORIZED=0 elasticdump \
  --input=https://localhost:9200/{index_name} \
  --output=index_name.json \
  --type=data

NOTE: NODE_TLS_REJECT_UNAUTHORIZED=0 is for a secured elasticsearch

3. From one elasticsearch server to another 
NODE_TLS_REJECT_UNAUTHORIZED=0 elasticdump \
  --input=https://localhost:9200/{index_name} \
  --output=https://localhost:9300/{index2_name} \
  --type=data

NOTE: NODE_TLS_REJECT_UNAUTHORIZED=0 is for a secured elasticsearch.
      index2_name in the index for the second server (you can use mappings first to create the index before copying over the data,that's if you believe you have 'mapping conflicts' or for best practice)


Here is a refence video on youtube with an example.
https://www.youtube.com/watch?v=Sp7eV0LQzts
,

您还可以使用远程重新索引将数据从一个集群传输到另一个集群。你可以看到如何做到here