1. A method comprising the following computer-executable acts: analyzing a relationship between a first query and a second query based at least in part upon search results previously selected by users, wherein the search results previously selected by the users were presented to the users in response to submission of the first query and/or the second query to a search engine, wherein analyzing the relationship between the first query and the second query comprises: accessing a data repository that comprises a computer-implemented bipartite graph that includes a first set of nodes and a second set of nodes, wherein the first set of nodes represents queries and the second set of nodes represents URLs, wherein the first set of nodes includes a first node that is representative of the first query and a second node that is representative of the second query, and wherein the graph further comprises edges that are weighted to indicate relationships between queries and URLs; initiating a random walk at the first node; and determining a number of steps in the random walk until the second node is reached in the random walk, wherein a step is from a node in the first set of nodes to another node in the first set of nodes; determining whether the first query is substantially similar to the second query based at least in part upon the number of steps in the random walk until the second node is reached in the random walk; and generating correlation data that correlates the first query and the second query if the first query and second query are determined to be substantially similar.