如何更快速的从elasticsearch中删除文档?

哎码 发布于 2020/04/23 15:25
阅读 410
收藏 0

我现在用efk(es+filebeat+kibana)作为日志平台,发现日志占用过大,所以想根据条件删除一些无用的日志,但是删除的过程中发现删除的速度也太慢了,目测(没有精确统计过)1-2分钟才能删10w条,照这个速度,万一日志生产的速度再快点,没准删除的还没新增的快呢。。。尴尬

目前用这种方式删除:

POST请求

http://192.168.112.82:9200/filebeat-7.6.2-2020.04.20-000001/_delete_by_query?conflicts=proceed

请求体:

{
    "query": {
        "match": {
            "kubernetes.container.name": "rancher"
        }
    }
}

之后改了一下查询语句,发现没多大用,还是特别慢

{
    "query": {
        "bool": {
            "filter": [
                {
                    "term": {
                        "kubernetes.container.name": "rancher"
                    }
                }
            ]
        }
    }
}

 

加载中
0
Vincent-Duan
Vincent-Duan

可以使用批处理`_bulk`方式,进行快速删除:

POST /customer/_doc/_bulk?pretty
{"update":{"_id":"1"}}
{"doc": { "name": "John Doe becomes Jane Doe" } }
{"delete":{"_id":"2"}}

 

Vincent-Duan
Vincent-Duan
回复 @哎码 : 上面的操作可以通过curl方式运行,多线程并行跑没有问题
哎码
哎码
几千万条啊。。。
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部