2017-02-12 10 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" 
    } 

но когда я использую Discover в kibana, результат - ошибка. Почему это так?

enter image description here

ответ

0

Я предполагаю, что ваш скрипт должен выглядеть так, без ГЭТ() функция:

doc['dataChange_LastTime'].date.hourOfDay 

ИЛИ с ГЭТ() функция

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

ИЛИ попробовать это так:

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() ** [Источник] (https://discuss.elastic.co/t/kibana-groovy-scripted-field-for-aggregation-visualize-unsupported-script-value/54126/ 2), может быть полезно! – Kulasangar

+0

Ой, подождите, попробуйте это над существующим * script *: ** doc ['dataChange_LastTime']. GetHourOfDay() ** Убедитесь, что у вас есть поле внутри * одиночной кавычки * '' '! – Kulasangar