Как извлечь месяц из даты и времени в Kibana и Elastisearch?

Я поместил некоторые данные в Elasticsearch, чтобы визуализировать их в Kibana. Моя цель — максимально избежать полей со сценариями в Kibana, потому что они требуют больших вычислительных ресурсов.

Я хочу сделать диаграмму, показывающую месяцы по оси X и подсчет по оси Y. Для этого мне нужно отформатировать EventDate в месяц. Как лучше всего это сделать?

Это мое PUT утверждение:

PUT /test
{
    "mappings": {
      "registry": {
      "_source": {
        "enabled": true
      },
      "_all": {
        "enabled": true
      },
        "properties": {
          "Id": {
            "type":"text"
          },
          "Location": {
            "type":"geo_point"
          },
          "Country": {
            "type":"keyword"
          },
          "EventDate": {
            "type":"date",
            "format": "yyyy-MM-dd HH:mm:ss.SSS"
          },
        }
      }
    }
}

person Dinosaurius    schedule 24.07.2017    source источник


Ответы (1)


Я не знаю точного варианта использования, но вы можете использовать агрегацию гистограммы или запросы регулярных выражений, которые соответствуют месяцу в EventDate.

Вот документ агрегации DateHistogramm: https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-datehistogram-aggregation.html

person MartinSchulze    schedule 24.07.2017
comment
Не могли бы вы привести пример? Или, может быть, веб-ссылка? - person Dinosaurius; 24.07.2017
comment
Добавьте ссылку на агрегацию DateHistogramm. Скоро добавим что-то в запрос регулярного выражения. - person MartinSchulze; 24.07.2017