Objects showing in Discover as json, not discrete fields

Hi,

Have you tried to map the fields "beat", "event", "fields", and "meta" with type: nested like:

"properties": {
  "beat": {
    "type": "nested" 
  }
}

https://www.elastic.co/guide/en/elasticsearch/reference/current/nested.html

Also, remove the

"dynamic_templates": [ {
    "string_fields": {
        "match": "*",
        "match_mapping_type": "string"
      }
 }]

That is matching all fields, thus making all fields of type string.