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

4. 索引数据的增删改查

1. 使用rest端点对索引映射中的数据进行crud

PUT test33
{"mappings": {"properties": {"id":{"type": "integer"},"sex":{"type": "boolean"},"name":{"type": "text","fields": {"keyword":{"type":"keyword","ignore_above":256}}},"born":{"type": "date","format": "yyyy-MM-dd HH:mm:ss"},"location":{"type": "geo_point"}}}
}
{"acknowledged" : true,"shards_acknowledged" : true,"index" : "test33"
}

插入数据:

POST test33/_doc/1
{"id":1,"sex":true,"name":"张三","born":"2025-01-01 00:00:00","location":{"lat":41.12,"lon":"-71.34"}
}
{"_index" : "test33","_type" : "_doc","_id" : "1","_version" : 1,"result" : "created","_shards" : {"total" : 2,"successful" : 1,"failed" : 0},"_seq_no" : 0,"_primary_term" : 1
}

查询插入的数据:GET test33/_doc/1

{"_index" : "test33","_type" : "_doc","_id" : "1","_version" : 1,"_seq_no" : 0,"_primary_term" : 1,"found" : true,"_source" : {"id" : 1,"sex" : true,"name" : "张三","born" : "2025-01-01 00:00:00","location" : {"lat" : 41.12,"lon" : "-71.34"}}
}

对数据进行修改:

POST test33/_update/1
{"doc": {"sex":false,"born":"1999-09-09 00:00:00"}
}
{"_index" : "test33","_type" : "_doc","_id" : "1","_version" : 2,"result" : "updated","_shards" : {"total" : 2,"successful" : 1,"failed" : 0},"_seq_no" : 1,"_primary_term" : 1
}

上面的请求使用了_update端点进行数据修改,这时只需要传递主键和需要修改的字段内容,对于无须修改的自带可以不用提供。

删除数据:delete test33/_doc/1

2. 使用乐观锁进行并发控制

由于elasticsearch不支持事务管理,自然也就没有事务的隔离级别。由于无法保证修改请求是按顺序到达elasticsearch的,需要防止低版本的修改请求把高版本的数据覆盖,这时就需要使用乐观锁进行并发控制。

乐观锁的实现是基于版本号或者时间戳进行的。

http://www.dtcms.com/a/331657.html

相关文章:

  • ATAM:基于场景的软件架构权衡分析法
  • C语言指针使用
  • 机器翻译:Hugging Face库详解
  • Qwen-Image深度解析:突破文本渲染与图像编辑的视觉革命
  • 网站突然崩了,此站点遇到了致命错误!
  • 从零开始学习:深度学习(基础入门版)(第2天)
  • RCL 2025 | LLM采样机制的新视角:来自处方性偏移的解释
  • 区块链技术原理(10)-以太坊帐户
  • ​​vdbench 存储性能测试工具​​的详细使用教程,结合安装部署、参数配置、测试执行及结果分析
  • 电池模组奇异值分解降阶模型
  • Pandas数据处理与分析实战:Pandas数据转换与处理基础课程
  • 既然是长连接 ,资源已经占用,已经存在。那抢购就直接用长连接不更好?
  • 前端八股文-HTML5篇
  • AI绘画:从算法原理解读其风格、质量与效率变革
  • RLHF综述-GRPO之前
  • 《SeeClick: Harnessing GUI Grounding for Advanced Visual GUI Agents》论文精读笔记
  • 机器学习算法篇(八)-------svm支持向量机
  • 机器人“ChatGPT 时刻”倒计时
  • 码上爬第九题【协程+webpack】
  • 苹果正计划大举进军人工智能硬件领域
  • 【wpf】WPF 中的 MouseBinding 详解
  • Node-RED系列教程-V4版本Dashboard2使用教程
  • 【科研绘图系列】R语言绘制微生物丰度和基因表达值的相关性网络图
  • 数智先锋 | 告别运维黑盒!豪鹏科技×Bonree ONE构建全栈智能可观测体系
  • Java 中导出 Excel 文件的方法
  • Java 设计模式-装饰器模式
  • 基于51单片机万年历时钟设计
  • Auto-Coder的CLI 和 Python API
  • 顺序表插入删除
  • React 18/19 新特性 核心 API 深入讲解