gpt4 book ai didi

amazon-web-services - ElasticSearch-如何切换别名以使用新数据重建数据索引?

转载 作者:行者123 更新时间:2023-12-03 02:32:41 25 4
gpt4 key购买 nike

基本上,我想做的是用最少的停机时间用新数据重建ES集群。经过一些研究,我意识到可以使用alias完成此操作,但是我不确定100%的确切操作流程。

  • 假设我在ES中有一个索引test1,此索引包含alias1和一堆数据

  • { "index" : "test1", "alias" : "alias1" }


  • 而且我想使用新索引创建新别名,并使用新数据
  • 重建索引

    "actions" : [{ "add" : { "index" : "test2", "alias" : "alias2" } }]


  • 重新构建新别名后,请在原始索引
  • 中切换别名

    "actions" : [{ "add" : { "index" : "test1", "alias" : "alias2" } }]

    "actions" : [{ "remove" : { "index" : "test1", "alias" : "alias1" } }]

    "actions" : [{ "remove_index" : { "index" : "test2" } }]


  • 然后,索引test1现在开始从新别名
  • 开始索引/查询

    ================================================== =======================
    Q1。这是重建/交换索引中数据的正确方法吗?
    Q2。 remove操作是否会硬删除旧别名 alias1中的数据?

    最佳答案

    德文郡,

    Elastic的actions中的_alias允许您传递要执行的所有操作的数组。

    这是我的意见/建议:

  • 不需要创建alias2Aliases就像“指针”。
  • 删除alias不会删除关联的indices /数据
  • index中删除alias不会删除关联的indices /数据
  • 您可以在同一查询中传递addremove操作,这样您就不会出现停机时间
  • 在这里,您忘记了将test2添加到alias1中,该代码将由您的Web服务/ kibana /任何
  • 使用

    查询示例:
    curl -XPOST ${esUrl}/_aliases -d '{"actions":[{"remove" : {"index" : "*", "alias" : "${aliasName}"}},{"add" : { "index" : "${newIndex}", "alias" : "${aliasName}" }}]}'

    关于amazon-web-services - ElasticSearch-如何切换别名以使用新数据重建数据索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59585074/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com