What Is Faceted Search
Faceted search, familiar from e-commerce sites where you filter products by category, price range, brand, and rating simultaneously, was introduced as a built-in APEX component in version 19.2. It provides an intuitive way for users to progressively narrow down a large data set by clicking filter values rather than constructing complex search criteria.
Setting Up Faceted Search
Create a new page with the Faceted Search page type, or add a Faceted Search region to an existing page. Define your source query and create facets for each filterable dimension:
SELECT product_id, product_name, category, brand,
unit_price, rating, in_stock
FROM products
WHERE status = 'ACTIVE';
For each facet, APEX generates a filter panel showing distinct values and their counts. Users click values to filter, and counts update dynamically. This count feedback tells users how many results they will get before they click.
Facet Types
APEX supports several facet types. Checkbox Group shows all values with checkboxes for multi-select filtering. Radio Group allows selecting one value at a time. Range facets let users specify numeric or date ranges with sliders. Search facets provide a text input for filtering within the facet values themselves, useful when a facet has many distinct values like city names.
Performance Optimization
Faceted search requires computing counts for every facet value on every filter change. For large tables, ensure columns used as facets have proper indexes. Consider materializing facet counts using materialized views refreshed on a schedule. Limit the number of facets to the most useful dimensions rather than exposing every column.
Combining With Other Components
Faceted Search pairs well with Cards, Classic Reports, and Interactive Reports as the results display. The facets act as the filter panel while the paired region shows matching results. In APEX 21.2 and later, you can pair faceted search with Smart Filters for a combined free text and faceted filtering experience.