14. An apparatus, comprising: a storage device; and a processor coupled to the storage device, wherein the storage device stores a program for controlling the processor, and wherein the processor, being operative with the program, is configured to: receive an initial search query, the initial search query comprising one or more of a keyword and a portion of a URL; process the initial search query to conform with one or more requirements of a search engine; compare the processed search query against an index of suggested search queries, the index comprising stored search queries and related click data based on previous search queries; identify, on the basis of the comparison, one or more clustered sets of suggested search queries related to the initial search query; and identify spelling errors within the clustered sets of suggested search queries, wherein the processor is further configured to: identify, for the clustered sets of suggested search queries, unique tokens of length four or more and each unique bi-gram; generate sets of the identified tokens and bi-grams, wherein each set comprises tokens or bi-grams within length one of each other token or bi-gram in the set; compute an edit distance for the tokens and bi-grams in the generated sets; and identify the least-frequent token or bi-gram in at least one of the generated sets as misspelled, when the edit distance for that token or bi-gram is one or less.
22. The apparatus of claim 14 , wherein the processor configured to generate is further configured to: apply a Damerau-Levenshtein distance algorithm to the tokens and bi-grams of the generated sets to determine the edit distance.