1. A method for searching a structured data table T with m attributes and n records, where A={a 1 ; a 2 , : : : ; a m } denotes an attribute set, R={r 1 ; r 2 , : : : , r n } denotes the record set, and W={w 1 ; w 2 , : : : ; w p } denotes a distinct word set in T, where given two words, w i and w i , â€œw i â‰¦w j â€ denotes that w i is a prefix string of w j , where a query consists of a set of prefixes Q={p 1 , p 2 ,. .. , p l }, where a predicted-word set is W k l ={w|w is a member of W and k l â‰¦w}, the method comprising for each prefix p i finding the set of prefixes from the data set that are similar to p i , by: determining the predicted-record set R Q ={r|r is a member of R, for every i; 1â‰¦iâ‰¦Â·lâˆ’1, p i appears in r, and there exists a w included in W k l , w appears in r}; and for a keystroke that invokes query Q, returning the top-t records in R Q for a given value t, ranked by their relevancy to the query, treating every keyword as a partial keyword, namely given an input Q={k 1 ; k 2 ; : : : ; k l for each predicted record r, for each 1â‰¦iâ‰¦Â·l, there exists at least one predicted word w i for k i in r, since k i must be a prefix of w i ,quantifying their similarity as: 
 sim =( k i ;w i )=| k i |/|w i | if there are multiple predicted words in r for a partial keyword k j , selecting the predicted word w i with the maximal similarity to k i and quantifying a weight of a predicted word to capture the importance of a predicted word, and taking into account the number of attributes that the l predicted words appear in, denoted as n a , to combine similarity, weight and number of attributes to generate a ranking function to score r for the query Q as follows: SCORE â¡ ( r , Q ) = Î± * âˆ‘ l = 1 1 â¢ â¢ idf w i * sim â¡ ( k i , w i ) + ( 1 - Î± ) * 1 n a , where Î± is a tuning parameter between 0 and 1.