merge_to_bulk
> 文档中心 > 文档中心 > INFINI Gateway > 功能手册 > 离线处理器 > merge_to_bulk

merge_to_bulk #

描述 #

merge_to_bulk 处理器用来消费队列里面的纯 JSON 文档,并合并成 Bulk 请求保存到指定的队列里面,需要配合 consumer 处理器进行消费,用批量写入代替单次请求来提高写入吞吐。

配置示例 #

一个简单的示例如下:

pipeline:
  - name: messages_merge_async_bulk_results
    auto_start: true
    keep_running: true
    singleton: true
    processor:
      - consumer:
          queue_selector:
            keys:
              - bulk_result_messages
          consumer:
            group: merge_to_bulk
          processor:
            - merge_to_bulk:
                elasticsearch: "logging"
                index_name: ".infini_async_bulk_results"
                output_queue:
                  name: "merged_async_bulk_results"
                  label:
                    tag: "bulk_logging"
                worker_size: 1
                bulk_size_in_mb: 10

参数说明 #

名称类型说明
message_fieldstring从队列获取到的消息,存放到上下文的字段名称, 默认 messages
bulk_size_in_kbint批次请求的单位大小,单位 KB
bulk_size_in_mbint批次请求的单位大小,单位 MB,默认 10
elasticsearchstring保存到目标集群的名称
index_namestring保存到目标集群的索引名称
type_namestring保存到目标集群的索引类型名称,默认根据集群版本来设置,v7 以前为 doc,之后为 _doc
output_queue.namestring保存到目标队列的名称
output_queue.labelmap保存到目标队列的标签,内置 type:merge_to_bulk