怎样删除ES索引里面的数据?针对这个问题,今天小编总结这篇图文详解的文章,有需要的朋友可以参考一下,希望对大家有所帮助。
下面的脚本,我找了2天,按照网上的文档,也修改了2天。正好最近第3次开始学习shell,发现结合shell知识,解决问题还是很有效果。
下面的脚本,就可以删除200天前的ES数据。
[root@iZ23ejm6lkdZ ~]# cat /yqd/sh/Clean_Elasticsearch_Yqdlog.sh #!/bin/bash curl -X POST "10.253.40.87:9200/yqdlog/_delete_by_query?pretty" -H 'Content-Type:application/json' -d ' { "query": { "range": { "bank_interfacelog_createTime": { "gte": "now-200d", "lte": "now", "format": "epoch_millis" } } } }' # echo "已清除$index 索引内200天前数据~"
第三列的“10.253.40.87:9200”:ES地址
第三列的“yqdlog”:索引名称
第七列的“bank_interfacelog_createTime”:指定删除的时间字段
第八列的“now-200d”:删除数据的时间范围,“-200d”,就是删除200天前的数据
第十列:默认,也可以自定义
执行脚本:
[root@iZ23ejm6lkdZ ~]# sh /yqd/sh/Clean_Elasticsearch_Yqdlog.sh { "took" : 2382512, "timed_out" : false, "total" : 8817667, "deleted" : 8817667, "batches" : 8818, "version_conflicts" : 0, "noops" : 0, "retries" : { "bulk" : 0, "search" : 0 }, "throttled_millis" : 0, "requests_per_second" : -1.0, "throttled_until_millis" : 0, "failures" : [ ] }
执行脚本过程中,ES的head插件显示“yqdlog”索引数据有明显下降趋势,但是,zabbix监控的磁盘空间反而有更大的占用。
网上的文档说,ES的删除,不会立即生效,后期会自动删除。这个问题,有待研究。
次日再看zabbix,磁盘空间好像是有下降了。
以上就是ES索引里面的删除数据的方法介绍,详细使用情况还得要大家自己使用过才能知道具体要领。如果想了解更多相关内容,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。