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, the 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 identified in response to a prior execution of the search query; accessing a cache; receiving, from the cache, a first set of snippets for a first set of document identifiers, the first set of document identifiers comprising document identifiers in the list for which the cache has current snippets, as determined in accordance with datestamps of the first set of snippets stored in the cache, wherein the retrieved first set of snippets comprise snippets obtained in response to a prior execution of the search query; generating a second set of snippets for a second set of document identifiers, the second set of document identifiers comprising document identifiers in the list for which the cache does not have current snippets; and transmitting, to the client system, search query results comprising information corresponding to at least a portion of the list of document identifiers and corresponding snippets, each corresponding snippet comprising a snippet from the first set of snippets or the second set of snippets.