面试官:如何定期去清理ES集群的数据

本文探讨如何定期清理ES集群数据,重点介绍了使用Delete By Query API删除特定索引或条件的数据,以及其原理和注意事项。该操作不是物理删除,而是设置删除标记,实际删除发生在段合并时。
摘要由CSDN通过智能技术生成

如何定期去清理ES集群的数据

文|洪生鹏

作为一名程序员,求职面试时,不知道你有没有遇到这样的面试题。

如何定期去清理ES集群的数据?

张工是一名java程序员,有两年大数据开发经验,最近到某知名互联网公司面试,面试官就问了他这样的一个问题:

如何定期去清理ES集群的数据以保证集群处在一个最佳负载状态?

张工:编写shell脚本定时删除索引就好了。

面试官:如果是删除具体某个索引的数据,又该怎么操作?

由于张工平时没有做到这块,这个问题就答不出个所以然来。

一般需要定期删除ES集群某个索引的历史数据,很有可能是前期设计时考虑不够全面。

随着业务的不断发展,单个索引的数据量将越来越大,索引又不能变更,如果没有定期清理数据,会导致查询速度越来越慢,严重影响用户体验。

如何定期去清理ES集群的数据?

对于这个问题,如果是删除这个索引这个比较好办,直接删除索引(Delete Index)就可以了 ,但要是遇到是删除具体某个索引的部分数据,又该怎么操作。

我们今天来介绍一种比较常见的做法。通过Delete By Query的方式去删除索引中的数据。

这个API的功能是根据特定的查询条件对ES相关索引中某些特定的文档进行批量删除。

下面我们来看看这个API的基本用法。

_delete_by_query会删除所有que

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值