在elasticsearch中将索引从一台计算机复制到另一台计算机

时间:2015-10-28 05:07:30

标签: elasticsearch elasticsearch-plugin

我的一台机器上有一些索引。我需要将它们复制到另一台机器上,我怎么能在elasticsearch中做到这一点。 我确实得到了一些很好的文档here,但是因为我是弹性搜索生态系统的新手,而且因为我玩的数据索引较少,我想我会使用一些插件或方法来减少时间。

3 个答案:

答案 0 :(得分:2)

我会将Logstashelasticsearch input插件和elasticsearch output插件一起使用。

installing Logstash之后,您可以创建如下所示的配置文件copy.conf

input {
  elasticsearch {
   hosts => "localhost:9200"                     <--- source ES host
   index => "source_index"
  }
}
filter {
 mutate {
  remove_field => [ "@version", "@timestamp" ]   <--- remove added junk
 }
}
output {
 elasticsearch {
   host => "localhost"                           <--- target ES host
   port => 9200
   protocol => "http"
   manage_template => false
   index => "target_index"
   document_id => "%{id}"                        <--- name of your ID field
   workers => 1
 }
}

然后在设置正确的值(源/目标主机+源/目标索引)之后,您可以使用bin/logstash -f copy.conf

运行它

答案 1 :(得分:1)

您也可以使用快照和还原功能,您可以在其中获取一个索引的快照(备份),然后可以还原到其他位置。

看看吧 https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html

答案 2 :(得分:1)

我可以在这里看到3个选项

  1. 快照/还原 - 您可以跨地理位置移动数据。
  2. Logstash reindex - 正如Val
  3. 所指出的那样
  4. Stream2ES - 这是一个更简单的解决方案