2016-09-19 117 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

经过测试,只是为了验证,而且这也起作用。谢谢! –

相关问题