第四阶段 32 · update_by_query / delete_by_query 条件更新删除
32 · update_by_query / delete_by_query 条件更新删除阶段第四阶段 / 写入与索引管理ESupdate_by_query/delete_by_query| PostgreSQLUPDATE ... WHERE/DELETE ... WHERE1. 概念前一篇的update/delete是按_id操作单文档。本篇的update_by_query/delete_by_query是按查询条件批量操作真正对应 SQL 的UPDATE ... WHERE和DELETE ... WHERE。更新逻辑通常用脚本painless表达。2. PostgreSQL 对照-- 条件更新UPDATEsalesdataSETstatusCLOSEDWHEREgeo_cdAPANDnet_amount0;-- 条件删除DELETEFROMsalesdataWHEREversion_numberv-old;3. ES DSL# 条件更新给匹配文档加字段 / 改值 POST salesdata_idx/_update_by_query { query: { bool: { must: [ { term: { geo_cd: AP } }, { term: { net_amount: 0 } } ] } }, script: { source: ctx._source.status params.s, params: { s: CLOSED } } } # 条件删除 POST salesdata_idx/_delete_by_query { query: { term: { version_number: v-old } } }4. Spring Boot 实现ComponentpublicclassDoc32ByQuery{AutowiredprivateElasticsearchClientelasticsearchClient;/** 条件更新UPDATE ... SET statusCLOSED WHERE geo_cd? AND net_amount0 */publiclongcloseZeroAmount(StringindexName,StringgeoCd)throwsIOException{UpdateByQueryResponserespelasticsearchClient.updateByQuery(u-u.index(indexName).query(q-q.bool(b-b.must(m-m.term(t-t.field(geo_cd).value(geoCd))).must(m-m.term(t-t.field(net_amount).value(0))))).script(sc-sc.inline(in-in.source(ctx._source.status params.s).params(s,JsonData.of(CLOSED)))).conflicts(Conflicts.Proceed));// 冲突继续而非中断returnresp.updated();}/** 条件删除DELETE WHERE version_number? */publiclongdeleteByVersion(StringindexName,Stringversion)throwsIOException{DeleteByQueryResponserespelasticsearchClient.deleteByQuery(d-d.index(indexName).query(q-q.term(t-t.field(version_number).value(version))));returnresp.deleted();}}import...core.UpdateByQueryResponse、...core.DeleteByQueryResponse、co.elastic.clients.json.JsonData、...core.search.Conflicts或_types.Conflicts。5. 坑与最佳实践是异步分批的批量操作数据量大时耗时长可用wait_for_completionfalse拿 task id 异步跟踪。版本冲突默认遇冲突中断设conflicts: proceed可跳过冲突继续。脚本性能update_by_query逐文档跑脚本海量文档慢能提前算好用 bulk 更快。不可回滚删除/更新不可逆生产前先用相同query跑_count确认影响范围。refresh需要立即可见可带refreshtrue但会影响性能。

相关新闻

OpenAI Astra 多Agent协作系统深度解析:AI团队协作的工程范式

OpenAI Astra 多Agent协作系统深度解析:AI团队协作的工程范式

OpenAI Astra 多Agent协作系统深度解析:AI团队协作的工程范式 一、引言:AI竞争的新主战场 2026年8月,据The Information爆料,OpenAI正在秘密测试一套全新模型家族,暂定名为「Astra」。Sam Altman已带着它去华盛顿做了现…

2026/8/3 16:55:48 阅读更多 →
HRTOS任务嵌套深度详解

HRTOS任务嵌套深度详解

一、任务嵌套深度是什么?在 HRTOS 中,每个任务都有一个运行嵌套深度属性,用于描述当前任务执行过程中可能进入的上下文层级。由于 8051 资源有限,尤其是内部 RAM 和堆栈空间较小,因此必须对任务运行深度进行限制。HRTO…

2026/8/3 16:55:48 阅读更多 →
MathType安装与DLL加载失败全攻略:从原理到实战解决

MathType安装与DLL加载失败全攻略:从原理到实战解决

1. 从一次令人抓狂的公式编辑经历说起 那天下午,我正赶着一份技术报告,里面充斥着各种复杂的数学公式和物理符号。Word自带的公式编辑器用起来总感觉差点意思,效率不高,格式调整也麻烦。于是,我决定安装业界公认的公式…

2026/8/3 16:55:48 阅读更多 →

最新新闻

论文降重与降 AI 的“人机分工”教程:哪些段落建议用工具粗改,哪些必须手动重构?

论文降重与降 AI 的“人机分工”教程:哪些段落建议用工具粗改,哪些必须手动重构?

临近毕业定稿提交,每一个毕业生都在跟相似度(查重率)和 AIGC 疑似度(AI率)这两个指标进行最后的赛跑。在庞大的工作量面前,很多同学陷入了两个极端的误区:要么为了省时省力,整篇大论…

2026/8/3 17:28:04 阅读更多 →
SCI 论文 Results  Discussion 怎么写?三步讨论法、时态规范与对比表格包装教程

SCI 论文 Results Discussion 怎么写?三步讨论法、时态规范与对比表格包装教程

在撰写大论文或 SCI 英文小论文时,许多研究生最害怕写的章节就是 Results & Discussion(实验结果与分析讨论)。前言部分可以大范围梳理和复述同行文献,有话可说;但到了结果分析,很多同学把 Origin 导出…

2026/8/3 17:28:04 阅读更多 →
论文投稿中的“审稿人意见回复信”怎么写?教你用委婉外交辞令反驳学术偏见(附英文模板)

论文投稿中的“审稿人意见回复信”怎么写?教你用委婉外交辞令反驳学术偏见(附英文模板)

在英文 SCI 或 SSCI 期刊投稿中,经历漫长痛苦的审稿等待后,很多同学会收到 Major Revision(大修)或者 Minor Revision(小修)的审稿意见。大修报告里,经常会包含几个让你血压飙升的问题。例如&am…

2026/8/3 17:28:04 阅读更多 →
从GitHub个人页到接单流水破10万:AI开发者私藏的5个高转化技术简历优化技巧(非公开渠道实测有效)

从GitHub个人页到接单流水破10万:AI开发者私藏的5个高转化技术简历优化技巧(非公开渠道实测有效)

更多请点击: https://kaifayun.com 第一章:从GitHub个人页到接单流水破10万:AI开发者私藏的5个高转化技术简历优化技巧(非公开渠道实测有效) 你的GitHub主页不是代码仓库的附属品,而是面向技术雇主的首屏简…

2026/8/3 17:28:04 阅读更多 →
C#上位机与欧姆龙PLC通讯:基于HslCommunication的Fins TCP实战指南

C#上位机与欧姆龙PLC通讯:基于HslCommunication的Fins TCP实战指南

1. 项目概述:当C#遇上欧姆龙PLC 如果你正在用C#开发上位机软件,需要和车间里那台欧姆龙PLC(比如经典的CP、CJ系列或者NX/NJ系列)交换数据,那么“基于HslCommunication的欧姆龙Fins TCP通讯”这个方案,大概率…

2026/8/3 17:28:04 阅读更多 →
Rocky Linux 8.10 vs Rocky Linux 8.5 深度对比分析

Rocky Linux 8.10 vs Rocky Linux 8.5 深度对比分析

Rocky Linux 8.10 vs Rocky Linux 8.5 深度对比分析 一、版本定位与生命周期 维度 Rocky Linux 8.5 Rocky Linux 8.10 ‌发布时间‌ 2021年11月 2024年5月30日 ‌版本定位‌ Rocky 8 系列中期版本 ‌Rocky 8 系列最终收官版本(无 8.11)‌ ‌内核版本‌ 4.18.0-348.el8 4.18.…

2026/8/3 17:27:04 阅读更多 →

日新闻

3个让你工作效率翻倍的Umi-OCR实战技巧:免费离线文字识别完全指南

3个让你工作效率翻倍的Umi-OCR实战技巧:免费离线文字识别完全指南

3个让你工作效率翻倍的Umi-OCR实战技巧:免费离线文字识别完全指南 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。…

2026/8/3 0:00:47 阅读更多 →
[具身智能-181]:PC+服务器+具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构

[具身智能-181]:PC+服务器+具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构

PC服务器具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构一、前言:具身智能需要“混合算力闭环系统”传统人工智能依赖云端静态数据集训练,不具备物理交互能力,无法适应真实世界的不确定性。具身智能(Embodied…

2026/8/3 0:00:47 阅读更多 →
[具身智能-181]:大分布式通信模型对比:看懂为什么 DDS 是 ROS2 底层通信最优解

[具身智能-181]:大分布式通信模型对比:看懂为什么 DDS 是 ROS2 底层通信最优解

前言构建机器人、具身智能这类分布式实时系统,通信底座直接决定整套系统的实时性、容错性、组网能力。分布式领域长期存在 4 类经典通信架构:点对点模式、Broker 中间代理模式、广播模式、以数据为中心(DDS)模式。很多开发者疑惑&…

2026/8/3 0:00:47 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/3 4:58:13 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/3 1:53:31 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/3 4:36:35 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/3 13:07:03 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/3 5:19:38 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/3 8:27:36 阅读更多 →