尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
第四阶段 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但会影响性能。
RELATED

相关推荐

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

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

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

📅 2026/9/24 16:20:57
HRTOS任务嵌套深度详解

HRTOS任务嵌套深度详解

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

📅 2026/9/19 5:48:45
5分钟搞定:QtUnblockNeteaseMusic解锁网易云音乐全攻略

5分钟搞定:QtUnblockNeteaseMusic解锁网易云音乐全攻略

5分钟搞定:QtUnblockNeteaseMusic解锁网易云音乐全攻略 【免费下载链接】QtUnblockNeteaseMusic A desktop client for UnblockNeteaseMusic, made with Qt. 项目地址: https://gitcode.com/gh_mirrors/qt/QtUnblockNeteaseMusic QtUnblockNeteaseMusic是一款…

📅 2026/9/5 15:31:26
MORE NEWS

更多资讯

📰

Orleans 持久化流拉取架构详解:Pulling Agent、队列均衡与投递语义

后端微服务 【免费下载链接】orleans Cloud Native application framework for .NET 项目地址: https://gitcode.com/gh_mirrors/or/orleans 点击查看 免费下载 本篇文章系统讲解 Orleans 中"持久化流提供程序(Persistent Stream Provider&#xf…

📰

4步把智慧教育平台电子课本PDF存到本地:tchMaterial-parser使用指南

4步把智慧教育平台电子课本PDF存到本地:tchMaterial-parser使用指南 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具,帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载,让您更方便地获取课本内容…

📰

从预览页到课本PDF:tchMaterial-parser 批量下载国家中小学智慧教育平台电子课本

从预览页到课本PDF:tchMaterial-parser 批量下载国家中小学智慧教育平台电子课本 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具,帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载,让您更方便地…

📰

palera1n 越狱工具完整指南:适用设备、操作步骤与故障恢复

palera1n 越狱工具完整指南:适用设备、操作步骤与故障恢复 【免费下载链接】palera1n Jailbreak for A8 through A11, T2 devices, on iOS/iPadOS/tvOS 15.0, bridgeOS 5.0 and higher. 项目地址: https://gitcode.com/GitHub_Trending/pa/palera1n palera1n…

📰

在 AI 应用中构建 Stack Trace 错误展示组件:ai-elements StackTrace 组件实战指南

后端前端CRM人工智能AI Agent 【免费下载链接】crm Comp AI CRM is an open source, CRM designed for AI agents. Agentic-first CRM. 项目地址: https://gitcode.com/gh_mirrors/crm48/crm 点击查看 免费下载 本篇文章聚焦 Comp AI CRM 仓库中 .agents/skills/ai…

📰

微信聊天记录导出完整指南:5步永久保存全部对话,免费开源工具WeChatMsg

微信聊天记录导出完整指南:5步永久保存全部对话,免费开源工具WeChatMsg 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.c…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬