Skip to content

Support flattened field type from Elasticsearch #25820

Description

@Bargs

A new object field type is coming to ES. I played around with the feature branch a bit today and collected some thoughts and findings. From what I've seen so far, there are some small updates to Kibana we'll definitely want to make and some things we should discuss.

  • Need to add JSON type to kibana (or whatever name the ES lands on for this field type). Currently it shows up in the index pattern as unknown.
  • Autocomplete on values doesn't work because the field is not aggregatable
  • Autocomplete on field names doesn’t work, because we don't know what sub-fields the object has
  • In KQL we implement wildcard field names ourselves based on the fields in the index pattern, so something like head*:application/json actually works but headers.con*:application/json does not because we don’t know about those fields. This could be pretty confusing to users
  • Filters can’t be created from the doc table (similar to our treatment of arrays of objects today)
  • Filters can't be created from the "Add Filter" UI in the filter bar (this is worse than no autocomplete in the query bar because we don’t allow free text input for the field name. Currently the field name must be in the index pattern)
  • Highlighting would be nice, however we don’t currently highlight values inside arrays of objects, so a lack highlighting in a JSON document won’t be totally surprising to current users.

I only spent about an hour with it so there may be more things I'm missing, would definitely be good to get more eyes on it.

Feature branch here if anyone else wants to check it out: https://github.com/elastic/elasticsearch/tree/object-fields

Metadata

Metadata

Assignees

No one assigned

    Labels

    Feature:Data ViewsData Views code and UI - index patterns before 8.0Feature:New Field TypeAdd support for an Elasticsearch field type in KibanaNeededFor:ObservabilityIssues the Observability team has dependencies on.Team:DataDiscoveryDiscover, search (data plugin and KQL), data views, saved searches. For ES|QL, use Team:ES|QL. t//Team:VisualizationsTeam label for Lens, elastic-charts, Graph, legacy editors (TSVB, Visualize, Timelion) t//enhancementNew value added to drive a business resultimpact:highAddressing this issue will have a high level of impact on the quality/strength of our product.loe:needs-researchThis issue requires some research before it can be worked on or estimated

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions