1. A method of providing search results comprising: receiving a first signal indicative of a first set of document results from a search engine responsive to a received user query; generating attributes of each document in the first set of document results using feature values derived from a surrogate document, the surrogate document derived from a search history log comprising at least one search query similar to the received user query and identifying: at least one document; one or more queries related to the received user query and associated with the at least one document; and one or more corresponding actions associated with each of the one or more queries by a set of multiple users; ranking the first set of document results using the attributes to generate a ranked first set of document results; and transmitting a second signal indicative of the ranked first set of document results.