HK1140839B - Federated search implemented across multiple search engines - Google Patents
Federated search implemented across multiple search engines Download PDFInfo
- Publication number
- HK1140839B HK1140839B HK10107072.4A HK10107072A HK1140839B HK 1140839 B HK1140839 B HK 1140839B HK 10107072 A HK10107072 A HK 10107072A HK 1140839 B HK1140839 B HK 1140839B
- Authority
- HK
- Hong Kong
- Prior art keywords
- search
- results
- engines
- search engines
- engine
- Prior art date
Links
Description
Technical Field
The present invention relates generally to information retrieval, and more particularly to federated searches implemented through several search engines.
Background
Standard web and internet searches typically cover a small portion, perhaps only about ten percent, of the information that can be accessed via a network. There are a number of reasons for this limitation. One reason relates to scalability (scalability). For example, considerable expense, effort, and infrastructure are associated with storing and indexing data, keeping information constantly new and accessible. For information that is relatively rarely accessed, the cost may seem excessive relative to the apparent need, usefulness of the information, and so forth. Limiting all information that can be accessed via the network can suppress costs.
Second, search engine-based standard networks are prevented from accessing much of the information in the network because a standard web crawler (web crawler) that helps build an index for search engines to use for searches may lack the ability to obtain that information. For example, a web crawler may not be able to access a database or website that requires positive access enablement such as password authentication or other security measures.
Finally, standard web searches are designed for broad and popular information, spanning the upper-level, larger public. While many standard web search results are designed in a sense to return search results that may most likely be satisfactory to most users, most of the time, there may be a lack of relevance to a significant number of users.
To find more relevant search results, vertical searches may be used, which are more accurate than standard searches, more targeted to particular domains and topics. However, users of vertical searches configure their systems more or less individually for each search engine. Such an implementation is more or less manageable for selecting relatively few search engines. However, for many vertical search engines, this may soon become inefficient and expensive.
Based on the foregoing, it would be useful to perform vertical searches more efficiently.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Accordingly, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section unless specified otherwise.
Drawings
The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:
FIG. 1 illustrates an example process according to one embodiment of this disclosure;
FIG. 2 illustrates an example system according to one embodiment of this disclosure;
FIG. 3A illustrates an example search result presentation, according to one embodiment of the invention;
3B, 3C, 3D illustrate example screen shots according to one embodiment of the invention;
FIG. 4 illustrates an example computer platform upon which embodiments of the present invention may be implemented; and
FIG. 5 illustrates an example process for merging results from several search engines, according to one embodiment.
Detailed Description
Example embodiments are described herein that relate to federated searches implemented via several search engines. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It may be evident, however, that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are mentioned without exhaustive treatment to avoid unnecessarily obscuring the present invention.
SUMMARY
According to one embodiment, a set of vertical search engines is selected based on a search query. Vertical search engines that are likely to provide search results that are more relevant to the query are selected for the group. For example, the query may be a request for "pork recipe". Based on including these search keywords in the query, a search engine for recipes is selected.
Thus, several search engines are accessed with less user configuration in performing a vertical search to perform queries with these search engines. Furthermore, efficient and low-cost vertical search queries are performed by several specialized search engines and are selectively executed.
For each selected search engine to which a search query is provided, search results are received. The merged search results are generated by merging certain search results received from each of the plurality of search engines.
In one embodiment, the consolidation of results from queries across several search engines may vary depending on the preferences of the vertical search user. For example, a user may prefer to be presented with a single list of combined search results from several search engines. This presents the end user with the results deemed most relevant by the search engine system executing the query. In addition to or instead of the above, the user may prefer to be presented with results from each of the selected search engines. In such a case, the user is presented with results from the search engine that the search engine system considers to be the most relevant search engine. Vertical search users who intend to issue additional queries that will be restricted to a particular domain may thus be presented with results that are likely to be relevant. Thus, embodiments described herein enable federated searches through several search engines and present relevant search results to the searching user along with relevant search engines for yet more domain-specific searches.
Words and comments
Unless specifically stated otherwise, some terms and phrases used herein have the meanings described in this section.
A search engine is software (executable instructions and data) configured to search a set of information resources. A computer executing a search engine generates search results for queries submitted to the search engine.
Search engines typically run on a server, referred to herein as a search engine server. A server is a combination of integrated software components (including data) and an allocation of computing resources, such as memory, nodes and processors on a computer for executing the integrated software components, where the combination of software and computing resources is dedicated to a particular function. In the case of a search engine server, the server is dedicated to searching a set of information resources.
Search engines are widely used in the internet, the world wide Web (WWW, Web, WWW, etc.), and other large internal networks and information resource networks. Typically, search engines are accessible on servers as web sites, such as those accessible using Yahoo and Google web pages, which are accessed using links (http:// search. Yahoo. com /) and (http:// www.google.com /), respectively.
The collection of information resources searched by a search engine is referred to herein as a document. A document is any unit of information that can be indexed by a search engine index. The search engine index is described below. In general, a document is a hyperlink that may contain plain or formatted text, inline graphics (inline graphics), and other multimedia data, as well as other documents. Documents may be statically or dynamically generated.
Search engines search for information using a search engine index (i.e., one or more), also referred to herein simply as an index. The search engine index may be a directory in which content is more or less manually indexed to reflect human observation. More specifically, search engine indexes are automatically created and maintained by a process referred to herein as a crawler. Crawlers explore information in the internet, essentially continuously looking for as many documents they find as possible at the locations where the crawlers are configured to search. The crawler may travel along links from one document to another document. The crawler may retrieve (e.g., obtain, download) web resources (e.g., pages), save the pages or other resources in their original form, identify and extract links to other resources, web pages, and so forth. This enables these resources/pages to be retrieved subsequently. Other forms of information may be extracted from the crawler-derived resources/pages when the crawler-derived pages or other resources are retrieved.
Content extracted from resources/pages retrieved with the crawler may then be indexed. In a search index, the contents of resources/pages are indexed (e.g., semantic index, concept index, etc.) and summarized in a database, which is typically of considerable size. It is these indices and databases that are actually searched in response to a search query. Thus, in general, the indexing process used to build the index is to obtain content using a crawler.
In one configuration, software for a search engine may be configured to search one set of resources, while in another configuration it is configured to search another set of resources. Each of such configurations is considered a different search engine.
A vertical search engine is an engine that uses an index for indexing documents that are restricted to a particular domain or a particular topic. Vertical search engines may be defined, for example, by configuring a crawler to search for a particular location. For example, a crawler for a vertical search engine for recipes can be configured to search sites and/or locations that hold recipe documents.
Search results generated by a search engine include a list of documents and may contain summary information about the documents. The list of documents may be sorted. To rank the list of documents, the search engine may assign a rank to each document in the list. When a list is ordered by rank, documents with a relatively higher rank may be placed closer to the head of the list than documents with a relatively lower rank. The search engine may rank the documents according to relevance to the search query. Relevance is a measure of how closely the topic of a document matches the search query terms.
Illustrative embodiments
FIG. 1 illustrates an example process 100 according to one embodiment. Process 100 begins by selecting a plurality of search engines from a number of search engines based on a search query and at least one criterion. One or more search queries are submitted 102 to a plurality of search engines to obtain search results. For each search engine, some search results are received 103 for each query submitted to each search engine. These results from the various search engines are merged 104 to generate a merged search result.
FIG. 2 illustrates an example system 200 according to one embodiment. Search federator 201 receives user queries. A federator, such as federator 201, includes one or more computer processes that execute software, where the software causes the computer processes to receive a search query, select one or more search engines based on the search query, and send the search query to the selected search engines. The federator may also consolidate results returned from several search engines in response to a search query. A federator may be an integrated component of a search engine, where one or more processes assigned to the search engine also manipulate the federator.
To select a search engine to which to submit a search query, federator 201 needs information that can be used to make the selection. In one embodiment, federator 201 obtains such information by submitting a search metadata query to search metadata engine 205.
A search metadata engine is a search engine in which a set of information resources is information about other search engines. This information includes search engine metadata, which is information describing the search engine and/or search engine index. The metadata may include descriptors of topics relevant to the search engine and keywords associated with the relevant topics. The returned results identify one or more search engines, e.g., websites and/or search engine indexes.
The query submitted to search engine metadata 205 is referred to herein as a search metadata query. In one embodiment, the search metadata query is generated based on a user's query (including keywords in the user query). In one embodiment, the conversion process essentially converts the user query into another query that is suitable for querying other search engines. The results returned by the search engine metadata 205 may be ranked based on relevance to the user query.
Based on the results returned from search engine metadata 205, federator 201 selects a search engine from the number of search engines 211 and 212 and 299 to which to issue a search query, and then issues the query to the selected search engine. The selection may select a particular search engine server, such as a search engine hosted by the search engine server (e.g., a website), or may be a search engine index. In the latter case, federator 201 submits a query to the selected search engine by submitting the query to a search engine configured to search the index.
Search results are then returned from each selected search engine. The returned results are then merged and ranked by the federator 201. The ranking may be based on a variety of techniques, for example, frequency of use of document identifiers such as Uniform Resource Locators (URLs). Further, in one embodiment, a ranking is calculated for each search engine; the ranking is used to determine how to merge search results from all selected search engines. The search engine ranking may be calculated according to the method described in co-pending U.S. patent application entitled "ranking documents," serial No. [ to be determined ], filed by Ryan Sue on [ to be determined date ], and assigned to the assignee of the present application, which is hereby incorporated by reference in its entirety as if fully set forth herein. In one embodiment, the search engine rankings are calculated as described below with reference to FIG. 5.
In one embodiment, execution overhead or other expenses that may be associated therewith may be avoided by simply not using search metadata engine 205. Instead, the search query is simply submitted to all search engines in a group of several search engines. However, the performance savings realized by this measure also has the additional expense of having to perform the end user query against all of several search engines, some of which may return content or other results that lack relevance to the end user's query.
Example search result presentation
Here, search consolidator 201 issues a search metadata query for "chicken" to search metadata engine 205, and search metadata engine 205 returns search engine results identifying search engines relevant to the end user query for "chicken".
The search consolidator 201 issues a "chicken" query through the relevant search engines returned by the metadata engine 205. The search results returned from the related search engines "1" and "2" are merged into a search result set for presentation to the end user. The search results consolidated from all relevant search engines may be presented to the end user in one or more ways.
FIG. 3A illustrates an example 300 of returned search results according to one embodiment of the invention. According to one embodiment, when a user's query is executed, result presentation 311, result presentation 312, or both may be presented to the user in response to user preferences. In response to a user's query, the related search engines "1" and "2" return many (e.g., ten) results. It should be appreciated that other numbers of search engines may be relevant and any number of results may be returned.
Results presentation 311 presents the intermixed results from several search engines, ranked according to relevance to the user's query, as a single list. Thus, one embodiment presents the user with the results that the system 200 (FIG. 2) deems most relevant. Results presentation 312 presents results grouped by individual ones of the selected number of search engines. In this format, the user may be better able to visually observe and identify which search engine provided the most relevant results to the query or the user's desires.
FIG. 3B shows an example screen shot of search results 311B merged across related search engines. In one embodiment, search results merged across related search engines may include a more or less "standard" view of the results, which may vary according to user preferences.
FIG. 3C shows an example screen shot of grouped search results 312C from which the search engine returned groups of search results. In one embodiment, the search results that are grouped (the search engine returns groups of search results based on such grouping) may include a more or less exploratory view of the results, such as an "exploration" view, which may change according to the user's preferences.
FIG. 3D illustrates an example screenshot of search results 313D including results from a single search engine, such as a search engine that may be selected, specified, etc., by, for example, a user after considering one or more exploration screenshots (e.g., search results 312C; FIG. 3C), a single list of merged results (e.g., search results 311B; FIG. 3B), or both. In one embodiment, when a user discovers (e.g., from previous executions and/or considerations of other search result groupings) that a particular search engine returns the most relevant results (e.g., the most relevant results from the user's perspective), the search results may be sought from a single search engine. The search engine selected for presenting the results may vary according to the user's preferences.
Example hardware overview
FIG. 4 illustrates an example computer system 400 upon which the present invention may be implemented. Computer system 400 includes a bus 402 or other communication mechanism for communicating information, and a processor 404 coupled with the bus for processing information. Computer system 400 also includes a main memory 406, such as a Random Access Memory (RAM) or other dynamic storage device, coupled to bus 402 for storing information and instructions to be executed by processor 404. Main memory 406 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 404. Computer system 400 also includes a Read Only Memory (ROM)408 or other static storage device coupled to bus 402 for storing static information and instructions for processor 404. A storage device 410, such as a magnetic disk or optical disk, is provided and coupled to bus 402 for storing information and instructions.
Computer system 400 may be coupled via bus 402 to a display 412, such as a Liquid Crystal Display (LCD), Cathode Ray Tube (CRT), or the like, for displaying information to a computer user. An input device 414, including alphanumeric and other keys, is coupled to bus 402 for communicating information and command selections to processor 404. Another type of user input device is cursor control 416, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 404 and for controlling cursor movement on display 412. Such input devices typically have two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allow the device to specify positions in a plane. Example embodiments of the present invention relate to a computer system 400 for replicating changes made to data blocks at a source database system as a replica of data blocks at a backup data block system. According to one embodiment of the invention, the copying of changes made to data blocks at the source database system to replicas of data blocks at the backup database system is provided by one or more instances of computer system 400 in response to processor 404 executing one or more instructions contained in main memory 406. Such instructions may be read into main memory 406 from another computer-readable medium, such as storage device 410. Execution of the sequences of instructions contained in main memory 406 causes processor 404 to perform the process steps described herein. One or more processors in a multi-processing arrangement may also be employed to execute the sequences of instructions contained in main memory 406. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the invention. Thus, embodiments of the invention are not limited to any specific combination of hardware circuitry and software.
The term "computer-readable medium" as used herein refers to any medium that participates in providing instructions to processor 404 for execution. Such a medium may take many forms, including but not limited to, non-volatile media, and transmission media. Non-volatile media includes, for example, optical or magnetic disks, such as storage device 410. Volatile media includes dynamic memory, such as main memory 406. Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise bus 402. Transmission media can also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications.
Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium, punch cards, paper tape, any other legacy or other physical medium with patterns of holes, and other computer-readable media, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read.
Various forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to processor 404 for execution. For example, the instructions may initially be carried on a magnetic disk of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to computer system 400 can receive the data on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal. An infrared detector coupled to bus 402 can receive the data carried in the infrared signal and place the data on bus 402. Bus 402 carries the data to main memory 406, and processor 404 retrieves instructions from main memory 406 and executes the instructions. The instructions received by main memory 406 may optionally be stored on storage device 410 either before or after execution by processor 404.
Computer system 400 also includes a communication interface 418 coupled to bus 402. Communication interface 418 couples to a two-way data communication network link 420, network link 420 being connected to a local network 422. For example, communication interface 418 may be an Integrated Services Digital Network (ISDN) card, a cable or Digital Subscriber Line (DSL) modem or another modem to provide a data communication connection to a corresponding type of telephone line. As another example, communication interface 418 may be a Local Area Network (LAN) card to provide a data communication connection to a compatible LAN. Wireless links may also be implemented. In any such implementation, communication interface 418 sends and receives electrical, optical, or optical signals that carry digital data streams representing various types of information.
Network link 420 typically provides data communication through one or more networks to other data devices. For example, network link 420 may provide a connection through local network 422 to a host computer 424 or to data equipment operated by an Internet Service Provider (ISP) 426. ISP 426 in turn provides data communication services through the worldwide packet data communication network 428 now commonly referred to as the "internet". Local network 422 and internet 428 both use electrical, optical, or optical signals that carry digital data streams. The signals through the various networks and the signals on network link 420 or through communication interface 418, which carry the digital data to and from computer system 400, are exemplary forms of carrier waves transporting the information.
Computer system 400 can send messages and receive data, including program code, through the network(s), network link 420 and communication interface 418. In the internet example, a server 430 might transmit a requested code for an application program through internet 428, ISP 426, local network 422 and communication interface 418. As described herein, one such downloaded application provides for the replication of changes made to data blocks at a source database system to replicas of data blocks at a backup database system in accordance with the present invention.
The received code may be executed by processor 404 as received, and/or stored in storage device 410, or other non-volatile storage for later execution. In this manner, computer system 400 may obtain application code in the form of a carrier wave.
Example merging of results from several search engines
FIG. 5 illustrates an example process 500 for merging results from several search engines, according to one embodiment. Process 500 begins with ranking 501 a plurality of documents, each of the plurality of documents associated with a Uniform Resource Locator (URL). The documents are returned as a result of a query computed by each of a plurality of search engines. At least one document of the plurality of documents is returned as a result of the query from each search engine.
For each URL associated with a document of the plurality of documents, a frequency of the URL is determined 502. The ranking described above (block 501) includes ranking a plurality of documents based on one or more factors. These factors are based on the frequency determined for each URL associated with the plurality of documents.
In one embodiment, the frequency f of each URL 'u' associated with a document 'i' of a plurality of documents returned in response to a query executed by a plurality (e.g., a set) of search engines 'S' is calculatedurl(uiS) to make a URL frequency determination 502. In one embodiment, the frequency of the URL is calculated according to the following equation 1:
(formula 1)
Wherein f isurlIs the URL frequency, | S | is the total number of search engines executing the query, andis returned containing the URL, uiThe total number of search engines of the results.
In one embodiment, the ranking of a document is measured in terms of its rarity (rarity) in a set of search engine results (e.g., frequency relative to other URLs). The rarity of documents in the search results returned from the search engine effectively includes a measure of how interesting the documents are. In one embodiment, the ranking of the documents thus corresponds to the reciprocal URL frequency. A search performed according to such an embodiment may thus return very specialized, unobtrusive documents that are often ignored by other search engines. The results of such a search are therefore likely to return generic, e.g., results that a non-specialized search cannot return.
For example, a general web search typically returns frequently accessed documents, and is done with those frequently accessed documents having a relatively high relevance ranking. Furthermore, even if a standard web search does manage to return relatively rare documents, its rarity will likely make it have a relatively low relevance rank. A low relevance rank is likely to "bury" the document in a place within the search results that may be obscured by many other search results. This may essentially force the user to find the search result in its page, which may be tedious and inefficient.
Ranking of documents in search resultsIn one embodiment based on its relative rarity, the ranking returned for a query is a normalized ranking (R)normalized) And URL uiFrequency f ofurlIs calculated according to the following equation 2:
Roverall(ui,S)=f(Rnormalized(ui,S),1/furl(ui,S))
(formula 2)
Wherein the normalized ranking (R)normalized) Representing all other calculations related to combining the local rankings of the search engines of group S. In one embodiment, other calculations associated with the ranking of documents include, but are not limited to, processing of identical results, click-through rates, user ratings in the search engine.
Embodiments are not limited to ranking documents according to their rareness among a set of search engine results. For example, in one embodiment, the relevance of a document is measured in terms of how common the document is among a set of search engine results, which may be a function of the frequency associated with the URL that is not the inverse. Searches performed according to such embodiments may thus return opinions reflecting common opinions of other searchers, search engine creators, administrators, and other participants, opinions of a majority of people, and the like (e.g., using vertical searches).
Results of more specialized searches, such as vertical searches that have been customized by previous users, may be utilized. This may enable the results of searches performed according to such embodiments to reflect search results that have proven useful or popular, and thus take advantage of others' mindsets, lessons, and experiences, in conjunction with useful social factors such as collective knowledge and wisdom, thereby facilitating high efficiency and economy in search engine usage.
In one embodiment where the relevance of a document is measured in terms of how often the document appears in search results of a set of search engine results, the overall ranking of documents in the search results returned for a query is a normalized ranking (Rnormalized) URL u with non-reciprocaliFrequency f ofurlIs calculated according to the following equation 3:
Roverall(ui,S)=f(Rnormalized(ui,S),furl(ui,S))
(formula 3)
Wherein the normalized ranking (R)normalized) Representing all other calculations related to combining the local rankings of the search engines of group S. In one embodiment, other calculations associated with normalized ranking include, but are not limited to, processing of identical results, click-through rates, user ratings in a search engine.
The overall ranking for each URL is assigned 503, in one embodiment, based on a simple implementation of an overall ranking function such as sorting a list of frequencies.
For example, the results (e.g., URLs) returned for an example query executed against three separate search engines 1, 2, and 3 are ranked as shown in Table 1 below (501).
The frequency of each URL returned in response to the query is determined (502), for example, using equation 1 above. A list of example frequencies is shown in table 2 below.
To assign (503) a total rank to each ULR, the frequency list is sorted. When classified, the example frequencies shown in table 2 are ranked as shown in table 3 below. The ranking may be determined using equation 2 and/or equation 3 above, or according to another ranking model.
TABLE 3
These rankings may be presented to a user and/or for further processing, for example.
In one embodiment, results returned from several search engines are merged 504 using URL frequency and/or search engine ranking. For example, as shown in Table 4 below, the frequencies of URLs returned with the respective search engines may be summed.
The search engine results may then be ranked according to their summed URL frequency. Ranking according to the example results shown in table 4, search engine 2 results rank first, search engine 1 results rank second, and search engine 3 results rank third (e.g., one or more other criteria may be used to distinguish between equally scored results). Thus, presented according to a packet format (e.g., packet presentation format 312; FIG. 3A), example results are shown below in Table 5.
TABLE 5
Equivalent, extension, substitution & mixing
Thus, example embodiments are described that relate to a readable physical backup database system. In the foregoing specification, embodiments of the invention have been described with reference to numerous specific details that may vary from implementation to implementation. Thus, the sole and exclusive indicator of what is the invention, and is intended by the applicants to be the invention, is the set of claims that issue from this application, in the specific form in which such claims issue, including any subsequent correction. Any definitions expressly set forth herein for terms contained in such claims shall govern the meaning of such terms as used in the claims. Hence, no limitation, element, property, feature, advantage or attribute that is not expressly recited in a claim should limit the scope of such claim in any way. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.
Claims (26)
1. A method for performing a federated search, comprising the steps of:
generating a generated query based at least in part on a search query;
submitting the generated query to a particular search engine;
in response to submitting the generated query to a particular search engine, receiving results from the particular search engine indicative of a first plurality of search engines;
selecting a second plurality of search engines from the first plurality of search engines;
submitting one or more search queries to the second plurality of search engines in order to obtain search results for the search query;
for each search engine of the second plurality of search engines, receiving certain search results for the one or more search queries submitted to that search engine; and
combining the certain search results received from each of the second plurality of search engines to produce a combined set of search results;
presenting the merged set of search results to a user, wherein particular search results in the merged set of search results are visually grouped into groups of search results based on a search engine receiving each of the particular search results.
2. The method of claim 1, wherein the results indicative of the first plurality of search engines are based at least in part on information describing each of the first plurality of search engines.
3. The method of claim 1, wherein submitting one or more search queries to the second plurality of search engines further comprises:
generating a particular query based at least in part on the certain search query; and
submitting the particular query to at least one search engine of the second plurality of search engines.
4. The method of claim 1, wherein one or more of the second plurality of search engines comprises a web site.
5. The method of claim 1, wherein said selecting a second plurality of search engines comprises selecting a search engine index.
6. The method of claim 1, wherein the merging includes combining results returned from each of the second plurality of search engines into a single set of search results for presentation to an end user submitting the certain search query.
7. The method of claim 6, wherein the single set of search results is ranked according to relevance.
8. The method of claim 1, wherein merging the certain search results is based at least in part on preferences of an end user submitting the certain search query.
9. The method of claim 1, wherein the first and second light sources are selected from the group consisting of a red light source, a green light source, and a blue light source,
wherein selecting the second plurality of search engines from the first plurality of search engines is based at least in part on a ranking of each search engine of the first plurality of search engines; and is
Wherein the second plurality of search engines comprises the most relevant search engine from the first plurality of search engines;
wherein the most relevant search engine is determined based on the ranking of the first plurality of search engines.
10. The method of claim 1, wherein the merging comprises merging results received from the second plurality of search engines into a plurality of sets of search results, the search results corresponding to each search engine of the second plurality of search engines for presentation to an end user submitting the certain search query.
11. The method of claim 1, further comprising:
determining a rank for each search engine of the second plurality of search engines;
wherein presenting the merged set of search results further comprises ranking the group of search results based on the rank of each search engine of the second plurality of search engines.
12. The method of claim 1, further comprising:
presenting a list of the second plurality of search engines to the user;
wherein the listing of the second plurality of search engines is visually independent of the merged set of search results.
13. The method of claim 1, wherein the merged set of search results includes a reference to a search engine of the second plurality of search engines, the method further comprising:
receiving a selection of the certain search engine from the user; and
in response to receiving a selection of the certain search engine, displaying search results from the certain search engine.
14. A system for performing a federated search, comprising:
means for generating a generated query based at least in part on a search query;
means for submitting the generated query to a particular search engine;
means for receiving results indicative of a first plurality of search engines from a particular search engine in response to submitting the generated query to the particular search engine;
means for selecting a second plurality of search engines from the first plurality of search engines;
means for submitting one or more search queries to the second plurality of search engines in order to obtain search results for the search query;
means for receiving, for each search engine of the second plurality of search engines, certain search results for the one or more search queries submitted to that each search engine; and
means for merging the certain search results received from each of the second plurality of search engines to produce a merged set of search results;
means for presenting the consolidated set of search results to a user, wherein particular search results of the consolidated set of search results are visually grouped into groups of search results based on a search engine receiving each of the particular search results.
15. The system of claim 14, wherein the results indicative of the first plurality of search engines are based at least in part on information describing each of the first plurality of search engines.
16. The system of claim 14, wherein the means for submitting one or more search queries to the second plurality of search engines further comprises:
means for generating a particular query based at least in part on the certain search query; and
means for submitting the particular query to at least one search engine of the second plurality of search engines.
17. The system of claim 14, wherein one or more of the second plurality of search engines comprises a web site.
18. The system of claim 14, wherein the means for selecting the second plurality of search engines comprises means for selecting a search engine index.
19. The system of claim 14, wherein the means for merging comprises means for combining results returned from each of the second plurality of search engines into a single set of search results for presentation to an end user submitting the certain search query.
20. The system of claim 19, wherein the single set of search results is ranked according to relevance.
21. The system of claim 14, wherein merging the certain search results is based at least in part on preferences of an end user submitting the certain search query.
22. The system of claim 14, wherein the first and second sensors are arranged in a single unit,
wherein selecting a second plurality of search engines from the first plurality of search engines is based at least in part on the ranking of each search engine of the first plurality of search engines; and is
Wherein the second plurality of search engines comprises the most relevant search engine from the first plurality of search engines;
wherein the most relevant search engine is determined based on the ranking of the first plurality of search engines.
23. The system of claim 14, wherein the means for merging comprises means for merging results received from the second plurality of search engines into a plurality of search result sets for presentation to an end user submitting the certain search query, wherein the search results correspond to each of the second plurality of search engines.
24. The system of claim 14, further comprising:
means for determining a rank for each search engine of the second plurality of search engines;
wherein means for presenting the merged set of search results further comprises means for ranking the group of search results based on the rank of each search engine of the second plurality of search engines.
25. The system of claim 14, further comprising:
means for presenting a list of the second plurality of search engines to the user;
wherein the listing of the second plurality of search engines is visually independent of the merged set of search results.
26. The system of claim 14, wherein the merged set of search results includes a reference to a search engine of the second plurality of search engines, the system further comprising:
means for receiving a selection of the certain search engine from the user; and
means for displaying search results from the certain search engine in response to receiving the selection of the certain search engine.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/707,684 | 2007-02-16 | ||
| US11/707,684 US7930286B2 (en) | 2007-02-16 | 2007-02-16 | Federated searches implemented across multiple search engines |
| PCT/IB2008/002738 WO2009066140A2 (en) | 2007-02-16 | 2008-02-12 | Federated search implemented across multiple search engines |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1140839A1 HK1140839A1 (en) | 2010-10-22 |
| HK1140839B true HK1140839B (en) | 2014-01-10 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101641694B (en) | Federated search through several search engines | |
| US7756867B2 (en) | Ranking documents | |
| KR101298334B1 (en) | Techniques for including collection items in search results | |
| US8046347B2 (en) | Method and apparatus for reconstructing a search query | |
| US8745039B2 (en) | Method and system for user guided search navigation | |
| RU2398272C2 (en) | Method and system for indexing and searching in databases | |
| US6480837B1 (en) | Method, system, and program for ordering search results using a popularity weighting | |
| AU2009277143B2 (en) | Federated community search | |
| US8843481B1 (en) | System and method of forming action based virtual communities and related search mechanisms | |
| US20080208808A1 (en) | Configuring searches | |
| US20100125781A1 (en) | Page generation by keyword | |
| US8180751B2 (en) | Using an encyclopedia to build user profiles | |
| US8438469B1 (en) | Embedded review and rating information | |
| Baeza-Yates et al. | Next generation Web search | |
| Markines et al. | Bookmark hierarchies and collaborative recommendation | |
| CN103646034A (en) | Web search engine system and search method based content credibility | |
| Koren et al. | Searching and navigating petabyte-scale file systems based on facets | |
| CN101133415A (en) | Server, method and system for providing information search service using page set | |
| HK1140839B (en) | Federated search implemented across multiple search engines | |
| HK1187711A (en) | Federated search implemented across multiple search engines | |
| Wiza | Interactive 3D visualization of search results |