怎样删除ES索引里面的数据

怎样删除ES索引里面的数据?针对这个问题,今天小编总结这篇图文详解的文章,有需要的朋友可以参考一下,希望对大家有所帮助。

网页设计是网站建设的前奏,好的网页设计更深度的剖析产品和设计风格定位,结合最新的网页设计流行趋势,与WVI应用标准,设计出具企业表现力,大器而深稳的网站界面设。创新互联公司成立于2013年,是成都网站建设公司:提供企业网站设计,品牌网站建设,营销型企业网站建设方案,响应式网站开发,微信小程序开发,专业建站公司做网站。

怎样删除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索引里面的删除数据的方法介绍,详细使用情况还得要大家自己使用过才能知道具体要领。如果想了解更多相关内容,欢迎关注创新互联行业资讯频道!


名称栏目:怎样删除ES索引里面的数据
分享地址:http://hbruida.cn/article/jehsoj.html