Finally, let's tackle designing the part of our search engine that will give us our fine-grained user interface. As we mentioned at the beginning of the chapter, a dialog-based search engine involves building a user interface that asks the user questions related to their query. This approach is most applicable in situations where we have ambiguous results. For example, a user searching for Donald might have in mind one of the following:
- Donald Knuth, the great computer scientist
- Donald Duck, the cartoon character
- Donald Dunn, the real name of Jared Dunn, the fictional character
- Donald Trump, the businessman and 45th US president
The preceding list is just a small example of potential results for the Donald search term. Now, what do search engines lacking a dialog-based approach do? They provide a list of relevant results for the...