Facets refer to categorized properties of objects in a collection. Each facet has a name, such as Cooking Method, Ingredients, Course, or Cuisine for a recipe collection. A facet may be flat ( such as Author) or it may be hierarchical (Cuisine > Italian > North Italian > Milan). Facets are not categories because you don't place items INTO a facet, facet values are properties assigned TO items; facets are structured tags. For more background on faceted search systems you can read SearchTools' report on Faceted Metadata Search.
Marti Hearst at UC Berkeley is one of th leading experts on faceted search systems. She lead the design of the Flamenco faceted search system. At CHI 2006 in Montreal Marti led a course with Preston Smalley and Cory Chandler from EBay (the San Dimas Project designers) entitled "Faceted Metadata for Information Architecture and Search".
The main objective of the course is to instruct attendees about how to integrate navigation and search for large collections in a seamless, flexible manner that helps users find things quickly and browse items comfortably...The instructors have designed an approachable, reproducible methodology for the design of highly usable, highly searchable information-centric web sites.The goals of these systems are outlined well in Marti's 2006 paper Design Recommendations for Hierarchical Faceted Search Interfaces from the Faceted Search Workshop at SIGIR 2006:
...the overarching design goals are to support flexible navigation, seamless integration with directed (keyword) search, fluid alternation between refining and expanding, avoidance of empty results sets, and at all times retaining a feeling of control and understanding.EBay Express
In the Chi Course Preston and Corey present Ebay Express as a new model for a state of the art faceted search system. They outline a series of lessons learned and design pitfalls to avoid. Here are the main lessons they walk you through:
- "Parsing" feels natural to users (and the text in the search box is not sacred)
- Controls placed along the top of the page are used more than when on the left side.
- People browse using the facets more when they are not familiar with the domain
- Users stop using refinements when a) not useful, and b) item count low enough
- Prominently showing 4 facets is sufficient (but prioritization is important)
- Shifting columns doesn't disturb people
- Truncated list of values per facet is okay (users know how to access the rest)
- Showing sample values help users understand facets and can expose breadth
- Users often want to select multiple facet labels and are pleased when they can (treated as an OR by search engine)
- Traditional breadcrumbs don't work here
- Users understand the idea of applying and removing facets using this modified breadcrumb without instruction
There is a good review of the course by Jessyca Frederick a developer from ShopZilla that attended the course.
There are a lot of hard technical details to dig into, for starters:
- How do you parse user queries intelligently and match query terms to facets?
i.e. translate the query: 5 MP Cannon PowerShot A530 to Company:Canon, Resolution:5 Megapixel, Series: Powershot, Model: A530?
- How do you pick what values of facets to display when the list of values is very large?
- How do you efficiently integrate relational database querying with keyword search using inverted indexing systems? Do you even have to?