首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以使用elasticsearch获取快照并进行恢复,而不松开目标索引中的更新?

是否可以使用elasticsearch获取快照并进行恢复,而不松开目标索引中的更新?
EN

Stack Overflow用户
提问于 2020-12-23 15:04:02
回答 1查看 374关注 0票数 0

我能够运行策展人从源索引中获取快照,并在目标索引中还原相同的快照。但是,在下一次快照和还原操作之后,我在目标索引上执行的所有更新都丢失了。

是否可以指定不覆盖目标索引的更新?

源索引: test_index

目标索引: dest_test_index

快照-action.yml文件

代码语言:javascript
复制
actions:
  1:
    action: snapshot
    description: Snapshot selected indices to 'repository' with the snapshot name or name pattern in 'name'.  Use all other options as assigned
    options:
      repository: esbackup
      name:
      wait_for_completion: True
      max_wait: 3600
      wait_interval: 10
    filters:
    - filtertype: pattern
      kind: regex
      value: '^(test_index)$'
      exclude:

还原-action.yml文件

代码语言:javascript
复制
actions:
  1:
    action: create_index
    description: "Create the temporary index with dest_index_v2 name"
    options:
      name: dest_index_v2
  2:
    action: close
    description: >-
      Close index dest_indiex_v2.
    options:
      ignore_empty_list: True
      skip_flush: False
      delete_aliases: False
      ignore_sync_failures: True
      disable_action: False
    filters:
    - filtertype: pattern
      kind: prefix
      value: dest_index_v2
  3:
    action: restore
    description: >-
      Restore test_index from the most recent snapshot in temp index dest_index_v2.
    options:
      repository: esbackup
      # If name is blank, the most recent snapshot by age will be selected
      name:
      # If indices is blank, all indices in the snapshot will be restored
      indices: ['test_index']
      rename_pattern: test_index
      rename_replacement: dest_index_v2
      wait_for_completion: True
      max_wait: 3600
      wait_interval: 10
    filters:
    - filtertype: none
  4:
    action: open
    description: >-
      Open index pattern dest_index_v2.
    options:
      disable_action: False
    filters:
    - filtertype: pattern
      kind: prefix
      value: dest_index_v2
      exclude:
  5:
    description: "Reindex dest_index_v2 into dest_test_index"
    action: reindex
    options:
      wait_interval: 9
      max_wait: -1
      request_body:
        source:
          index: dest_index_v2
        dest:
          index: dest_test_index
    filters:
    - filtertype: none
  6:
    action: delete_indices
    description: >-
      Delete index dest_index_v2. Ignore the error if the filter does not result in an
      actionable list of indices (ignore_empty_list) and exit cleanly.
    options:
      ignore_empty_list: False
      disable_action: False
    filters:
    - filtertype: pattern
      kind: prefix
      value: dest_index_v2
EN

回答 1

Stack Overflow用户

发布于 2020-12-24 10:55:42

如果您正在寻找某个elasticsearch设置,它将在更新的目标索引中与源索引合并(您正在从快照中还原该索引),那么简单的回答是NO

您可以编写自定义代码来执行以下操作,以确保目标索引更新不会丢失。

  1. 将源索引(test_index)还原到集群中的临时索引,让我们将此索引称为temp_index
  2. temp_index检索文档,并使用op_type=create操作类型create插入目标索引(dest_test_index),确保索引操作在索引中已存在该id的文档时失败。您可以参考文档这里

希望这能解决你的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65426425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档