Filtering and faceted search

What is faceted search, and how is it different from a plain filter?

Filtering narrows a list by a rule you set; faceted search lets you stack several such rules - by category, price, size, availability - each drawn from the items' own attributes, and shows how many results each choice would leave. It turns a big, flat result set into something you can carve down to exactly what you want.

Also known as: faceted search, faceted navigation, filters, faceted filtering

Prefer to watch? Watch the recap 0:46

The demo

Twelve pairs of trainers. Tick the facets to describe what you're after, and watch the set carve down - and the count fall - as you go.

    What this demo shows (text version)

    A set of twelve trainers can be narrowed by two facets - type (running, casual, trail) and colour (black, white, blue) - plus an "in stock only" toggle. Each facet is drawn from the items' own attributes. Ticking boxes combines the rules, the grid shows only matching pairs, and a count reads "showing N of 12" so the effect is always visible.

    Active filters appear as chips you can remove individually or clear all at once, so narrowing never feels like a trap. That's faceted search: rather than scroll a flat list, you describe what you want from the attributes that matter and the set narrows to fit - with a live count that keeps you from filtering down to nothing.

    Faceted search lets people narrow a large set on their own terms by combining filters drawn from the items' attributes, with a live count so they always see the effect. Keep facets to attributes people actually decide by, show the result count as they go, make active filters visible and easy to clear, and never let a filter strand them on zero with no way back.

    Facets only help when they map to how people actually decide. Colour, size, price, availability - the attributes someone weighs anyway - earn their place; filters on data nobody chooses by are just clutter. The art is offering the few facets that matter for this catalogue, not every field you happen to store.

    The live result count is the part people underrate. Showing how many items each choice would leave (and dimming or disabling the ones that lead to nothing) keeps anyone from filtering themselves into an empty page - the classic faceted-search dead end. Feedback before the click beats an apology after it.

    Keep the active filters visible and trivially removable, and make narrowing feel reversible. A row of dismissible chips, a clear-all, and counts that update as you go turn filtering from a commitment into an exploration - which is exactly what browsing a large set should feel like.