14. A computer readable storage medium storing computer readable instructions that, when executed, cause a computing device to: receive queries from users at a computing device comprising a search engine configured to provide query results responsive to the queries from the users; create a bipartite graph of queries versus documents selected from query results responsive to the queries of the bipartite graph; analyze frequencies of the queries of the bipartite graph, wherein a frequency of a particular query is based on number of times the particular query is issued from the users to the search engine; determine an effectiveness of each of the queries of the bipartite graph, wherein an effectiveness of a particular query is determined by dividing number of times the particular query resulted in the users making a selection of any document from the query results provided by the search engine responsive to the particular query by the frequency of the particular query; and weight a plurality of edges in the bipartite graph, wherein a weight of an edge representing a transition probability from a particular query to a particular document in the bipartite graph is determined by multiplying a frequency of selection of the particular document for the particular query by the effectiveness of the particular query.
14. A computer readable storage medium storing computer readable instructions that, when executed, cause a computing device to: receive queries from users at a computing device comprising a search engine configured to provide query results responsive to the queries from the users; create a bipartite graph of queries versus documents selected from query results responsive to the queries of the bipartite graph; analyze frequencies of the queries of the bipartite graph, wherein a frequency of a particular query is based on number of times the particular query is issued from the users to the search engine; determine an effectiveness of each of the queries of the bipartite graph, wherein an effectiveness of a particular query is determined by dividing number of times the particular query resulted in the users making a selection of any document from the query results provided by the search engine responsive to the particular query by the frequency of the particular query; and weight a plurality of edges in the bipartite graph, wherein a weight of an edge representing a transition probability from a particular query to a particular document in the bipartite graph is determined by multiplying a frequency of selection of the particular document for the particular query by the effectiveness of the particular query. 20. The computer readable storage medium of claim 14 , further comprising computer readable instructions for: walking the bipartite graph; and ranking the query results in an order of relevance.