Open not-napoleon opened 7 months ago
Pinging @elastic/es-analytical-engine (Team:Analytics)
It might be nice to have some kind of "unnest" command to flip json objects into rows - kind of like mv_expand
but for the whole json object. It'd be slow, but it could do some useful things.
@not-napoleon @nik9000
This would be an incredibly useful feature for threat hunting and detection in cloud data that relies on API requests and responses where they are mainly JSON. A good data source to get examples for testing this would be AWS CloudTrail. Happy to share some data or access to my cluster if needed but looking at aws.cloudtrail.request_parameters
and aws.cloudtrail.response_elements
would be ideal.
Dissect and Grok are great, but fall short when data is inconsistent.
cc @tinnytintin10 @imays11
cc @eyalkraft @tehilashn
Description
Something similar to
grok
, which can operate on json strings stored as text (or keyword? potentially?) to extract fields and such.One challenge with this will be striking a balance between having a powerful enough feature to be useful, and not embedding an entire new query language within ES|QL. Necessarily, tools like
jq
have quite complex query languages for manipulating json. I think for an MVP, we should focus on just extracting fields via path, similar to howgrok
works, then encourage folks to do further manipulation of those fields within the ES|QL pipeline.