1. A computer implemented method comprising: obtaining metadata for a document, wherein the metadata includes a sequence of terms; assigning a tag to each term in the sequence of terms based at least in part on grammatical relationships between the terms, resulting in a corresponding sequence of tags; determining that the sequence of terms is grammatically correct based at least in part on tags within the corresponding sequence of tags; in response to the determination, storing the sequence of terms as a query suggestion within a database of query suggestions; in response to the determination, further calculating a suggestion score for the query suggestion based on one or more data points, and wherein storing the query suggestion includes storing the suggestion score with the query suggestion; receiving a partial search query; selecting one or more query suggestions in the database for the partial search query based at least in part on the suggestion scores; and sending the selected query suggestions in response to receiving the partial search query; wherein obtaining metadata for the document comprises segmenting the metadata for the document into a plurality of sequences of terms, wherein at least two of the plurality of sequences include at least some identical terms in different orders; and wherein assigning a tag comprises assigning a tag to each term in a given sequence of terms in the plurality of sequences of terms.