问题:
在实际的工作中,遇到已经将数据写入es,但是后边需要对这个索引进行重命名。
如 test-20190122、test-20190121 需要重命名为test-2019。对于数据量比较少时,创建多个索引,需要创建多个分片,造成存储资源的浪费,需要将多个索引的数据合并到一个索引中。
操作步骤:
1、在kibana中执行以下命令:
POST _reindex
{
"source": {
"index": "test-20190122"
},
"dest": {
"index": "test-2019",
"op_type": "create"
}
}
2、删除之前多余的索引数据
DELETE test-20190122
对于多个索引名称重命名为一个索引,请查看官方文档
https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-reindex.htm
在kibana中执行时如果没反应,将post _reindex方法与下面的{之间的换行符去掉
如果索引很大时,执行时间超时会报错,但后台程序还在执行
{
"statusCode": 504,
"error": "Gateway Time-out",
"message": "Client request timeout"
}

本文介绍了如何在Elasticsearch中重命名和合并索引,以优化存储资源。通过使用_reindex API,可以将数据从旧索引迁移到新索引,如将test-20190122重命名为test-2019。在Kibana中执行POST请求完成迁移,然后删除旧索引。在处理大量数据时要注意可能的超时问题,但后台任务可能仍在继续。此外,讨论了在索引设计上考虑减少分片以节省存储空间的重要性。
657

被折叠的 条评论
为什么被折叠?



