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

[Lens] Introduce the concept of "related fields" to guide end-users #73152

Closed
wylieconlon opened this issue Jul 23, 2020 · 2 comments
Closed
Labels
discuss Feature:Lens loe:needs-research This issue requires some research before it can be worked on or estimated Team:Visualizations Visualization editors, elastic-charts and infrastructure

Comments

@wylieconlon
Copy link
Contributor

This issue is not about implementing a specific proposal, but describing a concept that would improve the use of Lens for many types of data stored in Elasticsearch

Key concept: Fields can be related to each other for logical reasons, such as an ID field that is required for use by sub-metrics. This relationship is understood by the administrator who sets up the data, but not necessarily by a Lens user who wants to quickly create visualizations.

To give an example of the difference between what an administrator knows and what the end-user knows, imagine that an administrator has installed Metricbeat to measure metrics for Elasticsearch. Metricbeat has inherent structure to how it organizes its data into "modules" and metric sets, which is reflected in the naming of the fields. As an end-user you can guess that fields with similar names are related, but this is not as easy to use as Lens should be. Even worse, some datasets have "gotchas" that are not easily guessed at.

There are a few common types of relations that would benefit users:

  • Wildcard group: Creates a grouping of "related fields" with a regular expression
  • Bucketing on a field that will include/exclude other fields from the results
    • For example, when bucketing by Index Name you automatically exclude Shard-related fields
  • Related split by: Another field to highlight to "break down" this one, such as the ID or Name field
  • Recommended pairing: Another field that often appears together in the visualization, for example "download" could pair with "upload"

Where to implement this?

The goal of "related fields" is to let administrators manage the relations so that the end-users get a good experience. An advanced enough end-user might also be able to configure related fields.

There are two main candidates for where to implement this:

  • Extend the functionality of index patterns
  • Introduce a new saved object type for Lens which depends on index patterns
  • Use the _meta field in index mappings to store relation

No matter which of these is chosen, I would expect that Beats and the Ingest manager would take an active role in defining the relationships.

Alternatives to this proposal

Instead of defining the relationships manually, it might be possible to learn over time about how fields are used by tracking user behavior and building a recommendation system, but I think the accuracy would be higher on a manually-defined relationship than a learned one.

cc @mattkime @exekias

@wylieconlon wylieconlon added discuss loe:needs-research This issue requires some research before it can be worked on or estimated Team:Visualizations Visualization editors, elastic-charts and infrastructure Feature:Lens labels Jul 23, 2020
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-app (Team:KibanaApp)

@ghudgins
Copy link
Contributor

will track this idea as a project on overall planning boards and in #17087

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discuss Feature:Lens loe:needs-research This issue requires some research before it can be worked on or estimated Team:Visualizations Visualization editors, elastic-charts and infrastructure
Projects
None yet
Development

No branches or pull requests

3 participants