我对 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\\\", ...
filter {
mutate {
gsub => [
"msgatt","[\\\\\\]", "",
"received","[\\]", "",
"delivered","[\\]", ""
]
}
}
但没有完全成功。时间戳已解析,但 msgatt 仍包含反斜杠。
"msgatt":"{\"CycloneIntegrationRegion\":\"AMIS\", \"ToSystem\":\"FW\", ...知道如何处理这个问题吗?
非常感谢, 问候, Rudo