A system for searching an object environment includes harvesting and
indexing applications to create a search database and one or more indexes
into the database. A scoring application determines the relevance of the
objects, and a querying application locates objects in the database
according to a search term. One or more of the indexes may be implemented
by a hash table or other suitable data structure, where algorithms
provide for adding objects to the indexes and searching for objects in
the indexes. A ranking scheme sorts searchable items according to an
estimate of the frequency that the items will be used in the future.
Multiple indexes enable a combined prefix title and full-text content
search of the database, accessible from a single search interface.