15. A non-transitory computer storage medium encoded with a computer program, the program comprising instructions that when executed by one or more computers cause the one or more computers to perform operations comprising: analyzing contents of each of a plurality of resources to identify entities of a first entity type that are related to the resource, wherein analyzing the contents of each of the plurality of resources comprises: identifying occurrences of names of entities in the contents of the resource, and determining that each entity whose name occurs in the resource more than a threshold number of occurrences is related to the resource; annotating each of the plurality of resources in an index database with annotations identifying the entities that are related to the resource; determining that a first search query includes a respective text reference to each of one or more predetermined attributes, wherein each attribute is associated with the first entity type; obtaining search results for the first search query from a search engine, the search results identifying a plurality of search result resources; identifying entities of the first entity type that are related to any of the plurality of search result resources identified by the search results; and selecting names of one or more of the identified entities of the first entity type to include in a response to the first search query.
18. The computer storage medium of claim 15 , wherein the entities of the first entity type that are related to any of the search result resources are identified using the annotations.