Most conventional search engines that receive a query to determine which results to serve are based upon keywords included in the query. However, keyword-based search engines suffer from several shortcomings. First, there is an inherent requirement that the user knows appropriate keywords a priori in order for relevant results to be returned. Second, keyword-based search engines generally require that the results actually include an exactly matching keyword.