开发者社区> 问答> 正文

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

我现在用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"
                    }
                }
            ]
        }
    }
}

展开
收起
海边一只船 2020-06-01 15:09:26 2397 0
1 条回答
写回答
取消 提交回答
  • 可以使用批处理`_bulk`方式,进行快速删除:
    POST /customer/_doc/_bulk?pretty
    {"update":{"_id":"1"}}
    {"doc": { "name": "John Doe becomes Jane Doe" } }
    {"delete":{"_id":"2"}}
    
    
    2020-06-01 15:09:36
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云Elasticsearch体系架构与特性解析 立即下载
开源与云:Elasticsearch应用剖析 立即下载
《Elasticsearch全观测解决方案》 立即下载