是的,SPL中parse-json和parse-regexp解析成功后,原始字段默认会被保留,不会自动删除。这是SPL的设计原则之一——解析操作只"添加"新字段,不"修改"已有字段。
如果最终数据中不需要原始字段,需要使用project-away指令主动删除。例如:
* | parse-regexp content, '\[([^]]+)]\s+([^}]+})\s+(.*)' as time,json,stack
| parse-json json
| project-away garbage,json,content
在这个例子中:
parse-regexp从content字段提取出time、json、stack,但content字段仍保留parse-json从json字段解析出message、level、garbage,但json字段仍保留- 最后通过
project-away删除不需要的garbage、json和content字段
这种设计让用户可以逐步观察中间结果,方便调试和验证。




