Advanced Search


Users need to find a specific item in a large collection of items.


Offer a special advanced search function with extended term matching, scoping and output options.

Use when

Information rich sites such as a E-commerce Site, Multinational Site, or Portal Site contain so much information that users may not always be successful enough with a normal Search Box. This patterns builds on the Search Box pattern by adding some adding more search options. Advanced search is intended for intermediate to expert users that need full control over the search engine so that they can be more successful in achieving their goals. Such users typically have more than superficial knowledge about the items they are searching for. They may know the type of items and are set to search for a specific item they know or may not know exists.


The advanced search usually co-exists with normal Search Box or as part of a Search Area. The search function is extended in three areas:

1. More control over term matching.
This kind of functionality controls how the combined list of search terms is interpreted by the search engine. Typically this includes AND/OR functionality together with exclusion functionality. When the search engine supports AND/OR functionality, use "match all terms" and "match any term" instead of AND and OR operators in the text field. People often make mistakes using boolean logic so it is better avoided. Additionally, AND/OR in the keywords list could be supported for expert users but then additional Search Tips are needed to inform the users about the possibilities.

2. Scoping.
Scoping is concerned with which items can be found and which cannot be found. Scoping limits the possible Search Results by defining the conditions that a results must meet. For example, results from a particular sub-site, item types (articles, video, audio...), or item properties (title, date, location, size, author...). Scoping is what makes users really powerful because it allows them to search for elements that are specific for the site.

3. More output control. This allows users to control the way the Search Results are presented. Aspects such as sorting or Paging sizes can be controlled.

Visually, the design follows the order above. A general layout is as follows:

Also consider allowing users to search within the search results so that they can drill down further. This can be done by adding a link 'search within results' on the results page and allowing the users to add new keywords.


The advanced functions give the users control of many aspects of the search. This requires additional knowledge of the data that is available and it is hence only for experienced users. Many users have problems using the AND and OR operators so it is easier the offer the type of match as an option (all terms, any term, etc).

More Examples

Alltheweb uses nice filtering rules for elaborate scoping together with some more output control:

plml logo


1 comment has been added to this pattern.

Peter, 24th July 2008
Search within results is better implemented by leaving the search phrase in the box after the user has clicked search. If your search engine gives more results when the user adds terms, this is really a question of a bad search engine, not an erroneous interaction design.

Add a comment
Do you have something to add or say about this pattern? Perhaps some more examples of how this pattern is used in the wild? Add a comment to this pattern and I'll update the pattern when necessary. Please abstain from misuse. I reserve the right to delete or modify inappropriate postings.

Your Name


Enter the verification code you see in the image below