1. A method comprising: maintaining relationship data describing relationships between data objects in a collection of data objects; identifying search results for a set of query terms, each result of the search results being a subset of related data objects within the collection, the subset comprising, for each particular term of the set of query terms, at least one data object that matches the particular term; wherein identifying the search results comprises: identifying groups of initial data objects to investigate for the search results, the groups including at least a first group matching a first query term, a second group matching a second query term, and a third group matching a third query term; based on how often certain initial data objects appear both in the first group and the second group, removing, from the groups, initial data objects that are not found within both the first group and the second group; identifying particular subsets of related data objects within the collection by, based on the relationships, expanding networks of related data objects from remaining initial data objects; determining which of the particular subsets qualify as the search results.
6. The method of claim 1 , wherein removing, from the groups, initial data objects that are not found within both the first group and the second group is responsive to determining that data objects within the first group also appear above a threshold frequency within the second group, the method further comprising: determining that data objects within the first group do not also appear above a threshold frequency in the third group, wherein initial data objects that belong to the third group but not the first group remain in the groups of initial data objects.