Dynamic field mapping under an object field

Hello,
I run elasticsearch 5.4.1.

I want to create a dynamic template for filebeat with numeric detection enabled. I want though to force keyword type for all fields under an object (dynamically generated with kv logstash filter):

_template/filebeat
{
    "order": 0,
    "template": "filebeat-*",
    "settings": {
      "index": {
        "mapping": {
          "total_fields": {
            "limit": "10000"
          }
        },
        "refresh_interval": "5s",
        "number_of_shards": "1",
        "number_of_replicas": "2"
      }
    },
    "mappings": {
      "_default_": {
        "numeric_detection": true,
        "_meta": {
          "version": "5.4.1"
        },
        "dynamic_templates": [
          {
            "strings_as_keyword": {
              "mapping": {
                "ignore_above": 1024,
                "type": "keyword"
              },
              "match_mapping_type": "string"
            }
          }
        ],
        "_all": {
          "norms": false
        },
        "date_detection": true,
        "properties": {
          "apache2": {
            "properties": {
              "access": {
                "properties": {
                  "request_param": {
                    "properties": {
                         "_all": {
                    "ignore_above": 1024,
                    "type": "keyword"
                  }
            }
   } 
.
.
.
}

Is something like this possible ? If not is there any other ways to achieve the above case ?

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.