• elasticsearch使用bulk实现批量操作


           本篇文章提供ES原生批量操作语法及使用bulk批量操作文档。文章依旧提供语法,具体实现大家根据语法,在对应处进行替换即可

    一、原生批量获取文档

    1、获取指定文档值(1

    语法:

    GET /_mget

    {

     “doce”:[

       {

         “_index”:”索引名1”,

         “_type”:”类型1”,

         “_id”:”id”

       },

       {

         “_index”:”索引名1”,

         “_type”:”类型1”,

         “_id”:”id”

       }

     ]

    }

    2、获取指定字段的值(2

    GET /_mget

    {

     “doce”:[

       {

         “_index”:”索引名1”,

         “_type”:”类型1”,

         “_id”:”id”,

         “_source”:”字段名”

       },

       {

         “_index”:”索引名1”,

         “_type”:”类型1”,

         “_id”:”id”,

         “_source”:[“字段名1”,”字段名2”]

       }

     ]

    }

    3、当索引和类型一致时获取多个文档

    GET /索引名/类型 _mget

    {

     “ids”:[“id1”,”id2”,”id3”]

    }

    二、使用bulk API实现批量操作

     Bulk的格式:

    {action:{metadata}}

    {requestbody}

    action:(行为)

    create :文档不存在时创建(存在时创建会报错)

    update:更新文档

    index:创建新文档或替换已有的文档

    delete:删除一个文档

    metadata:_index,_type,_id

    示例:

    {

    “delete”:{

         “_index”:”索引名”,

         “_type”:”类型”,

         “_id”:”id

    }

    }

    同时添加多个文档

    POST /索引名/类型/_bulk

    {“index”:{“_id”:1}}换行

    {“字段名1”:”值1”,”字段名2”:”值2”}

    {“index”:{“_id”:2}}换行

    {“字段名1”:”值1”,”字段名2”:”值2”}

    {“index”:{“_id”:3}}换行

    {“字段名1”:”值1”,”字段名2”:”值2”}

           以上代码是本人根据实际使用进行的提炼,若大家有所疑问或不同见解欢迎评论。本人博客主页:https://home.cnblogs.com/u/chenyuanbo/

    技术在于沟通交流!

  • 相关阅读:
    日期时间基本知识
    VScode 常用操作
    js实现图片的Blob base64 ArrayBuffer 的各种转换
    window.postMessage()实现(iframe嵌套页面)跨域消息传递
    软件工程概论个人总结
    软件工程学习进度表(第十六周)
    《构建之法》阅读笔记
    软件工程学习进度表(第十五周)
    《人月神话》阅读笔记06
    《人月神话》阅读笔记05
  • 原文地址:https://www.cnblogs.com/chenyuanbo/p/10138789.html
Copyright © 2020-2023  润新知