13. A computer system for searching a first text string for an occurrence of a second text string, the first text string and the second text string consisting of characters belonging to a language which has a predefined character precedence, the computer system comprising: (a) a processor; (b) a memory connected to the processor and containing locations for storing information including the first text string and the second text string; (c) a program stored in the memory and controlling the processor to retrieve information stored in the memory, to manipulate the retrieved information and to store the manipulated information in the memory; (d) means controlled by the program for defining at least one ordering value for each character based on the predefined character precedence of the language and for storing ordering values for all characters in the memory; (e) means controlled by the program for preprocessing the first text string to generate a first index table comprising ordering values for each character in the first text string; (f) means controlled by the program for computing a minimum trailing match length for each position in the first text string, wherein the minimum trailing match length value corresponds to a minimum length of the second text string when the second text string matches trailing elements at the end of the first text string; (d) means responsive to the minimum trailing match length values for shifting the second text string relative to the first text string in a first direction by an amount indicated by the minimum trailing match length values; and (h) means for performing a comparison of the ordering values of the characters in the second string to the ordering values in the first index table to determine whether the second text string occurs in the first text string.
13. A computer system for searching a first text string for an occurrence of a second text string, the first text string and the second text string consisting of characters belonging to a language which has a predefined character precedence, the computer system comprising: (a) a processor; (b) a memory connected to the processor and containing locations for storing information including the first text string and the second text string; (c) a program stored in the memory and controlling the processor to retrieve information stored in the memory, to manipulate the retrieved information and to store the manipulated information in the memory; (d) means controlled by the program for defining at least one ordering value for each character based on the predefined character precedence of the language and for storing ordering values for all characters in the memory; (e) means controlled by the program for preprocessing the first text string to generate a first index table comprising ordering values for each character in the first text string; (f) means controlled by the program for computing a minimum trailing match length for each position in the first text string, wherein the minimum trailing match length value corresponds to a minimum length of the second text string when the second text string matches trailing elements at the end of the first text string; (d) means responsive to the minimum trailing match length values for shifting the second text string relative to the first text string in a first direction by an amount indicated by the minimum trailing match length values; and (h) means for performing a comparison of the ordering values of the characters in the second string to the ordering values in the first index table to determine whether the second text string occurs in the first text string. 24. The computer system as recited in claim 13 wherein the defining means further comprises means controlled by the program for defining a primary, a secondary and a tertiary ordering value for each character based on the predefined character precedence of the language; means for storing the primary, secondary and tertiary ordering values for all characters in the memory; and means controlled by the program for determining a strength of matches between primary, secondary and tertiary ordering values.