elasticsearch使用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}}\n

{requestbody}\n

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”}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值