我有一个弹性搜索,它的容量是85%,它只能在接下来的几天内承受,因为我一直在索引。
我现在不想删除任何索引。
但是有没有办法将全天级别索引合并到单个月级别索引,例如我每天将数据索引到ES,我可以对旧索引进行更改,以便它可以代表每个月。
有技术吗?如果是这样,它会为我提供额外的空间吗?
您的意见真的很感激
答案 0 :(得分:1)
您绝对可以将所有旧的每日索引移至每月一次,然后删除每日索引,并使用reindex API仅保留每月索引。
POST /_reindex
{
"source": {
"index": ["2016-07-01", "2016-07-02", ..., "2016-07-31"]
},
"dest": {
"index": "2016-07"
}
}
通过这样做,假设你有一个跨越所有日常索引的别名,你可以稍微改善一下查询时间,因为不是查询30多个索引的所有分片,而是'我只想查询单个索引的分片。如果您为新的月度索引选择正确数量的分片,这绝对是一件好事。
在重新编制索引之前尝试的另一件事是尝试{/ 3}}在您的每日索引上尝试删除已删除的文档(?only_expunge_deletes=true
)并查看是否在您的系统上留出了一些空间。
在任何情况下,将索引合并在一起+删除已删除的文档会为您带来一些空间但不会期望能力大幅增加。您可能需要在某个时候增加硬盘的大小。