A Structural Look at SearchEssays in this search series:
As you examine the many possible characteristics of searches, it should become clear that many of these characteristics describe different aspects of search. If you look at search as being a transaction, where a user creates what is essentially a question, asks that question of a source of information, and then gets back an answer, then you'll see that search involves layers of communication. Comparing characteristics or functions across layers is usually not be very useful. For example, the statement "this search is stemmed" refers to an entirely different layer of search than does the statement "this search has multiple input fields"; both statements are important descriptions, but the characteristics are unrelated. it's like the difference between saying that you're looking for a red book, and saying that you're looking for a book about dogs. When evaluating the effectiveness, usability, or performance of a search system, avoid comparing the characteristics or functions from different layers. Focus on characteristics on the same layer, and focus on how the various elements of that search system meet the needs of the particular users. This essay presents a structural view of search, setting the stage for a discussion of the various types of search. I don't argue that this is the only way to view search structure, only that this is a useful way to view search, especially for examining the quality and usability of a search system. The Components or Levels of a SearchWhen you type couple of words into a form and click on the search button, several different things happen. Every search task -- that is, a user employing a search mechanism to perform a query or lookup -- consists of several different stages, or perhaps layers is a better word. The following diagram shows a simplified view of the steps in creating a search query and receiving results back. Diagram 1: Layers in a Typical Search Layer 1: The Search InterfaceThe first stage in any search is the user interface. Most of the searches on the web are mediated by forms built on top of an application or operating system's command prompt input; in other words, a search form provides a This layer in the search transaction should guide the user through the creation and submission of an appropriate query. The interface should explain how to use the form, and set expectations about what will happen to the query after the form is submitted. A search interface should address the following kinds of concerns (some of these points will overlap):
Yahoo's advanced search options page is a good example of how an interface can provide a range of options for creating the query. While this is an interface for a search against document collections, and not a product catalogue, it does demonstrate how an interface can guide the user. This interface (as of June 26, 1999) includes the following cues and instructions:
Layer 2: The Query PreprocessorThe simple truth about web searches is that the interface is at least one step removed from the query, because the user is rarely allowed direct access to the database or collection; users aren't allowed to log in to the operating system or application that's running the information. The search form passes the user's query from the form to the search system, but beyond this necessary mediation between the user and the collection, the search system may perform additional logic on the user's query. The search system may tweak the query to change its chances for success, increase its scope, or to translate it to a format more suited to the collection or collection architecture - before running the query. I call the mechanism through which this modification happens the query processor. For example, the query processor may take the individual words of the query and stem them to increase the number of potential "hits". Fuzzy logic algorithms may be applied to handle typos. Or the words may have Boolean logic applied to them so they are ANDed or ORed. Layer 3: The Query Execution Against the Collection or IndexThe third layer involves the core work of the search: the looking up of information and the returning of raw results. The final query runs against the collection, or more likely, against an index built from the collection. The structure, architecture, and organization of the collection, whether documents or database, all can affect how the search query is performed; likewise, the logic and strategy used to build an index also affects the lookup. An example of how database structure directly affects search: An example of how index design directly affects search: Layer 4: Results ProcessorThe query returns raw results that usually need to be massaged to optimize their value for the user and/or the business. This layer of search is not always distinguishable from the query itself, but treating this as a distinct layer helps separate issues of query performance and accuracy from issues of results sorting, formatting, and relevance. This layer describes any logic that may be applied to raw results before passing those results to the user. Some examples of how raw results may be tweaked:
Layer 5: Results PageA search results page is every bit the interface that the search form is, and often provides mechanisms for re-sorting results and refining the search. Search results are usually presented to the user according to a set of rules particular to that system. Search results are usually sorted and ordered by some criteria; items may be sorted according to alphabetical or numerical order, ordered by a logical or contextual grouping scheme, ranked according to some scale of importance or priority, or even organized according to some user-specified parameter(s). Some examples of the kinds of features and information that may be found on search pages:
|