1. A method of providing search results comprising: receiving a first signal indicative of a first set of document results from a search engine and a 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 identifying at least one document and corresponding user actions and search queries; 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.