2. The method of claim 1 further comprising assigning, to each leaf node that corresponds to a word, a respective inverted list of IDs of records that contain the word, wherein the result set of records may be determined using the inverted lists of the descendants of theactive nodes of the invoked prefix.
1. A method for finding records relevant to a query among a set of records without requiring an exact spelling match between the query and the records comprising: indexing the set of records to form a trie having a plurality of leaf nodes; invoking a first query containing a first prefix entered by a user; computing and storing in a cache memory a first set of active nodes on the trie, the first set of active nodes being defined by the first prefix according to a similarity rule; invoking a second query containing a second prefix entered by a user, the second prefix being based on the first prefix and including at least one additional character entered by the user; computing a second set of active nodes on the trie using the first set of active nodes, the second set of active nodes being defined by the second prefix according to the similarity rule; wherein the similarity rule comprises an edit-distance threshold in prefix spelling; and determining a result set of records using the computed second set of active nodes on the trie as a return to a keystroke that invokes the second query.