【问题标题】:Best way to reindex multiple indices in ElasticSearch在 ElasticSearch 中重新索引多个索引的最佳方法
【发布时间】:2017-05-24 18:18:42
【问题描述】:

我正在使用 Elasticsearch 5.1.1,并使用 ES 提供的默认映射创建了 500 多个索引。

现在我们决定使用动态模板。 为了将此模板/映射应用于旧索引,我需要重新索引所有索引。

最好的方法是什么?我们可以为此使用 Kibana 吗?找不到足够的文档来执行此操作。

【问题讨论】:

    标签: elasticsearch elasticsearch-5


    【解决方案1】:

    示例:将每日索引重新索引为每月索引(8 月)

    POST _reindex?slices=10&refresh
    {
      "source": {
        "index": "myindex-2019.08.*"
      },
      "dest": {
        "index": "myindex-2019.08"
      }
    }
    

    监控重新索引任务(等到完成)

    GET _tasks?detailed=true&actions=*reindex
    

    检查是否创建了新索引

    GET _cat/indices/myindex-2019.08*?v&s=index
    

    您可以删除旧索引

    DELETE myindex-2019.08.*
    

    来源:

    https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-reindex.html

    【讨论】:

      【解决方案2】:

      您可以使用_reindex API,它还可以重新索引多个索引。它是专门为此而构建的。

      【讨论】:

      • 谢谢安德烈,你能举个小例子吗,还请注意。我想用java重新索引
      • 我会从这个建议开始:discuss.elastic.co/t/reindex-java-api/45923
      • 好吧..,实际上我们使用的是 AWS ElasticSearch 实例,我想 AWS ES 实例的传输客户端支持存在一些问题。
      • 我不知道 AWS ES 是如何做到的。你应该从一开始就在你的帖子中指定所有这些细节,而不是在我提供答案之后。这是一篇质量很差的帖子。
      • 对此很抱歉,但您的提示,即discuss.elastic.co/t/reindex-java-api/45923,真的很有帮助!再次感谢!!
      【解决方案3】:

      用于重新索引所有匹配模式的索引的 Bash 脚本:https://gist.github.com/hartfordfive/e507bc47e17f4e03a89055918900e44d

      【讨论】:

        【解决方案4】:

        如果你想过滤某些字段并从索引中重新索引它,你可以使用它。

        POST _reindex { "source": { "index": "auditbeat", "query": { "match": { "agent.version": "7.6.0" } } }, "dest": { "index":"auditbeat-7.6.0" } }

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-11-16
          • 1970-01-01
          • 2021-08-14
          • 2012-11-24
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多