1. A method, comprising: receiving a search query containing a plurality of terms; generating candidate spellings for each search term in the query; assigning a score to each of the candidates spellings; generating candidate query paths based on the scores for each candidates spelling, each candidate query path containing a candidate spelling for each term in the search query; determining a relationship among the candidate spellings in each candidate query path; and ranking the candidate query paths as a function of the scores and the relationship.