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

  • 相关阅读:
    selenium
    python第三方模块的安装
    程序员学习网站
    python 数据较大 性能分析
    linux ~/ 和 /
    VMWare虚拟机 window文件传递
    vi命令
    os.system
    win10系统进入BIOS
    pyinstaller将python脚本生成exe
  • 原文地址:https://www.cnblogs.com/javasl/p/12652425.html
Copyright © 2020-2023  润新知