Skip to content

docs: restructure Discover around goals, with mode hubs and task pages (#4898) - #9014

Open
florent-leborgne wants to merge 11 commits into
docs-issue-8973-esql-defaultfrom
docs-issue-4898-classic-hub
Open

florent-leborgne wants to merge 11 commits into
docs-issue-8973-esql-defaultfrom
docs-issue-4898-classic-hub

Conversation

@florent-leborgne

@florent-leborgne florent-leborgne commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

Summary

This PR is part of #4898. It restructures the Discover docs around what readers want to do. The 525-line "Explore fields and data with Discover" tutorial becomes a "How Discover works" page, and its other content moves to pages that each do one job. Each query mode gets a short hub about how to query in that mode, and the remaining pages are grouped by job under two new parent pages. The Discover page becomes a hub that points readers to the right page. It targets the #9013 branch until that PR merges. This change supports several elements:

  • ES|QL mode becoming the default means the core discover docs should not be super focused on data views and KQL anymore, and that users would benefit from dedicated guidance about the ES|QL mode and how its queries shape your Discover experience.
  • The current structure reflects Discover as it was a few years ago. While the core functionality is still there, the UX has evolved and been enriched, making users successful in their adoption and usage of Discover requires an up to date guidance and learning path
  • We have more telemetry than we used to have and can adapt the scope of some pages not to only describe the UI but to match some user goals
  • The previous "get-started" page had become a long list of capabilities, and kept growing without a clear purpose over the years with new functionality

The navigation under Discover now looks like this with this PR:

Discover
├─ How Discover works
├─ Switch between ES|QL and classic mode in Discover
├─ Explore your data in Discover (new)
│   └─ fields, documents, compare, relevance, grouped results, change points,
│      AI analysis, pattern analysis, field statistics, visualize a field
├─ How to query in Discover's ES|QL mode
│   └─ first-query tutorial, browse sources, results, variable controls, lookup indices
├─ How to query in Discover's classic mode
│   └─ search and filter, runtime fields
└─ Manage your Discover view and sessions (new)
    └─ customize the view, tabs, save and manage sessions, export,
       sessions in dashboards, copy and share, background search, alert rule

Hub and foundations

  • explore-analyze/discover.md: now a hub. A "Where to start" list points to the foundations page and the first-query tutorial. Four goal groups follow: query your data, understand your data, shape what your queries return and show, and save and share your explorations. Tasks that work in only one mode name it.
  • explore-analyze/discover/discover-get-started.md also gains a short tip in the query modes section that recommends ES|QL mode and says why. The hub's "Where to start" list adds a starting point for classic mode.
  • explore-analyze/discover/discover-get-started.md: now "How Discover works" (overview, same URL). It explains what you see on screen, the two query modes, the context-aware experiences by where you open Discover from, the ways to save, share, and export what you find, and how you can arrive with a query already set from a dashboard panel or a shared link. The default mode for each version now lives in switch-esql-mode.md.

Mode hubs and mode-only pages

  • use-esql.md and use-classic-mode.md: retitled "How to query in Discover's ES|QL mode" and "How to query in Discover's classic mode". Each introduces its mode and links the pages about writing and refining queries in it.
  • Classic-only pages: search-and-filter-classic.md, add-fields-to-data-views.md, visualize-field.md, show-field-statistics.md, and run-pattern-analysis-discover.md state in Before you begin that Discover must be in classic mode. search-and-filter-classic.md also holds the steps to select a data view and a time range.
  • ES|QL-only pages: inspect-grouped-stats.md, detect-change-points.md, and analyze-discover-data-with-ai.md state in Before you begin that Discover must be in ES|QL mode.

Two new parent pages

  • explore-data.md: "Explore your data in Discover". It lists the pages about understanding results and marks the ones that work in only one mode.
  • manage-discover.md: "Manage your Discover view and sessions". It lists the pages under two headings: setting up your workspace, and saving and sharing your explorations.

Pages moved from the tutorial, or new

  • explore-fields.md, inspect-documents.md, compare-documents.md, copy-and-share-documents.md, work-with-tabs.md, generate-alerts-from-discover.md, analyze-discover-data-with-ai.md, search-and-filter-classic.md, add-fields-to-data-views.md, visualize-field.md: split out of the tutorial.
  • inspect-documents.md: also holds the classic-only actions to open a document on its own page or see the documents around it.
  • explore-fields.md: adds the Add breakdown action, which splits the chart by a field.
  • discover-search-for-relevance.md: has synced tabs for ES|QL mode and classic mode, with an ES|QL example.
  • add-fields-to-data-views.md: lists every option of the runtime field editor and the supported field types.
  • troubleshoot/kibana/discover-empty-fields.md: the empty fields FAQ from the tutorial, as a troubleshooting page.
  • explore-analyze/_snippets/discover-cancel-query.md: the cancel-query text that applies to every query type, included in esql-results.md and search-and-filter-classic.md. esql-results.md also gets the partial results note.

Saved sessions

  • save-open-search.md is split into three pages. It keeps saving and duplicating, and gains a section about opening and finding saved sessions. export-discover-session.md (new) holds the CSV and JSON exports. use-sessions-in-dashboards.md (new) holds the dashboard flows. The moved text is unchanged except for corrections to the privileges, the serverless CSV limits, and the UI labels and entry points in the dashboard flows.
  • The session, export, dashboard, and alert rule pages list the privileges each action needs in Before you begin.

Accuracy corrections

  • Labels, privileges, limits, and per-version menu paths on the moved and new pages were checked against the Kibana source. Examples: the Store Background search sub-feature, the ES|QL row and column limits, lookup index privileges, variable control rules, and tab behavior.
  • The shared variable control snippet now explains the ? and ?? prefixes. esql-variable-controls.md, visualize/add-variable-controls.md, and query-filter/languages/esql-kibana.md include it.
  • The CSV export step on export-discover-session.md, and the matching steps in report-and-share.md and automating-report-generation.md, describe the export action and the names it has in each version, including the More menu.
  • Version limits that were written as prose are now applies_to tags: MV_INTERSECTS, the TS_INFO and METRICS_INFO exclusion for grouped results, creating an alerting v2 rule from Discover, and Hide null fields in classic mode.
  • The check for which context-aware experience is active is now part of the context-aware section on discover-get-started.md. inspect-documents.md covers documents and requests.
  • Smaller fixes checked against the Kibana source: the 100-result compare limit, the range of the Sample size option, the Generate CSV button, the Add filter label, the Pin summary option for the Summary column, and the permission needed to create a categorization job from Patterns. Reader-facing additions: filter examples that keep one or several values in the ES|QL tutorial, an EVAL section on the ES|QL results page, with one-line tips that point to it from the runtime field page, a pointer from the Sample size section to the LIMIT command in ES|QL mode, the Discover export page as the target of the hub's export link, a one-line tip that points to ES|QL grouping on the pattern analysis page, and a sentence on what a link recipient sees in the share section. Plain-language replacements for internal terms, a few links between related pages, and a version-grouped list of TS and LIMIT behavior on switch-esql-mode.md are also included.

Titles and structure

  • Page titles on the Discover pages mention Discover, and navigation labels stay short.
  • Mode-only pages say in Before you begin which mode Discover must be in. The session, export, dashboard, and alert rule pages list the privileges each action needs there too.
  • The how-to pages in this section follow the same structure: Before you begin, steps, a Result line, and Next steps.
  • The tutorial's "Save your Discover session" section was dropped because save-open-search.md already covers it in full.
  • Updated screenshots: the Discover overview (new), the data view menu, and the day_of_week popover. visualize-field.md uses the image directive.

Navigation and links

  • redirects.yml, explore-analyze/toc.yml, troubleshoot/toc.yml, and inbound links: every moved anchor has a redirect, and links in this repository point straight to the new pages. Link text that used the old page titles is updated.

Generative AI disclosure

  1. Did you use a generative AI (GenAI) tool to assist in creating this contribution?
  • Yes
  • No

Tool(s) and model(s) used: Claude Code with Claude Sonnet 5.5. I moved existing text without rewriting it where possible. The hubs, the "How Discover works" page, the two parent pages, and the relevance tabs are new prose. I checked their claims, and the privileges, labels, and limits on the session pages, against the existing pages and the Kibana source.

🤖 Generated with Claude Code

@github-actions

github-actions Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Elastic Docs AI PR menu

Check the box to run an AI review for this pull request.

Powered by GitHub Agentic Workflows and docs-actions. For more information, reach out to the docs team.

@florent-leborgne
florent-leborgne force-pushed the docs-issue-4898-classic-hub branch from 0b25765 to 36cf5fd Compare November 4, 2026 20:30
@florent-leborgne florent-leborgne changed the title docs: add a Discover classic mode hub with classic-only guides (#4898) docs: restructure Discover around goals, with a classic mode hub and task pages (#4898) Nov 5, 2026
@florent-leborgne
florent-leborgne removed this pull request from stack #9016 November 5, 2026 10:12
@florent-leborgne
florent-leborgne force-pushed the docs-issue-4898-classic-hub branch from 2a8b2ab to 96c351d Compare November 5, 2026 10:15
@florent-leborgne florent-leborgne changed the title docs: restructure Discover around goals, with a classic mode hub and task pages (#4898) docs: restructure Discover around goals, with mode hubs and task pages (#4898) Nov 5, 2026
@florent-leborgne
florent-leborgne force-pushed the docs-issue-4898-classic-hub branch from fc66d3a to 97ac746 Compare November 5, 2026 18:06
@github-actions

github-actions Bot commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

Docs review summary

Issue satisfaction

Partially assessed. The PR is part of #4898 and covers the Discover restructure it describes. This was a sampled pass over a 45-file, 87-commit change, not an exhaustive review of every page.

Review coverage
  • Content type: Overview and hub pages (discover.md, discover-get-started.md, explore-data.md, manage-discover.md). The rest are how-to pages and one troubleshooting page.
  • Checked: I scanned the changed pages for stacked admonitions and flagged wording such as "please" and "and/or". I found nothing to report. I read the PR description and the Vale output counts. I did not read every changed page line by line.
  • Not checked: Technical accuracy of UI labels, privileges, and limits was not verified against the Kibana source, so UI labels: not verified. The cross-repo contradiction check against published docs was not run. The per-page applies_to review was not done in depth.

Generated from Docs review agent · ◷

Was this review helpful? When the PR closes, add the label ai-review:helpful or ai-review:unhelpful to it.

@bmorelli25

Copy link
Copy Markdown
Member

Thoughts in no particular order:

I'm left wondering why I would want to use one mode or the other. The changes do a great job explaining what each mode is and how it works, but I'm never told when I'd pick one over the other. The ESQL tut is the closest feedback on this topic by saying that I can directly query by name without needing to create a data view first. But then six pages in Before you begin say the other mode doesn't support the feature. So what is our guidance here? Is it --> we want folks to use ESQL? If so , we should say that. Or is it, something like, if you want to run pattern analysis, use classic mode?

The "Where to start" section doesn't really offer a classic getting started guide. Only ESQL. I presume that is by design?

The flow from How it works --> Switch Query mode --> Explore your data makes sense. However, there are three pages in the Explore your data that don't support ES|QL mode while every other page does. It's the last three pages (maybe by design?). But I'm wondering if there's something more we can do here. Are there alternatives to, for example, running a pattern analysis that can be done in ESQL mode? Or is it practical enough to expect a user to switch modes if they want to achieve this?

Manage your view and sessions is kind of a catch all. Settings, tabs, queries, sessions, alert rules. I like the "Save and share your explorations" title that you use on the hub page better. You could use that heading and move the customization and tab stuff to a "Set up your workspace" group.

@florent-leborgne
florent-leborgne marked this pull request as ready for review November 6, 2026 09:33
@florent-leborgne
florent-leborgne requested review from a team as code owners November 6, 2026 09:33
@florent-leborgne
florent-leborgne force-pushed the docs-issue-4898-classic-hub branch from 7d16ae0 to f1fc79b Compare November 6, 2026 09:34
@florent-leborgne

Copy link
Copy Markdown
Member Author

ty @bmorelli25, i was thinking about some of these and made a few more changes (minimal) that should address the issues. Some of these are by design indeed.

@florent-leborgne
florent-leborgne force-pushed the docs-issue-4898-classic-hub branch from f1fc79b to b95a45a Compare November 6, 2026 10:07
@florent-leborgne
florent-leborgne force-pushed the docs-issue-4898-classic-hub branch from b95a45a to e3597b8 Compare November 6, 2026 10:23

@alexmarhaba alexmarhaba left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, amazing work @florent-leborgne, thank you!

@florent-leborgne
florent-leborgne force-pushed the docs-issue-4898-classic-hub branch 2 times, most recently from 950dd41 to 788beb9 Compare November 6, 2026 14:54
florent-leborgne added a commit that referenced this pull request Nov 6, 2026
florent-leborgne added a commit that referenced this pull request Nov 6, 2026
…view (#8975) (#9253)

## Summary

This PR is part of #4898 and is stacked on #9014. It targets the #9014
branch until that PR merges. It addresses #8975 with the following
changes:

- **`solutions/security/investigate/discover-security.md`**: The
**Access the Security Discover experience** section said the Security
experience activates only from the Security solution view. It now also
covers Classic solution view spaces from 9.6: which data views and
queries trigger it, that mixed data keeps the default experience, and
how to turn it off.
- **`solutions/observability/logs/discover-logs.md`**: Adds a section
that lists the integrations that get the logs experience in the Classic
solution view, and what keeps the default experience. The note about the
Observability solution view points to it.
- **`explore-analyze/discover/discover-get-started.md`**: The
Observability, Security, and Classic solution view lists in
**Context-aware experiences** are now one table of where you open
**Discover** against the experiences you get. It adds the Classic
solution view and the Elasticsearch solution view and projects. Numbered
notes under the table hold the conditions that the cells link to.

The new **Contextual profiles in Classic navigation** reference entry
was added in elastic/kibana#303878, and the pages here link to it.

## Resolves

Closes #8975

## Differences from the issue

- The issue suggested listing the exact Security index patterns. This PR
describes the data in plain words, such as alerts and endpoint events,
because the list is long and changes with the product.
- The issue did not list the logs page. This PR adds the integration
list there, because its note said the Observability solution view was
required for a contextual logs experience.

## Generative AI disclosure

1. Did you use a generative AI (GenAI) tool to assist in creating this
contribution?
- [x] Yes
- [ ] No

Tool(s) and model(s) used: Claude Code with Claude Sonnet 5.5. I checked
the claims against the Kibana source.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
florent-leborgne and others added 10 commits November 6, 2026 19:22
…r works page (#4898)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…4898)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ld analysis (#4898)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ng, and tab pages (#4898)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…scover pages (#4898)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…lution view (#4898)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… setting controls (#4898)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…view (#8975) (#9253)

## Summary

This PR is part of #4898 and is stacked on #9014. It targets the #9014
branch until that PR merges. It addresses #8975 with the following
changes:

- **`solutions/security/investigate/discover-security.md`**: The
**Access the Security Discover experience** section said the Security
experience activates only from the Security solution view. It now also
covers Classic solution view spaces from 9.6: which data views and
queries trigger it, that mixed data keeps the default experience, and
how to turn it off.
- **`solutions/observability/logs/discover-logs.md`**: Adds a section
that lists the integrations that get the logs experience in the Classic
solution view, and what keeps the default experience. The note about the
Observability solution view points to it.
- **`explore-analyze/discover/discover-get-started.md`**: The
Observability, Security, and Classic solution view lists in
**Context-aware experiences** are now one table of where you open
**Discover** against the experiences you get. It adds the Classic
solution view and the Elasticsearch solution view and projects. Numbered
notes under the table hold the conditions that the cells link to.

The new **Contextual profiles in Classic navigation** reference entry
was added in elastic/kibana#303878, and the pages here link to it.

## Resolves

Closes #8975

## Differences from the issue

- The issue suggested listing the exact Security index patterns. This PR
describes the data in plain words, such as alerts and endpoint events,
because the list is long and changes with the product.
- The issue did not list the logs page. This PR adds the integration
list there, because its note said the Observability solution view was
required for a contextual logs experience.

## Generative AI disclosure

1. Did you use a generative AI (GenAI) tool to assist in creating this
contribution?
- [x] Yes
- [ ] No

Tool(s) and model(s) used: Claude Code with Claude Sonnet 5.5. I checked
the claims against the Kibana source.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
@florent-leborgne
florent-leborgne force-pushed the docs-issue-4898-classic-hub branch from bf01275 to 666ef88 Compare November 6, 2026 18:22
You can also ask the agent for follow-up analyses, including correlations between fields, time-over-time comparisons, and field statistics for specific columns.

{applies_to}`stack: preview 9.6+` {applies_to}`serverless: preview` To see the current documents without leaving the conversation, ask the agent to show them in an interactive **Discover** table. Refer to [Discover tables in chat](../ai-features/agent-builder/agent-builder-discover-tables.md).
## Context-aware experiences [context-aware-discover]

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey there @sddonne, could you check whether this section is ok? I had a chat earlier with @alexmarhaba regarding the changes done in elastic/kibana#296406

Alex mentioned that for logs, this would only work with certain integrations. These are listed directly in the discover-logs page that lives in the discover docs (also in this PR if you want to check, i'll tag you there too)

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(sorry it's a huge PR that restructures some other things but some changes are already stacked and I did want to draft them quickly after chatting with alex about the udpated structure)

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

preview since it won't show on a stacked PR:
Image


Once you have the logs you want to focus on, you can drill down further. For more on filtering, refer to [Filter logs in Discover](/solutions/observability/logs/filter-aggregate-logs.md#logs-filter-discover).

### Use the logs experience in the Classic solution view [logs-classic-solution-view]

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cc @sddonne and @alexmarhaba for the logs in classic view case, if you want to check this section.

…4898)

The Metrics and Traces pages carry their own lifecycle tags.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

@bmorelli25 bmorelli25 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for adding the mode guidance and classic vs ES|QL alternatives when the exist. Really nice improvements here. High level looks good. Let me know if you want me to dig into the details more.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants