Elasticsearch技术解析与实战(七)Elasticsearch partial update

普通的partial update

1.插入测试数据

PUT /test_index/test_type/10
{
  "test_field1": "test1",
  "test_field2": "test2"
}

2.更新

POST /test_index/test_type/10/_update
{
  "doc": {
    "test_field2": "updated test2"
  }
}

基于groovy脚本执行partial update

1.内置脚本

  插入测试数据

PUT /test_index/test_type/11
{
  "num": 0,
  "tags": []
}

  更新

POST /test_index/test_type/11/_update
{
   "script" : "ctx._source.num+=1"
}

2.外部脚本

  更新

复制代码

POST /test_index/test_type/11/_update
{
  "script": {
    "lang": "groovy", 
    "file": "test-add-tags",
    "params": {
      "new_tag": "tag1"
    }
  }
}
复制代码

用脚本删除文档

 

复制代码

POST /test_index/test_type/11/_update
{
  "script": {
    "lang": "groovy",
    "file": "test-delete-document",
    "params": {
      "count": 1
    }
  }
}
复制代码

upsert操作

POST /test_index/test_type/11/_update
{
   "script" : "ctx._source.num+=1",
   "upsert": {
       "num": 0,
       "tags": []
   }
}

 partial update内置乐观锁并发控制

post /index/type/id/_update?retry_on_conflict=5&version=6

 

posted @   ~沐风  阅读(366)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2016-09-11 Java Web之路(一)Servlet

喜欢请打赏

扫描二维码打赏

了解更多

点击右上角即可分享
微信分享提示