在ElasticSearch中重新索引多个索引的最佳方法

时间:2017-05-24 18:18:42

标签: elasticsearch elasticsearch-5

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

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

最好的方法是什么?我们可以使用Kibana吗?找不到足够的文档来这样做。

4 个答案:

答案 0 :(得分:1)

示例:将每日索引重新编制为月度索引(八月)

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

答案 3 :(得分:-1)

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

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