Faceted search is what you get by combining simple keyword search with a faceted classification scheme. You won’t find it in Google’s web search (except for one of the Google Labs projects, perhaps), but almost every enterprise search project I work on involves facets in one way or another.
Think of facets as properties or attributes of a document, or any physical object for that matter. A book has an author, a genre, a price, and a publishing date. These attributes may be correlated (books by Dan Brown are probably fictional, albeit some controversy), but they are in essence orthogonal and independent. You may predicts several properties of an object by knowing just one thing about it, but there is no strict hierarchical way of organizing objects in terms of facets.
The screenshot above shows a typical application of faceted search. When searching through Buzzilions’ directory of product reviews, you get to narrow your search by category, brand, price, and review date. Please read through this introduction to faceted search if you feel in need of a more thorough explanation.
As I said previously, almost every enterprise search projects I work on incorporate faceted search result navigation on structured metadata. And I have come to to realize that the interaction design for many of these faceted search applications is slightly faulty.
In a typically scenario, you only get to choose a single price range for products in the search result, a certain brand, or a single category, even though there are many relevant alternatives. If you want to explore several alternatives (eg. several price ranges), you are forced to select and unselect them all one after another. Same goes for brands and categories. Choosing just one facet value is fine when you’re looking for something known, and when the underlying classification scheme is well-defined and intuitive. For exploratory search, however, I believe multi-choice faceted search to be a better solution.
The act of forming new concepts by combining existing ones is called concept composition or concept combination (reference on Formal Concept Analysis (FCA) courtesy of Till C. Lech). I can form the concept “Cameras I Can Afford” by combining price ranges from $50 to $500, or the concept “Manufacturers I Trust” by combining the brands Canon and Nikon. Buzzilions can’t be expected to anticipate my need for these combined concepts, and they certainly can’t accommodate for all possible and unlikely combinations of all facet values upfront.
The best interaction design for exploratory faceted search applications (typically e-commerce) is to let the users create their own compounds. A very elegant solution, shown in the screenshots below, is to use checkboxes, by far the most conventional way to present multiple choices. For range navigators, such as price, it may also work to have the user type in from/to values in text fields.
Concept composition makes it easier to compare items belonging to different facet values. Putting Canon and Nikon cameras side by side makes it so much easier to compare their features, instead of having to jump back and forth between the two. It aligns with one of Jakob Nielsen’s 13 guidelines for tabs:
If people do need to compare the info behind different tabs, then having to switch back and forth puts an added burden on their short-term memory and lowers usability compared to a design that puts everything on one big page.
It’s well-understood that any single camera belongs to one price range only. Select more than one price range means that you get to see cameras priced $50-$200, as well as cameras priced $200-$500, with no overlap. However, imagine selecting “short lag time” and “bright LCD” from a list of characteristics. Will that bring you cameras satisfying both of these requirements, or just either one of them? Is it a logical AND between facet values, or a logical OR? Boolean search should be avoided since all experience shows that users cannot use it correctly. Decide upon a suitable underlying logic, and avoid unnecessary confusion.
If I have managed to keep you interested so far, here’s a summary of my views on concept composition in faceted search:
- Design for concept composition in exploratory search application, or if you anticipate a need to compare items across categories (typically e-commerce sites)
- Decide upon the most likely interpretation of concept relations for each facet (my guess is to prefer OR over AND in ambiguous cases)
- Choose a suitable interaction style for each facet (checkboxes for OR, links/radiobuttons for AND)
- Don’t confuse me with incomprehensible Boolean search logic










I completely agree with you, Vegard. Concept Composition is a cool, uhm, concept.
In search for your reference on this, Formal Concept Analysis (FCA) is a very nice framework for looking at concept spaces and exploring combinations of properties that are determinant for a concept. In short, FCA implies that a concept is constituted by a set of binary attributes.
A concept space is thus constituted by a matrix of objects and attributes. Imagine attributes such as “acidic”, “round”, “oval”, “yellow”, and “orange” as a set of properties (attributes) to determine a bunch of fruits (objects). By applying (i.e. combining) them, we have a way of telling e.g. a lemon from a grapefruit or orange.
What’s really nice about FCA is the fact that you can visualize the matrix as a concept lattice thus providing a nice tool for exploring concept spaces: You can easily see which attribute-combinations constitute an object and (maybe even more important) what attribute-combinations are not lexicalized, i.e. do not have a name of their own. In my example, we’d see that the acidic fruits could be called something like citrus-fruits, while oval fruits (or yellow ones) do not have a name per se.
Combining the available concepts beforehand and see how combinations are (or are not) realized could be really useful for search – for example when it comes to avoiding unfavorable zero-hit experiences.
Thank you, Till. Great reference and valuable insight.
It’s true, I guess, that faceted search won’t let you form attribute-combinations that aren’t lexicalized, since faceted navigation is always restricted to attributes of documents found in the search result. In other words, you can never navigate into zero-hits.
Do you think it’s possible to use concept lattices for search result visualization?
[...] info By zuzka Categories: 1 This article on Searchnuggets offers a fancily-phrased write-up that (in summary) says that giving users the [...]
[...] are closely related to search applications. Search result filtering is also known as faceted search, a design pattern put into good use on websites like eg. kayak.com and oodle.com. iGoogle is a good [...]
[...] support concept composition, allowing users to form idiosyncratic concepts like “Japanese cars” or “Reliable [...]