9. A server computer system comprising: at least one processor; and memory storing instructions that, when executed by the at least one processor, cause the computer system to: receive, from a client system distinct from the server computer system, a search query having one or more query terms; in response to receiving the search query: identify a preliminary set of search result documents in accordance with the search query; produce a set of query expansion terms based on terms found within a predetermined number of terms before and/or after the appearance of one or more of the one or more query terms in at least one of the search result documents that belong to the preliminary set of search result documents; combine the one or more query terms with query expansion terms from the set of produced query expansion terms to form an expanded search query; identify a second set of search result documents in accordance with the expanded search query; generate a content snippet corresponding to content in a respective search result document of the identified second set of search result documents, the content snippet associated with at least one query term of the one or more query terms in the search query; and return to the client system a response to the search query, the response including information identifying at least the respective search result document and including the content snippet of the respective search result document.
13. The server computer system of claim 9 , wherein generating a content snippet corresponding to content in a respective document includes: receiving a set of first token identifiers from a compressed document repository; performing a first decompression operation by applying one or more first mappings to the set of first token identifiers to provide a set of second token identifiers; and performing a second decompression operation by applying a second mapping to the set of second token identifiers to recover uncompressed content comprising a portion of the respective document.