System and method for searching multiple disparate search engines
First Claim
1. A computer-implemented method for communicating between a client and a plurality of search engines in a distributed processing system, comprising the steps of:
- providing a search engine manager having a client interface configured to allow the search engine manager to communicate with the client, a query generation module configured to receive a search query from the client interface and to generate a standard query, and a wrapper interface configured to provide the standard query to a search engine wrapper;
providing the search engine wrapper having a manager interface configured to provide standardized communication between the search engine manager and the search engine wrapper, a query translation module configured to translate the standard query received from the search engine manager into a native format query associated with a registered search engine, and a search engine interface configured to allow the search engine wrapper to communicate with the registered search engine in the native format of the registered search engine, wherein the search engine wrapper includes a wrapper ID, wherein the search engine wrapper presents the wrapper ID to a search engine store to identify the search engine wrapper during a registration process;
discovering the search engine registered with a search system by accessing the search engine store and identifying the search engine wrapper ID associated with the registered search engine;
receiving the search query at the search engine manager, having a plurality of search parameters, the search query being generated by a search client;
building the standard query from the search query, wherein the standard query is universally configured to be understandable by a plurality of search engine wrappers;
issuing the standard query to each of the plurality of search engine wrappers;
receiving the standard query at each of the plurality of search engine wrappers;
at each of the plurality of search engine wrappers, translating the standard query to the native format query for the search engine associated with the search engine wrapper, wherein the native format query is unique to the search engine associated with the search engine wrapper; and
issuing, from each of the search engine wrappers, the unique native format query to the search engine associate with the search engine wrapper.
2 Assignments
0 Petitions
Accused Products
Abstract
Described is a system and method for searching multiple disparate search engines. More particularly, a search system provides search engine manager that operates to provide a standard interface with which one or more search engines may be queried through a search client. The search system being extensible, allows for the addition of search engines beyond the time of the initial construction of the search system. Each search engine, being wrapped around a COM (component object model) object, first registers with the search system through the wrapper, the wrapper providing communication between the search engine manager and the search engine. When initiated by a client, a query is transmitted to the search engines in series, the search engines execute the query in parallel, and the results are returned asynchronously to the client.
87 Citations
28 Claims
-
1. A computer-implemented method for communicating between a client and a plurality of search engines in a distributed processing system, comprising the steps of:
-
providing a search engine manager having a client interface configured to allow the search engine manager to communicate with the client, a query generation module configured to receive a search query from the client interface and to generate a standard query, and a wrapper interface configured to provide the standard query to a search engine wrapper; providing the search engine wrapper having a manager interface configured to provide standardized communication between the search engine manager and the search engine wrapper, a query translation module configured to translate the standard query received from the search engine manager into a native format query associated with a registered search engine, and a search engine interface configured to allow the search engine wrapper to communicate with the registered search engine in the native format of the registered search engine, wherein the search engine wrapper includes a wrapper ID, wherein the search engine wrapper presents the wrapper ID to a search engine store to identify the search engine wrapper during a registration process; discovering the search engine registered with a search system by accessing the search engine store and identifying the search engine wrapper ID associated with the registered search engine; receiving the search query at the search engine manager, having a plurality of search parameters, the search query being generated by a search client; building the standard query from the search query, wherein the standard query is universally configured to be understandable by a plurality of search engine wrappers; issuing the standard query to each of the plurality of search engine wrappers; receiving the standard query at each of the plurality of search engine wrappers; at each of the plurality of search engine wrappers, translating the standard query to the native format query for the search engine associated with the search engine wrapper, wherein the native format query is unique to the search engine associated with the search engine wrapper; and issuing, from each of the search engine wrappers, the unique native format query to the search engine associate with the search engine wrapper. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer-readable storage medium having computer-executable instructions for performing steps, comprising:
-
providing a search engine manager having a client interface configured to allow the search engine manager to communicate with a client, a query generation module configured to receive a search query from the client interface and to generate a standard query, and a wrapper interface configured to provide the standard query to a search engine wrapper; providing a plurality of search engine wrappers having a manager interface configured to provide standardized communication between the search engine manager and the search engine wrappers, a query translation module configured to translate the standard query received from the search engine manager into a native format query associated with a registered search engine, and a search engine interface configured to allow the search engine wrappers to communicate with the registered search engine in the native format of the registered search engine, wherein the plurality of search engine wrappers include wrapper IDs, wherein the plurality of search engine wrappers present the wrapper IDs to a search engine store to identify each of the search engine wrappers during a registration process; registering a search engine with the search engine manager to provide searching capabilities, wherein registering includes storing a search engine wrapper ID associated with the registered search engine; receiving, at the search engine manager, the search query from the client; building the standard query from the search query received from the client, wherein the standard query is universally formatted for the search engine wrappers; passing the standard query from the search engine manager to the plurality of search engine wrappers, wherein each of the plurality of search engine wrappers is associated with a different registered search engine; translating, at each of the search engine wrappers, the standard query to a translated query in the native format of the registered search engine associated with the search engine wrapper, wherein each of the search engine wrappers translates the standard query into a different native format; transmitting the translated query to the registered search engine; and receiving results of the translated query from the registered search engine. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer-readable storage medium having computer-executable instructions for performing steps, comprising:
-
providing a search engine manager having a client interface configured to allow the search engine manager to communicate with the client, a query generation module configured to receive a search query from the client interface and to generate a standard query, and a wrapper interface configured to provide the standard query to a search engine wrapper; providing at least one search engine wrapper having a manager interface configured to provide standardized communication between the search engine manager and the search engine wrapper, a query translation module configured to translate the standard query received from the search engine manager into a native format query associated with a registered search engine, and a search engine interface configured to allow the search engine wrapper to communicate with the registered search engine in the native format of the registered search engine, wherein the at least one search engine wrapper includes a wrapper ID, wherein the search engine wrapper presents the wrapper ID to a search engine store to identify the wrapper during a registration process; discovering at least one search engine registered with a search system by accessing the search engine store and identifying at least one search engine wrapper ID associated with the at least one search engine; receiving a query initiated by the client accessing the search system; building the standard query from the query initiated by the client, wherein the standard query is universally configured to be understandable by a plurality of engine wrappers; transmitting the standard query to the plurality of search engine wrappers, wherein each search engine wrapper is configured to translate the search query into the native format that is unique to the search engine registered with the search engine wrapper; requesting a response from each of the search engine wrappers the response including a progress update for the standard query as it is executed and the results of the standard query; and receiving responses from each of the search engine wrappers. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22)
-
-
23. A system, comprising:
-
a processor; a memory having computer-executable instructions stored thereon, wherein the computer executable instructions are configured for; providing a search engine manager having a client interface configured to allow the search engine manager to communicate with the client, a query generation module configured to receive a search query from the client interface and to generate a standard query, and a wrapper interface configured to provide the standard query to a search engine wrapper; providing at least one search engine wrapper having a manager interface configured to provide standardized communication between the search engine manager and the search engine wrapper, a query translation module configured to translate the standard query received from the search engine manager into a native format query associated with a registered search engine, and a search engine interface configured to allow the search engine wrapper to communicate with the registered search engine in the native format of the registered search engine, wherein the at least one search engine wrapper includes a wrapper ID, wherein the search engine wrapper presents the wrapper ID to a search engine store to identify the wrapper during a registration process; discovering at least one search engine registered with a search system by accessing the search engine store and identifying at least one search engine wrapper ID associated with the at least one search engine; receiving a query initiated by the client accessing the search system; building the standard query from the query initiated by the client, wherein the standard query is universally configured to be understandable by a plurality of engine wrappers; transmitting the standard query to the plurality of search engine wrappers, wherein each search engine wrapper is configured to translate the search query into the native format that is unique to the search engine registered with the search engine wrapper; and issuing, from each of the search engine wrappers, the unique native format query to the search engine associate with the search engine wrapper. - View Dependent Claims (24, 25, 26, 27, 28)
-
Specification