码迷,mamicode.com
首页 > 其他好文 > 详细

(47)ElasticSearch之bulk语法格式解析

时间:2020-04-07 12:51:14      阅读:69      评论:0      收藏:0      [点我收藏+]

标签:请求   cse   action   sea   转换   创建   har   有一个   class   

  1、bulk的格式:

{action:{metadata}}\n
{requestbody}\n

  2、为什么不使用如下格式:

[
  {
    "action":{},
    "data":{}
  }
]

  这种方式可读性好,但是内部处理就麻烦了:耗费更多内存,增加java虚拟机开销

  1)将json数组解析为JSONArray对象,在内存中就需要有一份json文本的拷贝,另外还有一个JSONArray对象
  2)解析json数组里的每个json,对每个请求中的document进行路由
  3)为路由到同一个shard上的多个请求,创建一个请求数组
  4)将这个请求数组序列化
  5)将序列化后的请求数组发送到对应的节点上去

  3、使用第一种的好处:

  1)不用将其转换为json对象,直接按照换行符切割json,内存中不需要json文本的拷贝
  2)对每两个一组的json,读取meta,进行document路由
  3)直接将对应的json发送到node上去

(47)ElasticSearch之bulk语法格式解析

标签:请求   cse   action   sea   转换   创建   har   有一个   class   

原文地址:https://www.cnblogs.com/javasl/p/12652425.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!