Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Ingest Processors] [JSON] Add max_depth option to JSON processor #69134

Open
a03nikki opened this issue Feb 17, 2021 · 2 comments
Open

[Ingest Processors] [JSON] Add max_depth option to JSON processor #69134

a03nikki opened this issue Feb 17, 2021 · 2 comments
Labels
:Data Management/Ingest Node Execution or management of Ingest Pipelines including GeoIP >enhancement Team:Data Management Meta label for data/management team

Comments

@a03nikki
Copy link
Contributor

For a case where there are multiple applications going through an ingest pipeline with many unique nested fields multiple levels deep, it would be helpful if there was an option to limit how deep the JSON parsing would go. This would be similar to the Filebeat decode_json_fields processor max_depth option.

For example,

2021-02-17T19:00:01.255Z INFO com.example.package.ClassName(ClassName.java:52) { "order": { "id": "1", "to": { "name": "Joe Smith", ...}, "from": {...}}, "message": "Problem X, please fix order."...}

After going through a dissect processor, could be sent through a JSON processor defined as

{
  "json" : {
    "field" : "message",
    "target_field" : "json_fields",
    "max_depth": 1
  }
}

would produce a JSON document to be indexed with the "order" details not parsed into fields.

There is the option to limit the mapping depth via index.mapping.depth.limit , but it will reject the document from being indexed.

This is similar to the logstash-plugins/logstash-filter-json#43 request for Logstash.

@a03nikki a03nikki added >enhancement needs:triage Requires assignment of a team area label :Data Management/Ingest Node Execution or management of Ingest Pipelines including GeoIP labels Feb 17, 2021
@elasticmachine elasticmachine added the Team:Data Management Meta label for data/management team label Feb 17, 2021
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-core-features (Team:Core/Features)

@jtibshirani jtibshirani removed the needs:triage Requires assignment of a team area label label Feb 19, 2021
@venom02
Copy link

venom02 commented Aug 19, 2022

any update on this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
:Data Management/Ingest Node Execution or management of Ingest Pipelines including GeoIP >enhancement Team:Data Management Meta label for data/management team
Projects
None yet
Development

No branches or pull requests

4 participants