2016-09-19 4 views
1

Я получил этот пользовательский запрос для Elasticsearch:Визуальное пользовательский запрос в kibana

{ 
    "query": { "match_all": {} }, 
    "size": 0, 
    "aggs": { 
     "hour": { 
      "histogram": { 
       "script": "doc['startTime'].date.hourOfDay", 
       "interval": 1, 
       "min_doc_count": 0, 
       "extended_bounds": { 
        "min": 0, 
        "max": 23 
       }, 
       "lang":"groovy" 
      } 
     } 
    } 
} 

который, когда бежал через почтальона, дает следующий результат (не полный):

"aggregations": { 
    "hour": { 
     "buckets": [ 
     { 
      "key": 0, 
      "doc_count": 18359 
     }, 
     { 
      "key": 1, 
      "doc_count": 18361 
     }, 
     { 
      "key": 2, 
      "doc_count": 18183 
     }, 
     { 
      "key": 3, 
      "doc_count": 19729 
     }, 

Thing теперь, я хочу визуализировать эти ведра в Кибане. Цель состоит в том, чтобы показать 24 бара каждый со своим соответствующим doc_count.

Если я поставлю запрос в строку поиска, однако я получаю ошибку:

Visualize: [filtered] query does not support [query].

Переход на вкладку визуализации и добавления х-ASIS типа агрегации «Дата гистограммы», поле «начальное время» (это мое поле даты), интервал автоматического и следующий JSON:

{ 
    "histogram": { 
     "script": "doc['startTime'].date.hourOfDay", 
     "interval": 1, 
     "min_doc_count": 0, 
     "extended_bounds": { 
      "min": 0, 
      "max": 23 
     }, 
     "lang":"groovy" 
    } 
} 

также производит ошибку: Visualize: Unknown key for a START_OBJECT in [2]: [histogram].

За последние 3 часа вы читали разные решения и не спотыкались по любым рабочим решениям.

Некоторые подробнее:

"version": { 
    "number": "2.3.3", 
    "build_hash": "218bdf10790eef486ff2c41a3df5cfa32dadcfde", 
    "build_timestamp": "2016-05-17T15:40:04Z", 
    "build_snapshot": false, 
    "lucene_version": "5.5.0" 
} 
  • Kibana версия: 4.5.0
  • Kibana сборки: 9889

Кто там, что может дать мне руку :)?

ответ

2

Вы можете сделать это с помощью «Input JSON» варианта в Kibana:

  1. Создать новую визуализацию вертикального бара
  2. Под XAxis выберите визуализацию «гистограмма» и выберите любое поле из списка
  3. Выберите интервал
  4. Нажмите «Дополнительно» каретку и введите следующее в текстовое поле

{ 
    "script": "doc['startTime'].date.hourOfDay", 
    "interval": 1, 
    "min_doc_count": 0, 
    "extended_bounds": { 
    "min": 0, 
    "max": 23 
    }, 
    "lang": "groovy" 
} 

Другой вариант заключается в создании нового скриптового поля и использовать это:

  1. Перейдите в раздел Настройки -> Нажмите на свой шаблон индекса на левой
  2. Выберите вкладку «скриптовых поля» (прямо рядом с вкладкой «поле»)
  3. нажмите кнопку «Добавить Scripted поля»
  4. имени поля что-то вроде startTime_hourofday
  5. по сценарию вход, набор: doc['startTime'].getHourOfDay()
  6. Теперь вы можете создать новую визуализацию, как вы пытались обойтись без специального или пользовательского входа JSON, просто выбрав startTime_hourofday из списка полей.
+0

Спасибо! Я использовал гистограмму даты, потому что я работал с датами. Переключилось это на гистограмму! –

+0

Рад, что я могу помочь, посмотрю мое редактирование для другого варианта. –

+1

Протестировано, просто для проверки, и это тоже работает. Благодаря! –

Смежные вопросы