elasticsearch logstash jdbc:如何聚合成不同的列名

nbnkbykc  于 2021-06-15  发布在  ElasticSearch
关注(0)|答案(0)|浏览(154)

我是elasticsearch的新手,我正在尝试使用logstash将数据加载到索引中。以下是我的losgstash配置的一部分:

filter {
  aggregate {
    task_id => "%{code}"
    code => "
      map['campaignId'] = event.get('CAM_ID')
      map['country'] = event.get('COUNTRY')
      map['countryName'] = event.get('COUNTRYNAME')
    # etc
    "
    push_previous_map_as_event => true
    timeout => 5
  }
}

output {
  elasticsearch {
    document_id => "%{code}"
    document_type => "company"
    index => "company_v1"
    codec => "json"
    hosts => ["127.0.0.1:9200"]
  }
}

我期望聚合将例如列“camuid”Map到elasticsearch索引中的属性“campaignid”。相反,正在创建一个名为“cam\u id”的属性,该属性的列名为小写。其他属性也一样。
以下是执行logstash后的索引文档:

{
  "company_v1": {
    "aliases": {

    },
    "mappings": {
      "company": {
        "properties": {
          "@timestamp": {
            "type": "date"
          },
          "@version": {
            "type": "text",
            "fields": {
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
          },
          "cam_id": {
            "type": "long"
          },
          "campaignId": {
            "type": "long"
          },
          "cam_type": {
            "type": "text",
            "fields": {
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
          },
          "campaignType": {
            "type": "text"
          }
        }
      }
    },
    "settings": {
      "index": {
        "creation_date": "1545905435871",
        "number_of_shards": "5",
        "number_of_replicas": "1",
        "uuid": "Dz0x16ohQWWpuhtCB3Y4Vw",
        "version": {
          "created": "6050399"
        },
        "provided_name": "company_v1"
      }
    }
  }
}

“campaignid”和“campaigntype”是我在创建索引时创建的,但logstash创建了另外两个。
有人能告诉我如何配置logstash来定制数据加载时的索引文档属性名称吗?
非常感谢你。
致以最诚挚的问候

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题