1. A method of indexing documents based on phrases occurring in the documents, the method comprising: selecting a phrase posting list associated with a phrase, and identifying a plurality of documents having at least one occurrence of the phrase; determining a length of the phrase posting list via operation of a processor; if the length of the phrase posting list is less than a first predetermined length, associating 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: dividing the phrase posting list into a plurality of shards, each shard including a subset of the plurality of the documents; associating 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: dividing the phrase posting list into a plurality of shards; and associating 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.