A user is looking for something and does not want to waste time.
Provide users with an easy to use search mechanism.
In many cases users have a sense of what they are looking for, or at least a sense of what to ask for. Users also in many cases are thinking of what they are looking for in ways that do not match with the way you have organized your content. Therefore, rather than forcing users to get to know your navigational categorizations, just let them search based on what they are able to articulate, in their own terms.
Place a search box in a consistent position near the top of the page. In most cases you will want to simply use a text field for users to enter a search phrase and a single button labeled something like “Search” or “Go.”
For information on how to provide the results of the search, see the Search Results pattern.
The default search mechanism should just be a simple free form text box that allows users to enter text describing what they are looking for. Do not require users to make any other choices for this simple default search. You can of course offer more advanced search features, but because many people do not like this, do not force them to use it.
Here are some specific tips for implementing search that you may want to consider:
Here are some more specific tips for implementing advanced search that you may want to consider:
Infragistics has some tools that can jumpstart your efforts to implement this pattern. Broken down by technology, they are as follows.
Search pattern can be implemented using combination of the following ASP.NET controls: WebTextEditor, WebImageButton. Check out the samples browser to see it in action.
You can use the NetAdvantage for Windows Forms WinCombo and WinComboEditor with AutoComplete enabled can be used to implement this pattern. Furthermore, the Filtering feature in the WinGrid implements this feature. If you download the NetAdvantage for Win Client bundle, you can find a sample in the WinForms sample browser called WinGrid Samples to see it in action.
The NetAdvantage for WPF XamDataGrid has a feature titled Filtering that implements the search pattern. If you download the NetAdvantage for Win Client bundle, you can find a sample in the xamFeatureBrowser called Filter Record to see it in action.
The primary example for this pattern is from Amazon.com. Amazon’s search capabilities are key to user success in easily finding just the right product from the effectively infinite number of products available on the site.
http://quince.infragistics.com/118p
This is example from the New York Times offers search filters based on time periods.
http://quince.infragistics.com/1172
This example from Food Network shows a feature that allows users to search only within recipes.
http://quince.infragistics.com/11ct
This example from dictionary.com enables users to limit searches to specific types of information resources.
http://quince.infragistics.com/11c6
This is an example from Pella.com on Predicitve search results. Once the user clicks inside the search box, a secondary load will stream additional lightweight JS, CSS and images. As keystrokes are entered and results are returned, those results are cached in the JS/browser to reduce requests to the server. To select a search result, the user clicks on the result or uses the arrow up/down and ‘return’ keys. To close the search results overlay, the user can click outside of the results overlay or press the ‘escape’ key. Search is driven by a configurable algorithm that determines the most relevant results to display with each keystroke. Keyword matching can be configured to return results sorted in alphabetical order or by the assigned weight/rank of each keyword. Keywords with the highest weight/rank will be returned first when competing with other keywords.
http://quince.infragistics.com/1733
Another example for predicitve seach at apple.com
http://quince.infragistics.com/1734
Facebook's approach to predictive search
http://quince.infragistics.com/2h8r
Patterns in Interaction Design, Advanced Search
Patterns in Interaction Design, Search Box