1. A computing system for rewriting queries, comprising: a computer executed module configured to receive a source query and a feature; a computer executed module configured to extract a data subset from a data source based on the received source query, the data source comprising a plurality of results associated with the source query, a plurality of queries associated with the plurality of results, and a plurality of associations between the plurality of queries and the plurality of results; a computer executed module configured to associate a cost based on the feature with at least one association from among the plurality of associations; a computer executed module configured to determine a cost for at least one query from among the plurality of queries; and a computer executed module configured to recommend at least one query from among the data subset based on the determined cost of the plurality of queries.