1. A computer-implemented method, comprising: receiving an original query; selecting a plurality of documents responsive to the original query according to a ranking of the respective documents; generating a plurality of term vectors, the plurality of term vectors including a term vector for each document; truncating each term vector to include only highest-weighted terms from the respective document to provide a plurality of truncated term vectors; combining the plurality of truncated term vectors containing the highest-weighted terms to produce a search query centroid; searching a centroid repository for previously stored centroids matching the search query centroid; converting each of a first number of the most highly-ranked centroids into a respective candidate query; examining the candidate queries; adding each candidate query to a set of query suggestions if the respective candidate query contains a threshold number of terms that are not included in the original query; and providing the set of query suggestions in response to the original query.
4. The method of claim 1 , further comprising: calculating a dot product of each previously stored centroid and the search query centroid, the dot product indicating a degree of similarity between each previously stored centroid and the search query centroid; and sorting the previously stored centroids by the respective dot products to produce a ranked list of centroids, where the most highly-ranked centroids most closely match the search query centroid.