1. Computer-implemented apparatus for making multilingual spelling corrections for an input word in a search query directed against a data source, comprising: lexicon builder means executed by a computer processor for building a lexicon file using the words in the data source against which the search query is targeted; and spell checker means for providing suggested correct spellings and variant spellings of the input word in the search query by checking the input word against the lexicon file, wherein the spell checker means includes means for creating a subset of candidate words from the lexicon file, and wherein the means for creating a subset of candidate words includes: means for splitting the input word and each word in the lexicon file into N-grams based on the length of the input word and for each N-gram of each word in the lexicon file, determining whether it matches an N-gram in the input word and means for checking only those words in the lexicon file that start with the same letter as an 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 matching 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.
1. Computer-implemented apparatus for making multilingual spelling corrections for an input word in a search query directed against a data source, comprising: lexicon builder means executed by a computer processor for building a lexicon file using the words in the data source against which the search query is targeted; and spell checker means for providing suggested correct spellings and variant spellings of the input word in the search query by checking the input word against the lexicon file, wherein the spell checker means includes means for creating a subset of candidate words from the lexicon file, and wherein the means for creating a subset of candidate words includes: means for splitting the input word and each word in the lexicon file into N-grams based on the length of the input word and for each N-gram of each word in the lexicon file, determining whether it matches an N-gram in the input word and means for checking only those words in the lexicon file that start with the same letter as an 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 matching 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. 11. The apparatus of claim 1 , wherein the means for creating a subset of candidate words uses uni-grams for input words having a length less than or equal to a predetermined number of letters and uses bi-grams for input words having a length greater than the predetermined number of letters.