1. A method, for providing relevant search results to a query, comprising: receiving, at a first computer server system, a query comprising one or more search terms; obtaining a context corresponding to the query, the context being representative of a currently viewed content or a history of viewed content; executing a first algorithmic search using at least one of the one or more search terms in the query; executing a second contextual search using the context and the at least one of the one or more search terms in the query; obtaining a first search result set from the executed first search; obtaining a second search result set from the executed second search; merging the first and second search result sets into a merged result set, wherein the merging includes conditionally excluding 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 transmitting the merged result set as a response to the query.