zoukankan      html  css  js  c++  java
  • 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/

    技术在于沟通交流!

  • 相关阅读:
    算法导论--第七章、快速排序
    PS操作
    【字符编码】彻底理解字符编码
    HTML网页设计-代码效果记录
    Ubuntu 18.04 nvidia driver 390.48 安装 TensorFlow 1.12.0 和 PyTorch 1.0.0 详细教程
    cmake更新版本简记
    计算机图形学(二)——微表面模型
    计算机图形学(一)——辐照度学概述
    蒙特卡洛积分与重要性采样详解
    for循环提高内存访问效率的做法
  • 原文地址:https://www.cnblogs.com/chenyuanbo/p/10138789.html
Copyright © 2011-2022 走看看