9. A computer program product embodied on a computer readable storage medium comprising instructions for causing a computer system: to select a phrase posting list associated with a phrase, and identify a plurality of documents having at least one occurrence of the phrase; to determine a length of the phrase posting list; if the length of the phrase posting list is less than a first predetermined length, to associate the phrase posting list with one of a plurality of first tier index servers; if the length of the phrase posting list is greater than the first predetermined length: to divide the phrase posting list into a plurality of shards, each shard including a subset of the plurality of the documents; to associate each phrase posting list shard with a corresponding selected second tier index server, wherein the number of shards correspond to the number of second tier index servers; and if the length of the phrase posting list is greater than a second predetermined length that is greater than the first predetermined length: to divide the phrase posting list into a plurality of shards; and to associate each phrase posting list shard with a corresponding selected third tier index server, wherein the number of shards correspond to the number of third tier index servers, and wherein the number of third tier index servers is an integer multiple of the number of second tier index servers.
9. A computer program product embodied on a computer readable storage medium comprising instructions for causing a computer system: to select a phrase posting list associated with a phrase, and identify a plurality of documents having at least one occurrence of the phrase; to determine a length of the phrase posting list; if the length of the phrase posting list is less than a first predetermined length, to associate the phrase posting list with one of a plurality of first tier index servers; if the length of the phrase posting list is greater than the first predetermined length: to divide the phrase posting list into a plurality of shards, each shard including a subset of the plurality of the documents; to associate each phrase posting list shard with a corresponding selected second tier index server, wherein the number of shards correspond to the number of second tier index servers; and if the length of the phrase posting list is greater than a second predetermined length that is greater than the first predetermined length: to divide the phrase posting list into a plurality of shards; and to associate each phrase posting list shard with a corresponding selected third tier index server, wherein the number of shards correspond to the number of third tier index servers, and wherein the number of third tier index servers is an integer multiple of the number of second tier index servers. 10. The computer program product of claim 9 , further instructions for causing the computer system: to order the phrase posting lists according to phrase identifiers within each index server; and to order the phrase posting list according to document identifiers of the documents included in the shard within each phrase posting list shard.