无法将类org.jruby.RubyObject的实例转换为类java.lang.String

时间:2016-06-08 02:14:18

标签: elasticsearch timestamp

我正在尝试添加一个字段来设置@timestamp timezone匹配我的时间戳 我尝试过添加时区来过滤,但它没有帮助。

原始时间戳看起来像,

"@timestamp" => "2016-06-08T01:36:42.655Z",

我的日期过滤器是:

mutate {
add_field => [ "localtime", "%{@timestamp}" ]
}
date {
  locale => "en_US"
  timezone => "America/New_York"
  match => [ "localtime", "yyyy-MM-dd'T'HH:mm:ss.SSSZ"]
 target => "localtime"
 }

并获取警告_dateparsefailure

我错过了什么吗? 有人可以帮帮我吗?感谢。

1 个答案:

答案 0 :(得分:0)

您的匹配需要在@timestamp以外的其他字段上工作,@timestamp不是字符串,因此无法解析。由于您已将datetime复制到datetime,因此现在可以在match中使用mutate { add_field => [ "datetime", "%{@timestamp}" ] } date { locale => "en_US" timezone => "America/New_York" match => [ "datetime", "yyyy-MM-dd'T'HH:mm:ss.SSSZ"] #match => [ "datetime", "ISO8601"] # <- you can also use this target => "datetime" }

class Foo:
    @staticmethod
    def _bar():
        # do something
        print "static method"

    def instancemethod(self):
        Foo._bar()  # method 1
        self._bar() # method 2