A full text indexing system is provided for processing content associated
with data applications such as encyclopedia and dictionary applications.
A build process collects data from various sources, processes the data
into constituent parts, including alternative word sets, and stores the
constituent parts in structured database tables. A run-time process is
used to query the database tables and the results in order to provide
effective matches in an efficient manner. Run-time processing is
optimized by preprocessing all steps that are query-independent during
the build process. A double word table representing all possible word
pair combinations for each index entry and an alternative word table are
used to further optimize run-time processing.