11. A system including at least one processor and a memory storing program code for execution on the processor for approximate string matching of a target string to a trie data structure, comprising: a trie data structure stored in said memory and having a root node and generations of child nodes each node representing at least one character in an alphabet; program code for traversing the trie data structure starting from the root node by comparing each node of a branch of the trie data structure to at least one character in the target string; program code for determining, at each node, if there is a correction rule for one or more characters in the remainder of the target string from the current node, and, if so, applying the correction rule to the target string to modify the target string to obtain a modified target string, wherein applying the correction rule includes performing a sequence to sequence character substitution on the target string to obtain the modified target string, and for continuing to traverse the trie data structure from the current node using the modified target string, wherein no additional modifications of the modified target string are allowed within its modified parts; and program code for providing, responsive to the traversing, at least one suggestion from the trie data structure.
11. A system including at least one processor and a memory storing program code for execution on the processor for approximate string matching of a target string to a trie data structure, comprising: a trie data structure stored in said memory and having a root node and generations of child nodes each node representing at least one character in an alphabet; program code for traversing the trie data structure starting from the root node by comparing each node of a branch of the trie data structure to at least one character in the target string; program code for determining, at each node, if there is a correction rule for one or more characters in the remainder of the target string from the current node, and, if so, applying the correction rule to the target string to modify the target string to obtain a modified target string, wherein applying the correction rule includes performing a sequence to sequence character substitution on the target string to obtain the modified target string, and for continuing to traverse the trie data structure from the current node using the modified target string, wherein no additional modifications of the modified target string are allowed within its modified parts; and program code for providing, responsive to the traversing, at least one suggestion from the trie data structure. 19. A system as claimed in claim 11 , wherein the correction rule is stored in the trie data structure.