新闻详情

新闻详情

首页 / 资讯中心 / 详情

第四阶段 32 · update_by_query / delete_by_query 条件更新删除

发布时间:2026/9/11 8:56:07来源:尧图网络
第四阶段 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

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

腾讯WorkBuddy团队协作平台深度测评与实战指南 2026/9/11 8:55:38

腾讯WorkBuddy团队协作平台深度测评与实战指南

1. 腾讯WorkBuddy初体验:团队协作新选择作为一名长期关注企业协作工具的IT从业者,最近深度测试了腾讯最新推出的WorkBuddy团队协作平台。这款产品在传统企业微信的基础上,针对中小团队协作场景做了不少优化设计。经过两周的实际使用&#xff…

阅读更多 →
73 份 DESIGN.md 任选其一:让 AI 生成的页面不再是千篇一律 2026/9/11 8:55:38

73 份 DESIGN.md 任选其一:让 AI 生成的页面不再是千篇一律

73 份 DESIGN.md 任选其一:让 AI 生成的页面不再是千篇一律 【免费下载链接】awesome-design-md A collection of DESIGN.md files analysis by popular brand design systems. Drop one into your project and let coding agents generate a matching UI. 项目地…

阅读更多 →
e稿正确操作流程指南 一站式论文写作工具使用手册 2026/9/11 8:55:38

e稿正确操作流程指南 一站式论文写作工具使用手册

e稿核心定位与适用场景说明e稿是吉林省睿安未来科技有限公司推出的一站式AI论文写作软件,适合学术写作、商业文案、办公文稿等多元创作场景,核心定位为合规智能写作辅助工具,所有生成内容仅作参考,核心观点、原创内容需用户自主输…

阅读更多 →
树莓派Pico低功耗实践:从MicroPython陷阱到微安级DeepSleep 2026/9/11 8:55:38

树莓派Pico低功耗实践:从MicroPython陷阱到微安级DeepSleep

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
如何在本地跑通 Duix.Avatar:离线 AI 数字人视频生成完整指南(10秒视频进,口播视频出) 2026/9/11 8:55:38

如何在本地跑通 Duix.Avatar:离线 AI 数字人视频生成完整指南(10秒视频进,口播视频出)

如何在本地跑通 Duix.Avatar:离线 AI 数字人视频生成完整指南(10秒视频进,口播视频出) 【免费下载链接】Duix-Avatar 🚀 Truly open-source AI avatar(digital human) toolkit for offline video generation and digit…

阅读更多 →
Proteus单片机仿真从入门到闭环调试实战指南 2026/9/11 8:52:38

Proteus单片机仿真从入门到闭环调试实战指南

简介:本资源是一套面向单片机初学者与电子设计爱好者的Proteus仿真学习套件,涵盖33个经典单片机控制实例,覆盖LED控制、数码管显示、按键交互、中断应用、定时器驱动、继电器控制及音频发声等核心知识点,适用于课程实验、毕业设计…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞