A method for responding to search requests for stored documents. Each of
the stored documents includes metadata, content, and a document type
identifier for identifying a type of the document. A search request
including document type criteria, metadata criteria, and content
criteria, is received. A first set of documents based on the metadata
criteria is identified. Documents in the first set that have a document
type identifier that matches the document type criteria are identified. A
search method is identified from a plurality of search methods for
searching the content of the identified documents in the first set based
on the document type identifier of the documents. The content of the
identified documents in the first set is searched using the identified
search method and the content criteria.