当前位置: 首页 > 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.xdnf.cn/news/1299493.html

相关文章:

  • Java 大视界 -- Java 大数据机器学习模型在金融欺诈检测与防范策略制定中的应用(397)
  • 读取Kaggle下载的数据集(数据的读取 f’{path}\\CMaps\\train_FD001.txt’)
  • Linux中的日志管理
  • C++中的链式操作原理与应用(三):专注于异步操作延的C++开源库 continuable
  • ESP32入门开发·通用硬件定时器 (GPTimer)
  • Spring Boot + Redis Sentinel (一主两从)测试案例
  • 实体店获客新引擎:数据大集网如何破解传统门店引流难题
  • 深入理解 RAG:检索增强生成技术详解
  • 力扣 外传之数据结构java篇
  • latex 中破折号的输入
  • 【51单片机学习】定时器、串口、LED点阵屏、DS1302实时时钟、蜂鸣器
  • 华为实验WLAN 基础配置随练
  • 解剖HashMap的put流程 <一> (JDK 1.8)
  • 设计模式(2)
  • app-4 日志上传
  • Linux编程--进程
  • web请求和响应
  • SpringMVC(详细版从入门到精通)未完
  • 【科研绘图系列】R语言绘制蝶形条形图蝶形柱状堆积图
  • 【22-决策树】
  • 一款开源的远程桌面软件,旨在为用户提供流畅的游戏体验,支持 2K 分辨率、60 FPS,延迟仅为 40ms。
  • 多种适用于 MCU 固件的 OTA 升级方案
  • PHP现代化全栈开发:实时应用与WebSockets实践
  • 智能门锁:安全与便捷的现代家居入口
  • CMake笔记:Alias Target在哪些地方可以使用
  • python的艺术品收藏管理系统
  • [激光原理与应用-267]:理论 - 几何光学 - 胶卷相机的组成和工作原理
  • pytorch学习笔记-Loss的使用、在神经网络中加入Loss、优化器(optimizer)的使用
  • Video-R1论文解读
  • 前端框架选择之争:jQuery与Vue在现代Web开发中的真实地位-优雅草卓伊凡