22. A method for fuzzy type ahead search where R is a collection of records such as the tuples in a relational table, where D is a data set of words in R, where a user inputs a keyword query letter by letter, comprising: finding on-the-fly records with keywords similar to the query keywords by using edit distance to measure the similarity between strings, where the edit distance between two strings s 1 and s 2 , denoted by ed(s 1 , s 2 ), is the minimum number of single-character edit operations, where Q is the keyword query the user has input which is a sequence of keywords [w 1 , w 2 , : : : , w m ]; treating the last keyword w m as a partial keyword finding the keywords in the data set that are similar to query keywords, where Ï€ is a function that quantifies the similarity between a string s and a query keyword w in D, including, but not limited to: 
 Ï€( s,w )=1 âˆ’ed ( s,w )/| w|, where |w| is the length of the keyword w; and normalizing the edit distance based on the query-keyword length in order to allow more errors for longer query keywords, where d be a keyword in D, for each complete keyword w i (i=1, : : : , mâˆ’1), defining the similarity of d to w i as: 
 Sim ( d,w i )=Ï€( d,w i ), since the last keyword w m is treated as a prefix condition, defining the similarity of d to w m as the maximal similarity of d's prefixes using function Ï€, namely Sim(d, w m )=max prefix p of d Ï€(p, w m ), where Ï„ is a similarity threshold, where a keyword in D is similar to a query keyword w if Sim(d, w)â‰§Ï„, where a prefix p of a keyword in D is similar to the query keyword w m if Ï€(p, w m )â‰§Ï„, where Ï†(w i ) (i=1, : : : , m) denotes the set of keywords in D similar to w i , and where P(w m ) denotes the set of prefixes of keywords in D similar to w m .
22. A method for fuzzy type ahead search where R is a collection of records such as the tuples in a relational table, where D is a data set of words in R, where a user inputs a keyword query letter by letter, comprising: finding on-the-fly records with keywords similar to the query keywords by using edit distance to measure the similarity between strings, where the edit distance between two strings s 1 and s 2 , denoted by ed(s 1 , s 2 ), is the minimum number of single-character edit operations, where Q is the keyword query the user has input which is a sequence of keywords [w 1 , w 2 , : : : , w m ]; treating the last keyword w m as a partial keyword finding the keywords in the data set that are similar to query keywords, where Ï€ is a function that quantifies the similarity between a string s and a query keyword w in D, including, but not limited to: 
 Ï€( s,w )=1 âˆ’ed ( s,w )/| w|, where |w| is the length of the keyword w; and normalizing the edit distance based on the query-keyword length in order to allow more errors for longer query keywords, where d be a keyword in D, for each complete keyword w i (i=1, : : : , mâˆ’1), defining the similarity of d to w i as: 
 Sim ( d,w i )=Ï€( d,w i ), since the last keyword w m is treated as a prefix condition, defining the similarity of d to w m as the maximal similarity of d's prefixes using function Ï€, namely Sim(d, w m )=max prefix p of d Ï€(p, w m ), where Ï„ is a similarity threshold, where a keyword in D is similar to a query keyword w if Sim(d, w)â‰§Ï„, where a prefix p of a keyword in D is similar to the query keyword w m if Ï€(p, w m )â‰§Ï„, where Ï†(w i ) (i=1, : : : , m) denotes the set of keywords in D similar to w i , and where P(w m ) denotes the set of prefixes of keywords in D similar to w m . 23. The method of claim 22 further comprising: ranking each record r in R based on its relevance to the query, where F(;) is a ranking function that takes the query Q and a record râˆˆR; determining a score F(r, Q) as the relevance of the record r to the query Q, and given a positive integer k, determining the k best records in R ranked by their relevance to Q based on the score F(r, Q).