6. A computer program product stored on a computer readable medium and comprising instructions that when executed cause a computer system to: provide a set of phrase posting lists, each phrase posting list associated with a phrase; establish a plurality of segments, each segment associated with a subset of a plurality of the documents; periodically update each segment by: for documents associated with the segment, identifying phrases contained in the document, and updating the phrase posting list for each such phrase to include the document; sharding the phrase posting lists for the identified phrases into a plurality of segment shards, each segment shard containing a disjoint subset of the list of documents in the segment that contain the phrase associated with the phrase posting list; associating each segment shard with an index shard, such that at least one index shard is associated with a plurality of segment shards, each index shard being served by an index server; determine a recently updated segment having updated segment shards; for at least one index shard being served: determine the index shard's associated updated segment shards, and merging the updated segment shards with the index shard to form an updated index shard; and replace the index shard with the updated index shard.
6. A computer program product stored on a computer readable medium and comprising instructions that when executed cause a computer system to: provide a set of phrase posting lists, each phrase posting list associated with a phrase; establish a plurality of segments, each segment associated with a subset of a plurality of the documents; periodically update each segment by: for documents associated with the segment, identifying phrases contained in the document, and updating the phrase posting list for each such phrase to include the document; sharding the phrase posting lists for the identified phrases into a plurality of segment shards, each segment shard containing a disjoint subset of the list of documents in the segment that contain the phrase associated with the phrase posting list; associating each segment shard with an index shard, such that at least one index shard is associated with a plurality of segment shards, each index shard being served by an index server; determine a recently updated segment having updated segment shards; for at least one index shard being served: determine the index shard's associated updated segment shards, and merging the updated segment shards with the index shard to form an updated index shard; and replace the index shard with the updated index shard. 9. The computer program product of claim 6 further comprising instructions that when executed cause the computer system to establish a segment phrase index of phrase posting lists for the documents associated with a segment.