码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-09-11 22:48:28      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:src   conf   解析   bsp   ict   add   version   ges   delete   

普通的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

 

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

标签:src   conf   解析   bsp   ict   add   version   ges   delete   

原文地址:http://www.cnblogs.com/cnki/p/7507130.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!