1. A method for representing a first dictionary for faster searching, the method comprising: retrieving the first dictionary from an external memory, the first dictionary comprising first textual phrases; deriving from the first dictionary a second dictionary comprising second textual phrases, wherein the second dictionary has a smaller data size than the first dictionary, and wherein each first textual phrase in the first dictionary corresponds to at least one of the second textual phrases in the second dictionary; and storing the second dictionary in a cache memory to represent the first dictionary stored in the external memory, wherein the cache memory has a faster access speed than the external memory.
8. The method according to claim 1 , wherein the first textual phrases include commonly found sub-strings that are common to a majority of the first textual phrases, and wherein the second textual phrases do not include the commonly found sub-strings.