首页 > 解决方案 > 如何从 Elasticseach 快照特定索引

问题描述

我有两个 elasticsearch 实例,实例 1 在服务器 A 上运行,实例 2 在服务器 B 上运行。

我只想将特定索引从服务器 A 移动到服务器 B,而不覆盖服务器 B 上的索引。

我有这个 curl 命令可以做一个完整的快照

curl -XPUT 'http://localhost:9200/_snapshot/backup' -d '{
  "type": "fs",
  "settings": {
    "location": "/home/admin/dumps/elasticsearch",
    "compress": true
  }
}'

但我不知道如何快照/恢复特定索引。

任何帮助表示赞赏。

标签: elasticsearch

解决方案


您列出的curl命令仅设置repository而不是实际快照。查看快照文档,其中清楚地说明了如何对特定索引进行快照

您已经创建了一个名为backup. 所以在创建快照时使用相同的方法。

PUT /_snapshot/backup/my_snapshot?wait_for_completion=true
{
  "indices": "your_index_1,your_index_2",
  "ignore_unavailable": true,
  "include_global_state": false
}

推荐阅读