0

我对 Oracle SQL 语句和 logstash 的自动转义字符(如 \ 和 ".

在我定义的 SQL 语句中,即:

to_char(milliseconds_to_date(m.originationtime),'yyyy-mm-dd\"T\"hh24:MI')

但在弹性搜索中,它被保存为:

“收到”:“2016-01-05\T\18:46”

listagg 生成的值范围也有同样的问题:

'{' || (select listagg('\"' || cd.name || '\"' || ':'|| '\"' || cd.DATAVALUE || '\"', ', ') within group (order by cd.oid) from customdata cd where cd.messageoid = m.oid) || '}' as MsgAtt

我得到的输出是这样的:

"msgatt":"{\\\"CycloneIntegrationRegion\\\":\\\"AMIS\\\", \\\"ToSystem\\\":\\\"FW\\\", ...

我试图从案例 22534325的解决方案中获得灵感

filter { 
    mutate { 
        gsub => [
            "msgatt","[\\\\\\]", "",
            "received","[\\]", "",
            "delivered","[\\]", ""
        ] 
    }
}

但没有完全成功。时间戳已解析,但 msgatt 仍包含反斜杠。

"msgatt":"{\"CycloneIntegrationRegion\":\"AMIS\", \"ToSystem\":\"FW\", ...知道如何处理这个问题吗?

非常感谢, 问候, Rudo

4

1 回答 1

0

看起来像一个没有好的解决方法的已知问题。

于 2016-01-05T19:14:27.060 回答