Se eu ler corretamente o link da da documentação do ElasticSearch
JSON doesn’t have a date datatype, so dates in Elasticsearch can either be:
strings containing formatted dates, e.g. "2015-01-01" or "2015/01/01 12:10:30".
a long number representing milliseconds-since-the-epoch.
an integer representing seconds-since-the-epoch.
Portanto, o campo dateAdded representado como um tipo de dados "number" é lógico: o Elasticsearch simplesmente traduziu um número JSON para um número ES.
Se eu observar minha própria instância do ELK, descobri que o campo "timestamp" é representado como um tipo de dados "data". É feito automaticamente pelo logstash.
Por trás da cena, o logstash gerencia um 'template de mapeamento' para definir os tipos de dados dos campos ES. No seu caso, ele traduz ingenuamente o tipo de data do JSON e, no caso do timestamp, ele sabe que é uma data que define explicitamente.
Então, o que você precisa fazer é definir um modelo de mapeamento e usar o logstash para enviá-lo para o ES com seus dados.
O doc. de mapeamento ES está aqui link e o Logstash pode gerenciá-lo com manage_template e modelo na saída do elasticsearch link . Uma introdução ao mapeamento de AS link .
Você também pode ver o mapeamento que está sendo usado com
curl -XGET 'localhost:9200/<index>/_mapping?pretty'