A system and method for rapidly identifying the existence and location of
an item in a file using an improved hash table architecture. A hash table
is constructed having a plurality of hash buckets, each identified by a
primary hash key. Each hash entry in each hash bucket contains a pointer
to a record in a master file, as well as a secondary hash key independent
of the primary hash key. A search for a particular item is performed by
identifying the appropriate hash bucket by obtaining a primary hash key
for the search term. Individual hash entries within the hash bucket are
checked for matches by comparing the stored secondary keys with the
secondary key for the search term. Potentially matching records can be
identified or ruled out without necessitating repeated reads of the master
file. The improved hash table system and method is employed in a
contextual text searching application for determining the intersection of
a text search with a hierarchical categorization scheme.