10. One or more storage media having logic encoded thereon for execution on a data processing system, wherein the logic when executed is operable to: receive a query from the user comprising one or more search terms; obtain a context corresponding to the query, the context being representative of a currently viewed content or a history of viewed content; execute a first algorithmic search using at least one of the one or more search terms in the query; execute a second contextual search using the context and the at least one of the one or more search terms in the query; obtain a first search result set from the executed first search; obtain a second search result set from the executed second search; and merge the first and second search result sets into a merged result set, wherein in order to merge the first and second search result sets, the logic is further operable to conditionally exclude results in the first result set from the merged result set based on a threshold similarity to the context such that results in the first result set that are not within the threshold similarity to the context are excluded from the merged result set; and transmit the merged result set as a response to the query.
10. One or more storage media having logic encoded thereon for execution on a data processing system, wherein the logic when executed is operable to: receive a query from the user comprising one or more search terms; obtain a context corresponding to the query, the context being representative of a currently viewed content or a history of viewed content; execute a first algorithmic search using at least one of the one or more search terms in the query; execute a second contextual search using the context and the at least one of the one or more search terms in the query; obtain a first search result set from the executed first search; obtain a second search result set from the executed second search; and merge the first and second search result sets into a merged result set, wherein in order to merge the first and second search result sets, the logic is further operable to conditionally exclude results in the first result set from the merged result set based on a threshold similarity to the context such that results in the first result set that are not within the threshold similarity to the context are excluded from the merged result set; and transmit the merged result set as a response to the query. 16. The storage media according to claim 10 , wherein the second result set is discarded in favor of the first result set if a threshold number of results from the first search are similar to the context.