1. A method of ranking query results, comprising: receiving a plurality of queries; determining frequencies of the plurality of queries; determining selected results of the plurality of queries; determining an effectiveness of a query within the plurality of queries; and determining a weight on an edge connecting the query to a result in accordance with a number of selected results and the effectiveness of the query.