zoukankan      html  css  js  c++  java
  • (47)ElasticSearch之bulk语法格式解析

      1、bulk的格式:

    {action:{metadata}}
    
    {requestbody}
    

      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上去

  • 相关阅读:
    3.24
    3.23
    构建之法读书笔记2
    寒假学习day23
    寒假学习day22
    寒假学习day21
    寒假学习day20
    寒假学习day19
    寒假学习每周总结4
    寒假学习day18
  • 原文地址:https://www.cnblogs.com/javasl/p/12652425.html
Copyright © 2011-2022 走看看