1. A method of data caching for compliance and storage systems that provide keyword search query based access to documents, the method comprising: computing a value for each data document based on a document information-retrieval (IR) relevancy metric for user keyword queries and a recency, frequency of each query; adapting said values to changing query frequencies and popularities; and selecting and evicting documents from a cache based on said values according to a knapsack solution.