Kibana - Время отображения серии опубликованных твитов - Twitter

Я использую последнюю версию Kibana 4/ES 1.4 и пытаюсь отобразить количество твитов с течением времени. Моя идея состоит в том, чтобы нарезать поле 'created_at' из документов твитов.

Отображение, определенное для этого поля, следующее

dynamic_templates": [
                    {
                        "created_at": {
                            "mapping": {
                                "locale": "US",
                                "format": "EEE MMM dd HH:mm:ss Z yyyy",
                                "type": "date"
                            },
                            "match": "created_at"
                        }
                    },

...

Я могу создавать базовые диаграммы в Kibana (с полем агрегатов терминов), и в целом кажется, что он работает, но я не могу отображать какие-либо тенденции с помощью линейных диаграмм или гистограммы дат с полем created_at.

Ниже приведена ошибка

ElasticsearchParseException[failed to parse date field [2014-10-13T23:35:31.450Z], 
tried both date format [EEE MMM dd HH:mm:ss Z yyyy], and timestamp number]; nested:
IllegalArgumentException[Invalid format: \"2014-10-13T23:35:31.450Z\"]; }

Спасибо за вашу помощь,

Арно


person frognonus    schedule 14.10.2014    source источник
comment
Как [EEE MMM dd HH:mm:ss Z yyyy] соотносится с [2014-10-13T23:35:31.450Z]?   -  person Terence Eden    schedule 14.10.2014
comment
Привет, Теренс, я не знаю. Я использую Zapier для публикации определенных твитов в ElasticSearch и вижу, что твиты публикуются правильно. См. ниже выдержку из документов, полученных через ES, которые я получил. { "_index": "tweets", "_type": "genesys", "_source": { "text": "Blah Blah Blah", "user": { "name": "Arnaud Lejeune", "created_at": "Wed Jan 05 17:39:08 +0000 2011", "time_zone": "" }, "lang": "en", "created_at": "Mon Oct 13 15:47:23 +0000 2014", } }   -  person frognonus    schedule 14.10.2014


Ответы (1)


Я не уверен, что формат вашей даты правильный, но если это так, у меня была аналогичная проблема в ElasticSearch 1.4, когда синтаксический анализатор не распознавал метку времени, если метка времени не была сопоставлена ​​в свойствах:

curl -XPUT 'http://localhost:9200/index/container/_mapping' -d'
{
"container" : {
"properties" : {
"@timestamp" : {"type":"date", "format": "dateOptionalTime"}
}
}
}'

Также может быть неактуальным для вас, но для полезной статьи о соглашениях об именах дат: http://joelabrahamsson.com/dynamic-mappings-and-dates-in-elasticsearch/

Список форматов даты эластичного поиска: http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-date-format.html

Надеюсь это поможет!

person user2985249    schedule 29.10.2014