Elasticsearch bulk 批量操作文档

 

打开、关闭连接代价比较高,尽量把多个操作放在一个请求中完成,来提升性能。

 

 

批量插入文档

POST mall/_doc/_bulk
{ "index":{} }
{ "goods_name":"苹果","goods_price":10.0,"goods_description":"新鲜苹果,10元一斤" }
{ "index":{} }
{ "goods_name":"梨子","goods_price":5.0,"goods_description":"新鲜梨子,5元一斤" }

2行表示一个文档

在url中指定index、type,文档id自动生成。

 

 

也可以手动指定文档id:

POST mall/_doc/_bulk
{ "index":{"_id":"1"} }
{ "goods_name":"苹果","goods_price":10.0,"goods_description":"新鲜苹果,10元一斤" }
{ "index":{"_id":"2"} }
{ "goods_name":"梨子","goods_price":5.0,"goods_description":"新鲜梨子,5元一斤" }

 

 

index、type、id都可以写在“index”中:

POST _bulk
{ "index":{"_index":"mall","_type":"_doc","_id":"1"} }
{ "goods_name":"冬瓜","goods_price":5.0,"goods_description":"新鲜冬瓜,5元一斤" }
{ "index":{"_index":"mall","_type":"_doc","_id":"2"} }
{ "goods_name":"西瓜","goods_price":5.0,"goods_description":"新鲜西瓜,5元一斤" }

要么写在“index”中,要么写在url中,总之要指定index、type。在“index”中指定时有前缀_

id可以不指定,会自动生成。

 

 

用PUT、POST都行,对document来说是新建,对index、type来说是更新。

 

posted @   chy-x  阅读(992)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示