1. A method of matching a search string according to a predetermined set of matching criteria to a set of words contained in a collection of words, comprising: creating and storing a lexicon containing the collection of words and associating each of the stored words with a unique identifying number; creating and storing a word look-up table identifying sets of word numbers associated with words of the lexicon that have a common set of characteristics; creating and storing a character look-up table identifying for a specified word number and a specified character whether the word associated with the specified word number contains the specified character; selecting from the word look-up table a target set of word numbers whose associated words have a set of characteristics corresponding to the search string; refining the target set, the refining comprising selecting a set of characters from the search string, accessing the character look-up table to identify which of the selected characters are contained in each of the words associated with the target set, and in response to the character identification excluding from the target set those word numbers whose associated words do not contain a predetermined number of the selected characters; and, comparing each of the words associated with the refined target set directly with the search string and excluding from the target set any word number whose associated word fails to match the search string according to the predetermined set of matching criteria.