The present disclosure relates to federated search, and more specifically, to generating a unified ranking of search results from disparate search resources.
Federated search allows a user to search for information through multiple resources simultaneously. To do so, a user may submit a search query request to a federated search engine. In turn, the federated search engine queries multiple resources, such as web-based search engines, library catalogs, government-operated data collections, and the like. The search engines each return a listing of results responsive to the search query request. The results can identify documents relevant to the search query (e.g., (e.g., web sites, news articles, encyclopedia entries, bibliographies, etc.). Further, the results in each listing may be ranked based on a variety of relevance criteria, such as popularity, timeliness, and the like. The federated search engine aggregates the results received from the resources and presents the results to the user.
Merging ranked results from disparate search resources to create an aggregate listing of re-ranked results is an issue in federated search. For instance, each search resource may use heuristics that are distinct from other resources to rank results. As a result, the federated search engine needs to determine which results should be ranked higher than the others. For example, given non-overlapping search result listings from two resources A and B, the federated search engine must determine whether the first result from resource A should be ranked higher than the first result from resource B, or even the second or third result from resource B.
The federated search engine may use a variety of approaches to reconcile results received from search resources. For example, if there is large overlap in the search results the federated search engine can combine relevancy scores for results returned by the resources. Doing so allows the federated search engine to rerank results from different resources based on the combined scores. However, if the search results scarcely overlap, the combined scores may lead to purely interleaved results, where some results may be given an unduly amount of importance over others. As another example, the federated search engine can re-rank the results based on a consistent relevancy calculation with regard to the search query. However, this approach requires that the federated search engine download each search result to access the full text to calculate the relevancy. Further, the approach may be error prone, where the most relevant results appear towards the bottom of the rankings Another approach is to create a profile for each federated resource. That is, the federated search engine determines which resources are more authoritative for a given query and only submits the query to those resources. As a result, these approaches may lead to a longer response time for presenting the results to the user.