当前位置: 首页 > news >正文

ES 根据条件删除文档

随着业务量的增多,es中数据越来越多,但有些数据其实后期并无业务用途,可直接做物理删除,程序里做兼容,但历史每个月的索引里的数据需要处理这部分冗余数据。

es提供_delete_by_query 根据查询条件进行删除的操作,但如果待删除数据量比较大,很可能导致客户端超时,直接返回502; 可以增加wait_for_completion=false,立马返回一个任务id,根据任务id查询任务执行的进度。

(1)异步执行

POST /**order_202310/_delete_by_query?wait_for_completion=false

这里查询条件根据业务不同,组合不同的条件。(这里查不存在用户id,且类型是4,状态是7,8的订单)

{"query": {"bool": {"must_not": [{"exists": {"field": "userUniqueid"}}], "must": [{"term": {"upDefault1": {"value": "4"}}},{"terms": {"status": ["7","8"]}}]}}
}

返回:

(2)根据id查询task执行情况

GET /_tasks/${taskId}

执行结果如下图所示:

(3)终止任务

POST /_tasks/${taskId}/_cancel
(4)实际执行时间

删除132w左右的数据,用了451830秒,约7.5分钟。


http://www.mrgr.cn/news/13550.html

相关文章:

  • ARM 寻址方式(18)
  • 《黑神话:悟空》:文化与科技的完美融合
  • 阿里云服务器 篇七:服务器热备份/定时备份
  • Python简介、发展史
  • 前端引入字体文件
  • 秋招突击——知识复习——HTTP/2、HTTP/3的改良
  • 《Cloud Native Data Center Networking》(云原生数据中心网络设计)读书笔记 -- 08网络自动化
  • C#实现利用数据驱动设计与组件系统优化游戏架构示例
  • 牛客周赛 Round 35 (A~G)
  • 后端开发刷题 | 面试篇3
  • SSD300模型总结
  • 【PGCCC】PostgreSQL线程池技术揭秘:从原理到实战应用
  • 【busybox记录】【shell指令】nohup
  • iPhone 16 系列和多款新品将亮相,苹果发布会定档 9 月 10 日|TodayAI
  • 【2024】Datawhale AI夏令营-从零上手Mobile Agent-Task1笔记
  • Java中常用的API
  • Redis数据结构与连接
  • 用于目标说话人提取的统一视听线索
  • 【Java】—— Java面向对象基础:使用Java模拟银行账户与客户交易系统
  • Spark-Task启动流程