1. A method comprising: extracting, from a plurality of candidate queries and at a computer system, a plurality of features of the candidate queries, wherein the features are characteristics of a query; correlating the features of each of the candidate queries to identify a usage pattern of the features; predicting, based on the usage pattern of the features, future queries; and updating a cache of the computer system with data responsive to the future queries.