Methods and apparatus for searching data and grouping search results into
clusters that are ordered according to search relevance. Each cluster
includes one or more data type, such as images, web pages, local
information, news, advertisements, and the like. In one embodiment, a
search term is evaluated for related concepts indicating categories of
data sources to search. Data sources may also be identified by context
information such as a location of a client device, a currently running
application, and the like. Search results in each cluster are ordered by
relevance and each cluster is given a score based on an aggregate of the
relevance within the cluster. Each cluster score may be modified based on
one or more corresponding concepts and/or context information. The
clusters are ordered based on the modified scores. Content, including
advertisements, may also be added to the ordered list to appear as
another cluster.