第四阶段 30 · index / document 单文档写入
30 · index / document 单文档写入阶段第四阶段 / 写入与索引管理ESindex/create/update/delete 单文档 | PostgreSQLINSERT/UPDATE/DELETE1. 概念ES 的单文档写入 APIAPI语义SQL 对照index有则覆盖、无则新建upsert 整篇INSERT ... ON CONFLICT DO UPDATE整行替换create仅当不存在时创建存在则报错INSERT主键冲突报错update局部更新指定字段或脚本更新UPDATE ... SET col ?delete按_id删除DELETE ... WHERE id ?文档由_index_id唯一定位_id相当于主键。2. PostgreSQL 对照INSERTINTOsalesdata(id,invoice_number,net_amount)VALUES(1,INV-001,100)ONCONFLICT(id)DOUPDATESETnet_amountEXCLUDED.net_amount;UPDATEsalesdataSETnet_amount200WHEREid1;DELETEFROMsalesdataWHEREid1;3. ES DSL# index整篇 upsert指定 _id PUT salesdata_idx/_doc/1 { invoice_number: INV-001, net_amount: 100 } # create仅新建 PUT salesdata_idx/_create/1 { invoice_number: INV-001, net_amount: 100 } # update局部更新 POST salesdata_idx/_update/1 { doc: { net_amount: 200 } } # delete DELETE salesdata_idx/_doc/14. Spring Boot 实现ComponentpublicclassDoc30SingleDoc{AutowiredprivateElasticsearchClientelasticsearchClient;/** index整篇 upsert */publicvoidindexDoc(StringindexName,Stringid,MapString,Objectdoc)throwsIOException{elasticsearchClient.index(i-i.index(indexName).id(id).document(doc));}/** update局部更新指定字段 */publicvoidupdateFields(StringindexName,Stringid,MapString,Objectpartial)throwsIOException{elasticsearchClient.update(u-u.index(indexName).id(id).doc(partial),// 只更新给出的字段Map.class);}/** delete */publicvoiddeleteDoc(StringindexName,Stringid)throwsIOException{elasticsearchClient.delete(d-d.index(indexName).id(id));}}5. 坑与最佳实践不指定_idindex会自动生成随机 id通常业务上要显式指定方便幂等。index是整篇替换漏传的字段会丢失只改部分字段用update。写入近实时NRT默认 1s 后可搜到refresh_interval不是立即可见。别逐条写大批量批量场景用bulk第 31 篇单条写吞吐低。版本冲突并发更新可用if_seq_no/if_primary_term做乐观锁。

相关新闻

SpringBoot构建农产品直卖平台:架构设计与技术实践

SpringBoot构建农产品直卖平台:架构设计与技术实践

1. 项目概述:农产品直卖平台的业务价值与技术选型农产品直卖平台是连接农户与消费者的数字化桥梁,核心目标是解决传统农产品流通环节多、损耗高、信息不对称等痛点。基于SpringBoot的Web实现方案,能够快速构建高可用的交易系统。我去年参与过…

2026/8/3 16:56:48 阅读更多 →
大模型API调用实战:从原理到工程化,解决成本与稳定性难题

大模型API调用实战:从原理到工程化,解决成本与稳定性难题

最近在开发AI应用时,你是否也感受到了调用大模型API的成本压力?无论是个人项目还是企业级应用,高昂的API费用和时快时慢的推理速度,常常成为项目落地和持续迭代的瓶颈。好消息是,随着技术迭代和市场竞争,一…

2026/8/3 16:56:48 阅读更多 →
Day16 高级玩法-拦截并获取网络请求

Day16 高级玩法-拦截并获取网络请求

一、说明有的时候登录的时候会获取验证码,有些情况下验证码是通过接口的上下请求rsa 加解密后可以获取,这个时候我们可以通过 的getResponseByUrlPattern 方法,抓取对应的请求,方法如下/*** 拦截操作后的数据* param urlPattern U…

2026/8/3 16:56: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 阅读更多 →