Chapter 1. State of the art
Figure 1.1. Searching by category at Amazon.com. Navigating across the departments and subdepartments helps the user to structure her desires and refine her search.
Figure 1.2. A detailed search screen exposes advanced and fine-grained functionalities to the user interface. This strategy doesn’t fit beginners very well.
Figure 1.3. Using one search box gives freedom of expression to users but introduces more complexity and work to the underlying search engine.
Figure 1.4. A typical index structure in a database. Row IDs can be quickly found by title column value, thanks to the structure.
Figure 1.5. The indexing process. Gather data, and convert it to text. From the text-only representation of the data, apply word processing and store the index structure.
Figure 1.6. Optimizing full-text queries using a specialized index structure. Each word in the title is used as a key in the index structure. For a given word (key), the list of matching ids is stored as well as the word frequency and position.
Figure 1.7. Searching process. From a user or program request, determine the list of words, find the appropriate documents matching those words, eliminate the documents not matching, and order the results by relevance.
Figure 1.8. Search results returned as a web page: one of the possible ways to expose results
Figure 1.9. Full-text embedded in a relational database
Figure 1.10. Server dedicated to full-text search