Filtering data in Kibana Discover narrows an existing data view to the documents that match an investigation. It is useful when a broad log, event, or metric stream needs to be reduced to a service, status, host, user, or time window before opening individual documents.
The default Discover mode uses a selected data view, the global time picker, a KQL query bar, and optional filter pills. KQL filters documents by field values and ranges; it does not aggregate or sort results, so the document table and histogram remain the place to inspect what matched.
Discover can also switch to ES|QL for pipeline-style queries, but the classic data-view workflow keeps filters visible as query text or pills. If Discover shows no rows, check the selected data view and time range before changing the query language.
Use a data view with the right time field so the global time picker filters by event time instead of hiding recent documents.
Related: How to create a Kibana data view
A narrow time range is a common reason a valid KQL query returns no rows.
service.name : "checkout" and log.level : "error"
Use field suggestions from the query bar to choose mapped field names. Keyword, numeric, date, and boolean values need exact matches.
The Documents count, histogram, and result table update from the selected data view and time range.
Hover a field in the sidebar and select the add icon, or expand a document row and review the field values in the flyout.
Click the Add filter icon next to the query bar, choose a field such as event.outcome, set the operator such as is, enter a value such as failure, and click Add filter.
Use Edit filter to change the value, Exclude results to invert it, Temporarily disable to compare the result set, or Pin across all apps when the same filter should follow dashboards and Lens.
The query bar or filter pill list should show the active condition, and visible rows should contain matching values such as service.name checkout and log.level error.