1. A method of searching for data using heterogeneous indices, comprising: searching through a search index, using a first query, to identify a set of entities; identifying a second query for searching through said set of entities; for each of said set of entities, estimating a number of documents that would be identified in a search through said each entity to answer said second query; on the basis of said estimating, forming a subset of said entities; and sending said second query and said subset of entities to a search engine to search said subset of entities to answer said second query.