需求来源:
es每天大概要存入2000万左右的数据,但是实际只需要存储最近一个月的数据,所有创建个定时计划定时删除30天之外的数据
Kibnan查询es语句
删除37天前的数据,右上角可以复制为curl命令
例:
curl -XPOST "http://localhost:9200/datastore5/_delete_by_query" -H 'Content-Type: application/json' -d'
{"query":{"range":{"dateTime":{"lte":"now-37d","format":"yyyy-MM-dd hh:mm:ss"}}}}'
前提windows安装curl并配置环境变量检验方法:cmd客户端 curl -help
这个语句是执行不了的会报错:curl:(6)Could not resolve host:application
照一篇博客的说法需要把所有’改为",所有”改为"""
curl -H "Content-Type: application/json" -XPOST "http://localhost:9200/datastore5/_delete_by_query" -d"{"""query""":{"""range""":{"""dateTime""":{"""lte""":"""now-35d""","""format""":"""yyyy-MM-dd hh:mm:ss"""}}}}"
执行成功
接下来新建txt文件,复制进去,修改后缀为.bat批处理文件
设置你想要执行的时间,和脚本,完事