2017-02-12 87 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