1. A method for searching a document database, comprising: at a server system including one or more processors and memory storing one or more programs, the one or more processors executing the one or more programs to perform the operations of: receiving a search query from a client system, said search query containing one or more terms; and in response to receiving the search query: generating a list of document identifiers including document identifiers for one or more documents retrieved in response to a prior execution of said search query; requesting, from a cache, one or more snippets obtained in response to a prior execution of said search query; receiving the one or more snippets; for a respective snippet received from the cache: determining whether the respective snippet is a current version, and in response to determining that the respective snippet is not the current version, obtaining the current version of the respective snippet from a corresponding document in which one or more terms from said search query are located and updating the snippet stored in the cache using the obtained current version; and transmitting, to the client system, search query results comprising the respective snippet and information corresponding to at least a portion of the list of document identifiers.