1. A computing system for providing general purpose searching, the system comprising: at least one processor; and memory including instructions that, when executed by the processor, cause the computing system to provide: a product database that contains entries for a plurality of items, the plurality of items being hierarchically classified; a descriptor that contains a definition of hierarchical organization of the items in the product database, the definition including a hierarchy of classifications; an index builder configured to: read the descriptor and construct an index for the product database based at least in part on the definition in the descriptor, the constructed index containing at least one entry for each classification in the definition, the entry containing one or more words that appear in at least one of: (a) the entries of the product database for the items within the classification or (b) the words in a name of the classification, and read a special terms file to construct the index, the special terms file containing one or more words that are synonymous with the name of the classifications in the constructed index, wherein the index builder assigns a high priority to the one or more words that are synonymous with the name of the classification; and a search engine configured to receive search criteria and return a set of results for the search criteria based at least in part on the constructed index, the set of results adjusted for the hierarchy of classifications.