2016-09-19 78 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 
     }, 

事是,現在我想要在Kibana中形象化這些桶。 我們的目標是顯示24個帶有各自doc_count的欄。

如果我把查詢到的搜索欄,但是我得到的錯誤:

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

走進的可視化選項卡並添加聚合類型「日期直方圖」的x 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

您可以通過使用Kibana的「JSON輸入」選項來實現:

  1. 創建一個新的豎線可視化
  2. 在X軸,選擇「直方圖」的可視化,並從列表中選擇任意字段
  3. 選擇任意時間間隔
  4. 點擊「高級」插入符號和輸入下面的文本框中

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

另一種選擇是創建一個新的腳本領域和使用:

  1. 進入設置 - >點擊左側
  2. 在索引模式選擇「腳本領域」選項卡(旁邊的「域」選項卡)
  3. 點擊「添加腳本場」
  4. 名稱領域像startTime_hourofday
  5. 根據腳本輸入,設置:doc['startTime'].getHourOfDay()
  6. 現在,您可以創建新的可視化文件,只需從字段列表中選擇startTime_hourofday即可,無需任何特殊或自定義JSON輸入。
+0

謝謝!我使用日期直方圖,因爲我正在處理日期。切換到直方圖修復它! –

+0

很高興我能幫忙,看看我的編輯另一個選項。 –

+1

經過測試,只是爲了驗證,而且這也起作用。謝謝! –