1. A computer-implemented method of providing search results, comprising the steps of: receiving a search query from a client node; in response to receiving the search query, performing an ordered search of different databases; wherein performing the ordered search of different databases comprises: performing, based on the search query, a first search that produces a first set of one or more search results, wherein performing the first search comprises searching a first set of one or more databases; determining whether the first set of one or more search results satisfy particular criteria; performing, based on the search query, a second search that produces a second set of one or more search results if and only if the first set of one or more search results do not satisfy the particular criteria, wherein performing the second search comprises searching a second set of one or more databases, wherein the first set of one or more databases is different than the second set of one or more databases; generating a search result that is based on at least of the first set of one or more search results or the second set of one or more search results; providing said search result to said client node; wherein the steps are performed on one or more computing devices.