13. A computer-implemented method for making multilingual spelling corrections for an input word in a search query directed against a data source, comprising: building using a computer processor to build a lexicon file using the words in the data source against which the search query is targeted; and providing suggested correct spellings and variant spellings of the input word in the search query by checking the input word against the lexicon file and creating a subset of candidate words from the lexicon file, wherein the step of creating a subset of candidate words includes: splitting each input word and each word in the lexicon file into N-grams based on the length of the input word; for each N-gram of each word in the lexicon file, determining whether it matches an N-gram in the input word; and checking only those words in the lexicon file that start with the same letter as each input word and having a word length in the range of Input Word Length−K to Input Word Length+K based on the number of “common N-grams” with the input word, where Input Word Length is the number of letters in the input word and where K is a constant.
15. The method of claim 13 , wherein the step of providing suggested correct spellings and variant spellings includes the further step of: calculating a score for each of the candidate words and choosing suggested spelling corrections and spelling variations based on the calculated score for each of the candidate words.