Elasticsearch技术解析与实战Elasticsearch partial update

Posted 沐风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

以上是关于Elasticsearch技术解析与实战Elasticsearch partial update的主要内容,如果未能解决你的问题,请参考以下文章

Elasticsearch技术解析与实战Elasticsearch partial update

Elasticsearch技术解析与实战Document解析

elasticsearch技术解析与实战 入门和索引

Elasticsearch技术解析与实战基础概念及环境搭建

elasticsearch实战三部曲之三:搜索操作

大数据计算引擎和搜索引擎:Spark + Elasticsearch 一致性问题解析及解决方案。