elasticsearch批量删除数据

来源:互联网 发布:前端seo 编辑:程序博客网 时间:2024/05/17 05:15

    使用es Note for ES2+批量删除数据,需要安装delete-by-query插件,集群环境只需安装到一台Node节点上,安装方法如下两种:

   注:delete-by-query插件的版本,需要与es的版本怎么对应,否则es会启动不成功,当es存储数据的硬盘空间不足85%时,实际不到85%,数据不会再分片,此时去删除数据是删除不了

  1、在线安装

   sudo bin/plugin install delete-by-query

安装完后需要重启es服务

#  wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/plugin/delete-by-query/2.3.5/delete-by-query-2.3.5.zip

# unzip delete-by-query-2.3.5.zip

# cp -r *  /applications/elasticsearch-2.3.5/

[root@htc plugins]# ls /applications/elasticsearch-2.3.5/plugins/delete-by-query/
delete-by-query-2.3.5.jar  plugin-descriptor.properties

安装完插件后需要重启es


#统计大于时间的数量
curl -XGET "192.168.1.16:9200/app/_count?pretty" -d "{
    "query":{
        "range":{
            "queryTime":{
                "lte" : "1506493824"
            }
        }
    }
}"


#查看索相字段类型

curl -XGET "192.168.1.16:9200/app/_mapping?pretty"


删除数据脚本

#!/bin/shindex_name="app"deldays="1506502200000"/usr/bin/curl -XDELETE "192.168.1.16:9200/${index_name}/_query?pretty" -d "{    "query":{    "filtered": {    "filter": {    "bool": {    "must": {    "range":{        "queryTime":{            "lte":${deldays}        }    }    }    }    }    }    }}"  >> esdeldata.log

通过js获取时间戳

new Date("2017-09-28 15:30:30").getTime();
1506492264000


curl -XDELETE http://localhost:9200/.kibana