美文网首页ElasticSearch入门玩转大数据大数据 爬虫Python AI Sql
十六、Elasticsearch的document的全量替换和强

十六、Elasticsearch的document的全量替换和强

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

    1、document的全量替换
    (1)语法与创建文档是一样的,如果document id不存在,那么就是创建(created);如果document id已经存在,那么就是全量替换操作(updated),替换document的json串内容,同时_version + 1

    PUT /test_index/test_type/1
    {
      "test_field" : "test test"
    }
    

    (2)document是不可变的,如果要修改document的内容,第一种方式就是全量替换,直接对document重新建立索引,替换里面所有的内容。

    (3)ES会将老的document标记为deleted,然后新增我们给定的一个document,当我们创建越来越多的时候,ES会在适当的时机在后台自动删除标记为deleted的document

    Paste_Image.png

    2、document的强制创建
    (1)创建文档与全量替换的语法是一样的,有时候我们只是想新建文档,不想替换文档,如何强制进行创建呢?

    方法一:

    PUT /test_index/test_type/1/_create
    {
      "test_field" : "test test"
    }
    

    方法二:

    PUT /test_index/test_type/1?op_type=create
    {
      "test_field" : "test test"
    }
    

    3、document的删除
    (1)语法
    DELETE /index/type/id

    DELETE /test_index/test_type/1

    (2)不会立即物理删除,只会将其标记为deleted,当数据越来越多的时候,在后台ES自动删除。

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


    qrcode_for_gh_577b64e73701_258.jpg

    相关文章

      网友评论

        本文标题:十六、Elasticsearch的document的全量替换和强

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