MatchPoint generates a contextual thesaurus as it crawls and indexes enterprise documents, and uses this thesaurus to disambiguate and expand the user query based on existing enterprise knowledge, the user profile and the customer's work process. With MatchPoint, a document can be indexed and ready for search within 10 seconds after it is been received or created. MatchPoint uses a distributed architecture to create as many "Search Services" as necessary. Each Search Service can have several indexes and each index can be partitioned. User queries are launched into multiple indexes and sub-indexes, and the results are merged through the MatchPoint Federator. This distributed architecture is intended to help handle terabytes of data without substantially degrading response time.