1. A method of searching for information, comprising: receiving a query; providing the query to a first search engine that searches a set of data sources, the data sources having relationships to at least one ontology, the ontology modeling relationships between concepts in a domain and data source content containing information specific to the concepts; receiving search results from the search engine; analyzing the search results with one or more processors to determine at least one statistic corresponding to the search results and the query, wherein the statistic is based upon a relevance score for each of a plurality of concepts given the query, the relevance score expressed as r cq = w ⁡ ( c ) ⁢ ∑ i ⁢ ⁢ [ w ⁡ ( i ) ⁢ f ⁡ ( h c , h q ) ] where w(c) is a weighing function related to a concept c, w(i) is a weighing function for a data source item i, h c is a set of items related to the concept c, h q is a set of items related to the query q, and ƒ(h c , h q ) is a normalized score function, wherein weighing function w (i) varies by data source; providing a subset of the concepts to a user based on the relevance score; and using a template to process domain specific rules and the subset of the concepts.