将索引从 elasticsearch 1.x 迁移到 elasticsearch 2.x 的工具

Tools to migrate index from elasticsearch 1.x to elasticsearch 2.x

我正在寻找将数据从 1.x 迁移到 2.x elasticsearch 的工具。请问有什么可以的吗?

你有几个选择。您可以使用 Logstash 将索引从旧的 1.x ES 复制到新的 2.x ES:

input {
  elasticsearch {
   hosts => ["old-es:9200"]                     <--- source ES host
   index => "source_index"                      <--- source index to copy
   docinfo => true
  }
}
filter {
 mutate {
  remove_field => [ "@version", "@timestamp" ]  <--- remove added junk
 }
}
output {
 elasticsearch {
   hosts => ["new-es:9200]"                     <--- target ES host
   index => "%{[@metadata][_index]}"
   document_type => "%{[@metadata][_type]}"
   document_id => "%{[@metadata][_id]}"
 }
}

您还可以使用 elasticdump 并使用以下命令将 source_indexold-es:9200 复制到您的 new-es:9200 主机:

elasticdump \
  --input=http://old-es:9200/source_index \
  --output=http://new-es:9200/source_index \
  --type=analyzer
elasticdump \
  --input=http://old-es:9200/source_index \
  --output=http://new-es:9200/source_index \
  --type=mapping
elasticdump \
  --input=http://old-es:9200/source_index \
  --output=http://new-es:9200/source_index \
  --type=data