2017-02-12 156 views
0

kibana版本:4.5.0 弹性版本:2.3.1为什么kibana返回错误结果的脚本场

脚本字段(kibana):

名称:@timestamp._hourOfDay

脚本: doc["dataChange_LastTime"].getHourOfDay()


日期字段(在弹性)

"dataChange_LastTime": { 
    "type": "date", 
    "format": "strict_date_optional_time||epoch_millis" 
    } 

但是当我在kibana中使用Discover时,结果是错误的。 为什么会发生?

enter image description here

回答

0

我猜你的脚本应该是这样的,没有的get()功能:

doc['dataChange_LastTime'].date.hourOfDay 

的get()功能

doc['dataChange_LastTime'].date.hourOfDay.get() 

OR试试这个还有:

doc['dataChange_LastTime'].date.hourOfDay().get() 

因为现场dataChange_LastTime日期的类型。

+0

我测试所有,但错误:对Elasticsearch的请求失败:{“error”:{“root_cause”:[{“type”:“script_exception”,“reason”:“Variable [doc ['dataChange_LastTime']。date。 hourOfDay.get()]不遵循doc ['field']或doc ['field']。method()“}]的允许格式, – yzd

+0

如何使用这个** doc ['dataChange_LastTime']。date .hourOfDay()。getAsText()** [Source](https://discuss.elastic.co/t/kibana-groovy-scripted-field-for-aggregation-visualize-unsupported-script-value/54126/ 2),可能会有所帮助! – Kulasangar

+0

哦,等一下试试这个在您现有的*脚本*: ** DOC [ 'dataChange_LastTime'] getHourOfDay()** 请确保您有*单引号*'''内场! – Kulasangar