二十二、Elasticsearch的partial update

作者: 编程界的小学生 | 来源:发表于2017-07-06 11:14 被阅读121次

    1、什么是partial update?

    一般对应到应用程序中,每次的执行流程基本是这样的:
    (1)应用程序先发起一个get请求,获取到document,展示到前台页面,供用户查看和修改

    (2)用户在前台界面修改数据,发送到后台

    (3)后台代码会将用户修改的数据在内存中进行执行,然后封装好修改后的全量数据

    (4)然后发送PUT请求,到ES中,进行全量替换

    (5)ES将老的document标记为deleted,然后重新create一个新的document

    partial update是说没必要全量替换,我更新哪个字段就发送哪个字段就好了,无需全量发送。

    2、partial update基本语法

    POST /index/type/id/_update
    {
        "doc" : {
            "要修改的少数几个field即可,不需要全量的数据"
        }
    }
    

    3、图解 partial update实现原理以及优点

    Paste_Image.png

    4、实战演练partial update
    数据准备

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

    partial update,只修改test_field2字段

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

    查看是否更新成功
    GET /test_index/test_type/10/

    结果

    {
      "_index": "test_index",
      "_type": "test_type",
      "_id": "10",
      "_version": 4,
      "found": true,
      "_source": {
        "test_field1": "test1",
        "test_field2": "updated test2"
      }
    }
    

    若有兴趣,欢迎来加入群,【Java初学者学习交流群】:458430385,此群有Java开发人员、UI设计人员和前端工程师。有问必答,共同探讨学习,一起进步!
    欢迎关注我的微信公众号【Java码农社区】,会定时推送各种干货:


    qrcode_for_gh_577b64e73701_258.jpg

    相关文章

      网友评论

      本文标题:二十二、Elasticsearch的partial update

      本文链接:https://www.haomeiwen.com/subject/shhhhxtx.html