【问题标题】:why the scripted field in kibana return error result为什么kibana中的脚本字段返回错误结果
【发布时间】:2017-02-12 07:18:16
【问题描述】:

kibana 版本:4.5.0 弹性版本:2.3.1

脚本字段(在 kibana 中):

姓名:@timestamp._hourOfDay

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


日期字段(弹性)

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

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

【问题讨论】:

    标签: elasticsearch kibana


    【解决方案1】:

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

     doc['dataChange_LastTime'].date.hourOfDay
    

    ORget() 函数

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

    也试试这个:

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

    因为字段 dataChange_LastTimedate 的类型。

    【讨论】:

    • 我测试除了错误之外的所有内容:对 Elasticsearch 的请求失败:{"error":{"root_cause":[{"type":"script_exception","re​​ason":"Variable [doc['dataChange_LastTime '].date.hourOfDay.get()] 不遵循 doc['field'] 或 doc['field'].method()"}] 的允许格式,
    • 如何使用这个 doc['dataChange_LastTime'].date.hourOfDay().getAsText() Source,可能会有所帮助!
    • 哦,等等,在你现有的 script 上试试这个:doc['dataChange_LastTime'].getHourOfDay() 确保你在 单引号 '!
    • 只能使用 doc['dataChange_LastTime'].getHourOfDay() 。但结果看到不正确。喜欢我上传的图片
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-05
    • 2016-05-28
    • 1970-01-01
    • 2015-10-22
    • 1970-01-01
    相关资源
    最近更新 更多