I'm trying to set types manually for certain fields because Elasticsearch / Kibana is incorrectly categorizing things that should be Numbers as Strings. We are currently doing Filebeat -> Elasticsearch. I know that Logstash can solve some of this, but we'd like to keep our existing flow. I know that mappings can be set in Elasticsearch with a template, so I've tried doing that. But when refreshing the index in Kibana, the field type is still listed as string. How can I fix this?
What I tried to do to set the template:
curl -XPUT 'http://elasticsearch:9200/_template/applog_1' -H 'Content-Type: application/json' -d'
{
"template": "applog-*",
"order": 10,
"mappings": {
"json.Properties.thingService/timerMs/success": {
"type": "integer"
}
}
}
'
Elasticsearch 2.3.3
Kibana 4.4
Versions upgrades not possible at this time.