Chapter 9: Search
Adding a Search FacilityThe following eight steps can summarize the process of adding a search facility to a site.
Step 1: Decide what to indexDo you want to index every document in a site or only certain documents? Often, it is only a parts catalog, technical support database, or other area that a user wants to search. Don't just index everything because you can.
Step 2: Decide how you want to index the informationOnce you have determined what you should index, you will need to determine how it will be indexed. Should the search engine just create a free text index of the document set, where every non stop-word is recorded, or would it be better to create a special search term vocabulary and relate search terms to particular pages in the site?
Step 3: Select a search engineIt is very important not to select the search engine until you've figured out the volume and type of information you wish to search, as well as how it will be indexed. There are numerous search engines available, both free and commercial. Search engines can be installed locally on your system or outsourced to third parties, who will run the search facility for you. For pointers to some search engines and services, see http://www.searchtools.com.
Step 4: Design the search interfaceDesign the search screen to account for the types of searches the user may perform. Often, searches are separated into basic and advanced forms. The search interface should be integrated into the site, should meet the search needs of the users, and should fit the type of data being searched.
Step 5: Design the results pagesMake sure to consider building pages that deal with positive results when a query is successful, as well as negative results when nothing is returned.
Step 6: Index the dataDuring this step, the search engine is used to crawl all or part of the site and build an index. You may actually be forced to manipulate the index by hand to create optimal queries.
Step 7: Integrate the search engine with the search interfaceThis step involves making the search interface access the index. Generally, this is just a matter of setting the action attribute of the <form> tag used to implement the search form. Integrating the result page is a little more difficult, but is often a matter of taking the designed result page and making it into a special template the search engine can read.
Step 8: Test and monitorA key aspect of implementing a search engine is making sure to test that it gives back the correct results for important queries. Search engines should also be monitored and common queries identified. Users also should be allowed to rate the value of the individual search results so that refinements can be made.
It is also very important for dynamic sites to re-index their search features on a regular basis. Such sites could be re-indexed manually by webmasters or editors when new content is added to the site or be automatically set up for regularly scheduled re-indexing.
The focus of the next few pages is not on how to actually create an index, which will vary greatly by the data being indexed, as well as the search engine being used, but to show how to design the various aspects of a search interface.
Overview | Chapters | Examples | Resources | Buy the Book!