elastic / kibana

Your window into the Elastic Stack
https://www.elastic.co/products/kibana
Other
19.71k stars 8.13k forks source link

Add In-Table Search (CTRL+F "like") Functionality to Discover Table (Unified Table) #192360

Open ninoslavmiskovic opened 1 week ago

ninoslavmiskovic commented 1 week ago

WHY

The CTRL+F browser search functionality is a critical tool for users, especially those working with large, complex datasets, such as logs and audit records. There are some users that rely heavily on this feature for quick and precise searches within Discover. The absence of this functionality in the current Discover UI has resulted in inefficient workflows, as the search is now limited to visible rows, leading to missed logs and slower performance.

As a result, many teams have developed workarounds like using separate Kibana spaces with the legacy table or third-party tools for browser-based searching. Bringing back this capability would greatly enhance the user experience and operational efficiency.

WHAT

The proposal is to implement the CTRL+F functionality directly within the Discover table. This feature would capture the user’s CTRL+F input and allow for searching across all loaded data (not just the visible rows) in the table. The feature should provide the following benefits:

Feature description

The feature will be implemented within the Discover table and triggered by the keyboard shortcut CTRL+F. When a user presses CTRL+F, the following actions will take place:

By integrating this functionality, we address a critical user need while improving data exploration efficiency and accuracy in the Discover experience.

elasticmachine commented 1 week ago

Pinging @elastic/kibana-data-discovery (Team:DataDiscovery)

davismcphee commented 1 week ago

The feature will be highly performant, taking into account large datasets with up to millions of rows.

Issue looks good overall with the exception of this requirement. Millions of rows is a bit ambitious, especially since we couldn't really handle that many records in memory anyway. I'd probably shoot for 10,000 here since it's the ES|QL max and max for our "load more" functionality.

ninoslavmiskovic commented 1 week ago

I changed it 👍