Semantic search requires a search engine to properly interpret the meaning of a user's query and the inherent relations among the terms that a document contains with respect to a specific domain. We present the framework of such a search engine based on domain ontologies. In this framework, a search request, which can be either a keyword list as in traditional search methods or a query in complex form containing various restrictions to the search, is first processed by a query parser which then finds qualified RDF triples in domain ontologies. Web documents relevant to the requested concepts and individuals specified in these triples are then retrieved by a document retriever. And finally, the retrieved documents are ranked according to their relevance to the user's query. An extended term-document matrix is built to reflect the relevance between documents, concepts/individuals, and terms. Such a matrix makes it possible for the search engine to work even in case that there are no available domain ontologies for user requests.