WO2010000211A1 - 搜索方法、搜索服务器和搜索系统 - Google Patents
搜索方法、搜索服务器和搜索系统 Download PDFInfo
- Publication number
- WO2010000211A1 WO2010000211A1 PCT/CN2009/072649 CN2009072649W WO2010000211A1 WO 2010000211 A1 WO2010000211 A1 WO 2010000211A1 CN 2009072649 W CN2009072649 W CN 2009072649W WO 2010000211 A1 WO2010000211 A1 WO 2010000211A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- search
- query
- request
- engine
- search engine
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24532—Query optimisation of parallel queries
Definitions
- the present invention relates to the field of network technologies, and more particularly to a search method, a search server, and a search system. Background technique
- the search engine collects and discovers information on the Internet according to certain strategies, and understands, extracts, organizes and processes the information to provide the user with the required retrieval service.
- the search engine system can be classified into a catalog search system, a robot search system, and a meta search system according to different information collection methods and service delivery methods.
- the catalogue search system and the robot search system discover and search information on the Internet by hand or robot, form their own information database, query the results in their own information database according to the user's query request, and return the result to the user.
- the meta search system does not have its own information database, but submits the user's query request to multiple search engines at the same time, and repeats the results of the returned results, and then returns them to the user as their own results.
- each search engine firstly registers with the search server independently, and publishes its search capability.
- the search capability includes a call template of the search engine, and the query request sent by the user needs to follow the format of the call template of the search engine.
- the calling template of the existing search engine only supports one query request at a time, so when the user queries, the search server can only send one query request to the search engine at a time. If the user inputs "apple”, "apple” can trigger a query on the computer class, or trigger a query on the fruit class.
- the search server first sends a query to one of the search types to the search engine, searching.
- the server then sends a query to the search engine for another search type, that is, a query request is sent for one search type, and after the corresponding result is queried, the two types of results are synthesized and returned to the user.
- search for different user inputs
- the request the search server sends a query request corresponding to one user to the search engine each time, several users send the query request several times, and finally return all the results to the corresponding user.
- the embodiments of the present invention provide a search method, a search server, and a search system, which are used to solve the problem of low query efficiency existing in the prior art.
- an embodiment of the present invention provides a search method, including:
- the embodiment of the invention further provides a search server, including:
- a query processing module configured to receive a search request sent by the search client
- the query control module is configured to convert the search request into a multi-query request, and send the multi-query request to the search engine supporting the multi-query request according to the pre-stored search engine capability information.
- the embodiment of the invention further provides a search system, including:
- the search server is configured to receive a search request sent by the search client, convert the search request into a multi-query request, and send the multiple query request to the multi-query request according to the pre-acquired search engine capability information. a search engine, and sending the search result sent by the search engine supporting the multiple query request to the search client;
- the search engine is configured to send a search result to the search server according to the multiple query request when having the capability of supporting the multiple query request.
- the embodiment of the present invention performs the search request of the search client. Processing, converted to multiple query requests, can enable multiple query requests to carry multiple query requests, thus improving query efficiency.
- Embodiment 1 is a schematic flow chart of Embodiment 1 of a search method according to the present invention.
- Embodiment 2 is a schematic flowchart of Embodiment 2 of a search method according to the present invention
- Embodiment 3 is a schematic flowchart of Embodiment 3 of a search method according to the present invention.
- Embodiment 4 is a schematic flowchart of Embodiment 4 of a search method according to the present invention.
- FIG. 5 is a schematic diagram of a process for a search engine to register with a search server in an embodiment of a search method according to the present invention
- Embodiment 1 of a search server is a schematic structural diagram of Embodiment 1 of a search server according to the present invention.
- Embodiment 7 is a schematic structural diagram of Embodiment 2 of a search server according to the present invention.
- Embodiment 8 is a schematic structural diagram of Embodiment 1 of a search system according to the present invention.
- FIG. 9 is a schematic structural diagram of Embodiment 2 of a search system according to the present invention. detailed description
- FIG. 1 is a schematic flowchart of Embodiment 1 of a search method according to the present invention, including:
- the search server receives the search request sent by the search client.
- the search request may be a search request sent by the search client, and the search request may trigger multiple search types of a search engine, and the search type includes a computer class, an electrical class, a fruit class, etc., such as a search client input.
- the apple can trigger the query of the computer, appliance, and fruit of the first search engine.
- the search request may also be a search request sent by multiple search clients, such as "apple” sent by the first search client, "benq" sent by the second search client, and the like.
- Step 12 The search server converts the search request into a multi-query request, and sends the multi-query request to the search index supporting the multi-query request according to the pre-stored capability information of the search engine.
- the multi-query request is composed of query requests that trigger different search types. If the request for triggering the computer query of the first search engine is the first query request, the request for triggering the electrical query of the first search engine is the second query request, and the request for triggering the fruit query of the first search engine is the third query.
- the request, then the multi-query request at this time includes a first query request, a second query request, and a third query request.
- a situation in which multiple search clients can trigger the same search engine (the second case), which is composed of search requests sent by different search clients.
- the "apple" input by the first search client can trigger the query of the first search engine computer class
- the "benq" input by the second search client can also trigger the query of the first search engine computer class, assuming that the first search client
- the fourth query request corresponds to the fourth query request
- the second query request corresponds to the second search request
- the multiple query request includes the fourth query request and the fifth query request.
- the foregoing process may be implemented by the search server to query the search engine.
- the embodiment may further include:
- Step 13 The search server receives the search result sent by the search engine, processes the search result, and sends the search result to the search client. Specifically, after the search engine that supports the multi-query request queries the corresponding result, the corresponding multiple query results may be carried in the same search result and returned, or may be returned as different search results. For the first case, the search engine will carry the first query result corresponding to the first query request, and the second query result corresponding to the second query request and the third query result corresponding to the third query request are carried in the same search result. Returned to the search server, you can also return these three query results to the search server as three search results.
- the search engine carries the fourth query result corresponding to the fourth query request and the fifth query result corresponding to the fifth query request in the same search result, and returns the result to the search server, or the fourth query result.
- the fifth query result is returned to the search server as two search results.
- the search server can carry multiple query requests at a time in the multi-query request sent by the search engine, so as to avoid that only one query request can be carried in the prior art. Inefficient query, Improve query efficiency.
- FIG. 2 is a schematic flowchart of a second embodiment of a search method according to the present invention.
- a search request is sent by a search client, and the search request may trigger a different search type of a search engine as an example.
- the embodiment includes:
- Step 201 The search client sends a search request to the search server, for example, the search client sends the keyword "apple" to the search server.
- Step 202 The search server analyzes the search request, and converts the search request into a multi-query request. Specifically, the search server may convert the search request into a multi-query request according to the pre-stored search engine capability information, such as the search type supported by the search engine.
- This embodiment is directed to the first case described above.
- the multiple query request in this embodiment includes a first query request, a second query request, and a third query request.
- Step 203 The search server sends a search engine including a multi-query request to support a multi-query request.
- the first query request, the second query request, and the third query request are all supported by the first search engine, so the multi-query request including the first query request, the second query request, and the third query request is sent to the first search engine.
- the query interface in the prior art only includes one query request, and this embodiment includes multiple query requests.
- the specific code is as follows, where code one is the code of the existing query interface, and code two is the code of the query interface in this embodiment:
- each individual query request can be controlled separately, such as the number of returns of each query result, the first query result returns 1 record, the second query returns 10 records, and so on.
- the above code must meet the calling template format when the search engine is registered.
- the calling template format is specifically described in the subsequent search engine registration process.
- Step 204 The search engine returns a corresponding multi-search result to the search server. After the first search engine queries the results corresponding to the computer class, the appliance class, and the fruit class according to the multi-query request, the plurality of query results are carried in a search result, that is, the multi-search result is returned to the search server.
- the result interface in the prior art only includes one query result, and the embodiment includes multiple query results.
- the specific code is as follows, where code 3 is the code of the existing result interface, and code 4 is the code of the result interface in the embodiment: Since multiple search results carry multiple query results, it is necessary to perform the existing single search result. For the comparison of the two, see the following code, where code 3 is the code of the existing single search result, and code 4 is the code of the multiple search result of the embodiment.
- Example. com ⁇ /description> ⁇ describes the total number of results returned ⁇ opensearch: itemsPerPage>10 ⁇ /opensearch:itemsPerPage> ⁇ returns the number of results per page
- each channel in the above code represents a query result corresponding to a query request, and it can be seen from the code 3 that there is only one channel item, so only one query result is included, and the code four includes multiple query results (shown It is three).
- Step 205 The search server identifies the search result according to the search type identifier. Corresponding to each query request in the multi-query request, there is a corresponding search type identifier, and the query result corresponding to each query request carries the same search type identifier as the query request. After receiving the query result returned by the search engine, the search server can identify it according to the search type identifier, and then perform corresponding processing, for example, one result of the computer class can be retained, and three results of the fruit class can be retained.
- the above method shows the flow of multiple queries. Due to the search request sent by the search client, multiple search engines may be triggered at the same time. If the search engine supporting the above multiple query request includes another search engine, it also triggers another search.
- the simultaneously triggered search engine includes a search engine that only supports a single query request, and the search client inputs "apple" as an example, if the second The search engine only supports the query of the computer class.
- the third search engine only supports the query of the fruit class.
- the search server receives the "apple”, it not only triggers the query to the first search engine, but also triggers the search engine and the second search engine.
- Three search engine queries Just because the second search engine and the third search engine only support a single type of query, the search server sends a single query request to the second search engine and the third search engine, and the processing thereof can be performed as in the prior art. Therefore, this embodiment may further include:
- Step 206 The search server sends a single query request to the second search engine.
- Step 207 The second search engine returns a corresponding single search result to the search server.
- Step 208 The search server sends a single query request to the third search engine.
- Step 209 The third search engine returns a corresponding single search result to the search server.
- the query requests sent by the search server to the first search engine, the second search engine, and the third search engine may be performed in chronological order or simultaneously.
- the search client identifier or the search client file may be carried, so that the search engine searches for the client identifier or searches according to the search client.
- the client file obtains search results that meet the personalized needs of the search client.
- the foregoing method is implemented by the search server to obtain the search result returned by each search engine.
- the embodiment further includes:
- Step 210 The search server processes the search results. Specifically, the search server may integrate the search results, such as deduplication and filtering, and may also perform personalized processing according to the search client identifier or the search client file.
- Step 211 The search server returns the processed search result to the search client.
- multiple query requests can be carried in one query process between the search server and the search engine, avoiding the prior art. Searching for only one query request in the process of inefficiency can improve search efficiency. Moreover, the search engine can further improve the query efficiency by carrying a plurality of query results corresponding to the plurality of query requests in the same search result to the search server.
- the search server After the search server receives the search result returned by the search engine, the search server returns the personalized data to the search client in combination with the search client identifier or the search client file, and satisfies the requirement of the search client personalized search.
- Step 301 The first search client sends a first search request to the search server, such as sending the keyword "apple"ippo
- Step 302 The second search client sends a second search request to the search server, such as sending the keyword "benq,".
- Step 303 After the search server analyzes the search request sent by the search client, the two search requests are combined to form a multi-query request. If the search server is based on the capability information registered by each search engine, such as the first search engine supporting the computer type query, the two search clients are sent. The sent search requests are merged to form a multi-query request. That is, in the second case, the multi-query request in this embodiment includes a fourth query request and a fifth query request.
- multiple search clients trigger the same type of the same search engine as an example. Alternatively, if multiple search clients trigger different search types, if there is a search engine, the multiple search engines can support the multiple types. Search type, in this case, the search requests of the multiple search clients can also be combined to form a multi-query request.
- Step 304 The search server sends the merged multi-query request to the search engine that supports the multi-query request. Since the multiple query request of the embodiment includes the fourth query request and the fifth query request, as in the second embodiment, the existing query interface needs to be extended to include multiple query requests.
- the specific code is as follows, different query requests are separated by "
- the search engine returns the corresponding search results to the search server.
- the search result in this embodiment includes a plurality of query results corresponding to the plurality of query requests, that is, the plurality of query results are carried back in the same search result.
- the specific code is as follows:
- Each channel item corresponds to a query result. It can be seen from the above code that the search result carries multiple query results (two are shown).
- Step 306 The search server performs a recognition process on the search result, and obtains a first search result corresponding to the first search client, corresponding to the second search result of the second search client.
- the identification of the search result is performed according to the search type identifier.
- the identification process may be performed according to the identifier of the client.
- it can also be personalized.
- Step 307 The search server sends the first search result corresponding to the first search client to the first search client.
- the specific code is:
- the channel item in the step code is used to describe the first search result.
- Step 308 The search server sends a second search result corresponding to the second search client to the second search client.
- the specific code is:
- the channel item in the step code is used to describe the second search result.
- two search clients are taken as an example, and the principle can be applied to expand into multiple search clients.
- the same search type that triggers the same search engine is taken as an example, or the search requests of multiple search clients may be combined into multiple query requests, and the multiple search request may trigger different search types of the same search engine according to the second embodiment. .
- multiple query requests can be carried in one query process between the search server and the search engine, thereby improving query efficiency.
- the search engine can carry the queryed multiple query results in a search result, thereby further improving the query efficiency.
- the search server After the search server receives the search result returned by the search engine, the search server returns the personalized data to the search client in combination with the search client identifier or the search client file, and satisfies the requirement of the search client personalized search.
- FIG. 4 is a schematic flowchart of a fourth embodiment of a search method according to the present invention.
- two search clients send search requests, and two corresponding search requests can trigger the same search engine, and the search engine treats multiple query results as different.
- the search results are respectively returned as an example.
- the embodiment includes steps 301-304 in the third embodiment shown in FIG. 3, except that the embodiment further includes:
- Step 405 The search engine sends the first search result obtained by the first search client to the search server.
- the code of the first search result is specifically:
- the channel item in this step is used to describe the first search result.
- Step 406 The search server performs identification processing on the first search result. As shown in the third embodiment, the identification process may be performed according to the client identifier carried in the search result, to determine that the first search result corresponds to the first search client, so as to be sent to the first search client.
- Step 407 The search server sends the first search result processed in the previous step to the first search client.
- the specific code is:
- the channel item in this step is used to describe the first search result.
- Step 408 The search engine sends the second search result obtained by the second search client to the search server.
- the code is specifically:
- the channel item in this step is used to describe the second search result.
- Step 409 The search server performs identification processing on the second search result of the second search client.
- the identification process may be performed according to the client identifier carried in the search result, to determine that the second search result corresponds to the second search client, so as to be sent to the second search client.
- Step 410 The search server sends the second search result processed in the previous step to the second search client.
- the specific code is:
- the channel item in this step is used to describe the second search result.
- two search clients are taken as an example, and the principle can be extended to multiple search clients by using the principle; in this embodiment, the same search type that triggers the same search engine is taken as an example, or the search requests of multiple search clients may be combined into one.
- the multi-query request and referring to the second embodiment, the multi-query request can trigger different search types of the same search engine.
- multiple query requests can be carried in one query process between the search server and the search engine, thereby improving query efficiency.
- the search engine can carry the plurality of query results that are queried separately in the plurality of search results, and in another way, the search client obtains the search result, and the search mode is diversified.
- the search server After the search server receives the search result returned by the search engine, the search server returns the personalized data to the search client in combination with the search client identifier or the search client file, and satisfies the requirement of the search client personalized search.
- the search server stores the capability information of each search engine, so the search engine is required to register with the search server in advance, that is, the search client of each embodiment sends the search client to the search server.
- a search engine with multiple query support capabilities needs to register with the search server and publish its capability information.
- the existing registration interface needs to be extended. Similar to the above query interface and result interface, the declaration interface here also needs to extend the existing registration interface.
- Each call template in the existing registration interface includes only one query request, and only supports single query request; The registration interface in the example supports multiple query requests per call template.
- Code 5 is the existing registration interface code
- Code 6 is the registration interface code extended by the direct declaration form of the embodiment
- Code 7 is the registration interface code extended by the direct modification of the calling template in this embodiment.
- the code 5 shows the code items included in the registration code in detail. From the number of calling template items, the format of the calling template supported by the search engine is As can be seen from the number of query requests included in each call template, the search engine in the prior art only supports single query requests; in comparison, the code six passes
- the above code can also be a synthesis of different calling templates supported.
- the search engine registers the class with the search server.
- the code used in the type is:
- each search engine may use different search types to describe the same type of keywords, such as the keyword entered by the search client is "apple"
- the first search engine may describe the keyword in a computer class
- the second search engine may use a computer. Class to describe this same keyword. Therefore, the tag about the keyword registered by the first search engine to the search server is a computer class, and the tag registered by the second search engine to the search server about the keyword is a computer class, since the tag can only be recognized by a person. That is, the search server does not recognize that the two types are substantially the same, and may be handled as two types. Therefore, when the search client inputs the keyword, the search server may only trigger one search engine, causing information to be missed.
- each search engine needs to register with the search server, including the search type.
- the specific process is as follows:
- FIG. 5 is a schematic diagram of a process for a search engine to register with a search server in an embodiment of a search method according to the present invention, including:
- Step 51 The search engine sends a query request to the search server, where the query request is used to query all search engines in the search server to the search type registered in the search server, or to query the search engine to be registered. Whether the type exists.
- the code is specifically: Querytype(all) or Querytype(name)?
- Step 52 The search server returns a list of search types, or returns whether the search type of the search engine query exists.
- Step 53 If the search type registered in the search server does not include a search type to be registered, the search engine sends a type registration request to the search server, where the type registration request is used to register with the search server. The type of search to be registered.
- Step 54 The search server returns OK to the search engine indicating that the new search type is successfully registered.
- Step 55 If the search type to be registered is successfully registered in the search server, the search engine sends a registration request to the search server, where the search request carries the search The information of the engine and the type of search that the registration was successful.
- the specific code can be:
- ⁇ /type> ⁇ indicates the newly registered search type
- Step 56 The search server returns OK, indicating that the search engine registration is successful.
- the method includes the steps of the foregoing method embodiments; and the foregoing storage medium includes: a medium that can store program codes, such as a ROM, a RAM, a magnetic disk, or an optical disk.
- FIG. 6 is a schematic structural diagram of Embodiment 1 of a search server according to the present invention.
- the embodiment includes: a query processing module 61 and a query control module 62.
- the query processing module 61 is configured to receive a search request sent by the search client; the query control module 62 is configured to convert the search request into a multi-query request, according to The pre-stored search engine capability information sends the multi-query request to a search engine that supports the multi-query request.
- the above-mentioned module implements the query of the search server to the search engine.
- the embodiment may further include a result processing module 63, configured to receive the search result sent by the search engine, and send the search result to the search result. Give the search client.
- FIG. 7 is a schematic structural diagram of Embodiment 2 of the search server of the present invention.
- the query control module in this embodiment specifically includes a request analysis module 71, a request distribution module 72, and a request synthesis module 73.
- the request analysis module 71 is configured to convert the search request into a plurality of query requests, the plurality of query requests being used to trigger different search engines of different search categories, that is, the plurality of query requests correspond to different searches of different search categories engine.
- the query requests for triggering the first search engine computer class, the appliance class, and the fruit class are the first query request, the second query request, and the third query request, respectively, triggering the query request of the second search engine computer class.
- the query request for triggering the third search engine fruit class is the seventh query request
- the plurality of query requests converted by the search request (apple) sent by the search client include the first query request and the second query request.
- the third query request, the sixth query request, and the seventh query request are the fourth query request
- the query request corresponding to the second search client is the fifth query request
- the multi-query request converted by the sent query request and the query request sent by the second search client includes a fourth query request and a fifth query request.
- the request distribution module 72 is configured to store the plurality of query requests in a request queue of different search engines according to the pre-stored capability information of the search engine.
- the sixth query request is stored in the request queue of the second search engine
- the seventh query request is stored in the request queue
- the third search engine is in the request queue.
- the fourth query request and the fifth query request are stored in the request queue of the first search engine.
- the request synthesis module 73 is configured to request multiple query requests in the same request queue according to preset conditions.
- the composition is a multi-query request sent to a search engine that supports the multi-query request.
- the preset condition may be that a plurality of query requests in the same search engine request queue are combined into one multi-query request every one second or after more than five query requests.
- the first query request, the second query request, and the third query request are combined into a multi-query request sent to the first search engine.
- the fourth query request and the fifth query request are combined into a multi-query request sent to the first search engine.
- For the sixth query request and the seventh query request since only one query request is included in the request queue of one search engine, no merge is needed, and the same processing as the single query request in the prior art can be performed.
- the result processing module in this embodiment may specifically include a result parsing module 74 and a result synthesizing module 75.
- the result parsing module 74 is configured to receive a plurality of query results corresponding to the multi-query request sent by a search engine that supports the multi-query request, and store the plurality of query results in a result queue of a corresponding different search engine. If the search result returned by the first search engine is stored in the result queue of the first search engine, the search result returned by the second search engine is stored in the result queue of the second search engine.
- the result synthesizing module 75 is configured to process the plurality of query results, and send the processed plurality of query results as search results to the search client. Such as deduplication, filtering, etc.
- this embodiment may also include an engine management module 76 and an engine type registration library 77.
- the engine management module 76 is configured to perform registration management on each search engine and store capability information of each search engine.
- the engine type registration library 77 is used to store the search type, and the engine management module 76 performs unified type management on each search engine according to the search type stored in the engine type registration library 77, thereby avoiding the problem of chaotic search type caused by each engine freely defined type.
- the personalized data may be returned to the search client in combination with the search client identifier or the search client file.
- the embodiment may further include searching the client data module. 78, used to store the search client identifier or search the client file.
- multiple query requests can be carried in a multi-query request, so that multiple query requests can be queried in one query process, which improves query efficiency.
- the embodiment can also provide search client data information, so that the search result satisfies the personalized needs of the search client.
- the embodiment can perform centralized management on each search engine, avoiding the problem of search type registration confusion of the search engine, and increasing the scheduling capability of the search engine.
- FIG. 8 is a schematic structural diagram of Embodiment 1 of a search system according to the present invention.
- the embodiment includes a search server 81 and a search engine 82.
- the search server 81 is configured to receive a search request sent by the search client, convert the search request into a multi-query request, send it to the search engine 82 supporting the multi-query request, and send the search result sent by the search engine 82 to the search.
- the client; the search engine 82 supports a multi-query request for transmitting search results to the search server 81 in accordance with the multi-query request.
- At least one search engine, if there are multiple search engines supporting multiple query requests, the search engine in Figure 8 is a plurality of search engines that support multiple query requests.
- the search server 81 may be specifically configured to receive a search request of a search client, where the search request is used to trigger different search types of the search engine, that is, the search request corresponds to different search types of the search engine.
- the search client inputs "apple”, triggers the computer search of the first search engine, triggers the fruit search of the first search engine, and the like.
- the search server 81 is specifically configured to receive multiple search requests of multiple search clients. For example, the "apple" sent by the first search client is received, and the "benq" sent by the second search client is received. Both requests will trigger a query for the computer class of the first search engine.
- the search engine 82 is specifically configured to: after querying the corresponding multiple query results according to the multiple query request, carrying the multiple query results in a search result and sending the search result to the search server, for example, corresponding to the first search client.
- the sent search request is the first result
- the search result sent by the second search client is the second result
- the search engine carries the two results in a search result and sends the result to the search server.
- the search engine 82 is specifically configured to send the multiple query results as multiple search results after querying the corresponding multiple query results according to the multiple query request.
- the search server may determine the query result corresponding to each query request in the multi-query request according to the search type identifier or the client identifier. After the first result is queried, it is returned to the search server as the first search result, and the second result is queried and sent to the search server again as the second search result.
- the search server 81 further includes a first unit, where the first unit is configured to perform registration management on the search engine 82 to obtain capability information of the search engine. Specifically, the first unit of the search server 81 is specifically configured to perform registration management on the search engine 82 according to the stored search type, and acquire capability information of the search engine. The search server 81 is configured to send the multi-query request to the search engine 82 supporting the multi-query request based on the acquired capability information of the search engine.
- FIG. 9 is a schematic structural diagram of Embodiment 2 of a search system according to the present invention.
- the embodiment further includes: a search client 83, configured to send a search request to the search server, and receive the search server to return. Search results.
- the search client 83 can be one or more. If one, the search request sent by the search client can trigger a different search type for a search engine.
- the search server 81 receives the search request sent by the search client 83 and converts the search request into a multi-query request and sends it to the search engine 82 that supports the multi-query request. After the search engine 82 queries the corresponding result, it returns to the search client 83 through the search server 81.
- the search client 83 can also be multiple. Multiple search requests sent by multiple search clients can trigger the same search engine.
- the search server 81 receives the search request sent by the plurality of search clients 83 and converts the search request into a multi-query request and sends it to the search engine 82 that supports the multi-query request. After the search engine 82 queries the corresponding result, it returns to the corresponding search client 83 through the search server 81.
- This embodiment can carry multiple query requests in one multi-query request, so it can improve the check Ask for efficiency.
- the multi-query request can be triggered by a search client, or can be triggered by multiple search clients to meet the application requirements of multiple scenarios.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
搜索方法、 搜索服务器和搜索系统 技术领域
本发明涉及网络技术领域, 尤其是一种搜索方法、 搜索服务器和搜索系 统。 背景技术
随着因特网的迅猛发展、 网络信息的增加, 为使用户能够在信息海洋里 查找到需要的信息, 搜索引擎技术应运而生。 搜索引擎按照一定的策略在互 联网中搜集、 发现信息, 对信息进行理解、 提取、 组织和处理, 以便为用户 提供需要的检索服务。 按照信息搜集方法和服务提供方式的不同, 搜索引擎 系统可以分为目录式搜索系统、 机器人搜索系统和元搜索系统。 目录式搜索 系统和机器人搜索系统是通过人工或机器人在互联网中发现和搜索信息, 形 成自己的信息数据库, 根据用户的查询请求在自己的信息数据库中查询获得 结果, 将结果返给用户。
元搜索系统没有自己的信息数据库, 而是将用户的查询请求同时向多个 搜索引擎递交, 将返回的结果进行重复排除、 重新排序等处理后, 作为自己 的结果返回给用户。 元搜索系统中, 各搜索引擎首先各自独立地向搜索服务 器注册, 公布其搜索能力, 搜索能力中包括搜索引擎的调用模板, 用户发送 的查询请求需要遵循搜索引擎的调用模板的格式。 现有搜索引擎的调用模板 每次只支持一个查询请求, 因此用户在查询时, 搜索服务器一次只能向搜索 引擎发送一个查询请求。 如用户输入 "apple" , "apple" 可以触发对电脑类的 查询, 也可以触发对水果类的查询, 则现有技术中是搜索服务器向搜索引擎 先发送对其中一种搜索类型的查询, 搜索服务器再向搜索引擎发送对另一种 搜索类型的查询, 即对应一种搜索类型发送一次查询请求, 查询出对应的结 果后, 将两种类型的结果合成向用户返回。 或者, 对于不同用户输入的搜索
请求, 搜索服务器每次向搜索引擎发送对应于一个用户的查询请求, 有几个 用户发送几次查询请求, 最后将所有的结果合并分析返回给相应的用户。
在实现本发明的过程中, 发明人发现现有技术中至少存在如下问题: 现 有技术中一次只能执行一个查询请求, 在查询量大的情况下, 搜索服务器和 搜索引擎之间需要进行多次交互, 效率低下。 发明内容
本发明实施例提供一种搜索方法、 搜索服务器和搜索系统, 用以解决现 有技术中存在的查询效率低的问题。
为此, 本发明实施例提供了一种搜索方法, 包括:
接收搜索客户端发送的搜索请求;
将所述搜索请求转换为多查询请求, 根据预存储的搜索引擎的能力信息 将所述多查询请求发送给支持所述多查询请求的搜索引擎。
本发明实施例还提供了一种搜索服务器, 包括:
查询处理模块, 用于接收搜索客户端发送的搜索请求;
查询控制模块, 用于将所述搜索请求转换为多查询请求, 根据预存储的搜 索引擎的能力信息将所述多查询请求发送给支持所述多查询请求的搜索引擎。
本发明实施例还提供了一种搜索系统, 包括:
搜索服务器和搜索引擎;
所述搜索服务器用于接收搜索客户端发送的搜索请求, 将所述搜索请求 转换为多查询请求, 根据预先获取的搜索引擎的能力信息将所述多查询请求 发送给支持所述多查询请求的搜索引擎, 并将支持所述多查询请求的搜索引 擎发送的搜索结果发送给所述搜索客户端;
所述搜索引擎, 用于在具有支持所述多查询请求的能力时, 根据所述多 查询请求向所述搜索服务器发送搜索结果。 由上述技术方案可知, 本发明实施例通过将搜索客户端的搜索请求进行
处理, 转换为多查询请求, 可以使一个多查询请求中携带多个查询请求, 因 此, 可以提高查询效率。 附图说明
图 1为本发明搜索方法实施例一的流程示意图;
图 2为本发明搜索方法实施例二的流程示意图;
图 3为本发明搜索方法实施例三的流程示意图;
图 4为本发明搜索方法实施例四的流程示意图;
图 5为本发明搜索方法实施例中搜索引擎向搜索服务器注册的流程示意 图;
图 6为本发明搜索服务器实施例一的结构示意图;
图 7为本发明搜索服务器实施例二的结构示意图;
图 8为本发明搜索系统实施例一的结构示意图;
图 9为本发明搜索系统实施例二的结构示意图。 具体实施方式
下面通过附图和实施例, 对本发明的技术方案做进一步的详细描述。 图 1为本发明搜索方法实施例一的流程示意图, 包括:
步骤 11 : 搜索服务器接收搜索客户端发送的搜索请求。 其中, 搜索请求 可以是一个搜索客户端发送的搜索请求, 该搜索请求可以触发一个搜索引擎 的多个搜索类型, 搜索类型包括电脑类、 电器类、 水果类等, 如某个搜索客 户端输入 "apple"可以触发第一搜索引擎的电脑类、 电器类、 水果类的查询。 该搜索请求还可以是多个搜索客户端发送的搜索请求, 如第一搜索客户端发 送的 "apple" , 第二搜索客户端发送的 "benq" 等。
步骤 12: 搜索服务器将所述搜索请求转换为多查询请求, 根据预存储的 搜索引擎的能力信息将所述多查询请求发送给支持所述多查询请求的搜索引
擎。 其中, 针对一个搜索客户端发送的可以触发一个搜索引擎的多个搜索类 型的情况(第一种情况), 该多查询请求是由触发不同搜索类型的查询请求组 成。 如触发第一搜索引擎的电脑类查询的请求为第一查询请求, 触发第一搜 索引擎的电器类查询的请求为第二查询请求, 触发第一搜索引擎的水果类查 询的请求为第三查询请求, 则此时多查询请求包括第一查询请求、 第二查询 请求和第三查询请求。 针对多个搜索客户端发送的可以触发同一个搜索引擎 的情况(第二种情况), 该多查询请求是由不同搜索客户端发送的搜索请求组 成。 如第一搜索客户端输入的 "apple" 可以触发第一搜索引擎电脑类的查询, 第二搜索客户端输入的 "benq" 也可以触发第一搜索引擎电脑类的查询, 假 设与第一搜索客户端对应的是第四查询请求, 与第二搜索客户端对应的是第 五查询请求, 则此时多查询请求包括第四查询请求和第五查询请求。
上述流程实现了搜索服务器向搜索引擎的查询, 为了向用户显示搜索结 果, 本实施例还可以包括:
步骤 13: 搜索服务器接收所述搜索引擎发送的搜索结果, 对所述搜索结 果处理后发送给所述搜索客户端。 具体可以为: 支持多查询请求的搜索引擎 查询出对应的结果后, 可以将对应的多个查询结果, 携带在同一个搜索结果 中同时返回, 也可以作为不同的搜索结果分别返回。 如针对上述的第一种情 况, 搜索引擎将对应第一查询请求的第一查询结果, 对应第二查询请求的第 二查询结果和对应第三查询请求的第三查询结果携带在同一个搜索结果中返 回给搜索服务器, 也可以将这三个查询结果作为三个搜索结果分别返回给搜 索服务器。 针对上述的第二种情况, 搜索引擎将对应第四查询请求的第四查 询结果和对应第五查询请求的第五查询结果携带在同一个搜索结果中返回给 搜索服务器, 或将第四查询结果和第五查询结果作为两个搜索结果向搜索服 务器分别返回。 本实施例通过将搜索客户端的搜索请求转换为多查询请求, 可以使搜索服务器向搜索引擎发送的多查询请求中一次可以携带多个查询请 求, 避免现有技术中一次只能携带一个查询请求造成的查询效率低下问题,
实现查询效率的提高。
图 2为本发明搜索方法实施例二的流程示意图, 本实施例以一个搜索客 户端发送搜索请求,该搜索请求可以触发一个搜索引擎的不同搜索类型为例, 该实施例包括:
步骤 201 : 搜索客户端向搜索服务器发送搜索请求, 如搜索客户端向搜 索服务器发送关键字 "apple"。
步骤 202: 搜索服务器对该搜索请求进行分析, 将该搜索请求转换为多 查询请求。 具体可以为: 搜索服务器根据预存储的搜索引擎的能力信息, 如 搜索引擎支持的搜索类型, 将搜索请求转换为多查询请求。 本实施例即针对 的是上述的第一种情况, 本实施例中的多查询请求包括第一查询请求、 第二 查询请求和第三查询请求。
步骤 203: 搜索服务器发送包括多查询请求给支持多查询请求的搜索引 擎。 如上述第一查询请求、 第二查询请求和第三查询请求均是第一搜索引擎 支持的, 因此将包括第一查询请求、 第二查询请求和第三查询请求的多查询 请求发送给第一搜索引擎。
由于现有技术中一次只携带一个查询请求(单查询请求), 而本实施例一 次携带多个查询请求(多查询请求), 因此需要对搜索服务器和搜索引擎的查 询接口进行扩展。 现有技术中的查询接口只包括一个查询请求, 本实施例包 括多个查询请求。 具体代码如下, 其中, 代码一为现有查询接口的代码, 代 码二为本实施例中的查询接口的代码:
代码一: http://example.com/?q= {searchTerms} &pw= {startPage?} 代码二: http:〃 example. com/?q=apple; type= electron; resultset=l ||?q=apple; type= fruit; resultset=10|| q=apple; type=computer;
〃不同的查询请求以 "II" 分隔。 并且通过对接口定义可以实现对每个单 独的查询请求都可以单独控制, 如每个查询结果的返回数量, 第一个查询结 果返回 1个记录, 第二个查询返回 10个记录等。
上述代码均需满足搜索引擎注册时的调用模板格式。 调用模板格式具体 在后续的搜索引擎注册流程中描述。
步骤 204: 搜索引擎向搜索服务器返回相应的多搜索结果。 第一搜索引 擎根据多查询请求查询出对应于电脑类、 电器类、 水果类的结果后, 将该多 个查询结果携带在一个搜索结果, 即多搜索结果中返回给搜索服务器。
由于现有技术中一次只携带一个查询请求(单查询请求), 相应的一次搜 索结果中只包括一个查询结果, 而本实施例中的搜索结果中携带多个查询结 果, 因此同查询请求时相同, 需要对结果接口进行扩展。 现有技术中的结果 接口只包括一个查询结果, 本实施例包括多个查询结果。 具体代码如下, 其 中, 代码三为现有结果接口的代码, 代码四为本实施例中的结果接口的代码: 由于多搜索结果中携带多个查询结果, 因此需要对现有的单搜索结果进行扩 展, 两者对比可参见下面的代码, 其中, 代码三为现有单搜索结果的代码, 代码四为本实施例多搜索结果的代码。
代码三:
<?xml version:" 1.0" encoding="UTF-8"?>
<rss version="2.0"
xmlns: opensearch= ] |2j^i2^0l ^ilB^Ql ¾iI£i ilJ
xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Example.com Search: Hua Wei history</title>〃标题 <link>http:〃 example. com/Hua+Wei+history</link>〃链接
<description>Search results for "Hua Wei history" at
Example. com</description>〃描述 回的结果总数
<opensearch: itemsPerPage> 10</opensearch: itemsPerPage>〃返回 结果每页数目
<atom:link rel=" search"
type="application/opensearchdescription+xml"
href="http:〃 example.com/opensearchdescription.xml >〃每个搜索 atom的链接
<opensearch: Query role="request" searchTerms="Hua Wei History" startPage="l " />//查询
<item>//每项结果的描述
<title>Hua Wei History</title>
<link>http://www^uawei om/cu/lweb/eguids/amerihist/nyc.html</link>
<description>
... A virtual tour and information on businesses ...
</description>
</item>
</channel>//只有一个查询结果
</rss>
代码二:
<?xml version=" 1.0" encoding="UTF-8"?>
<rss version="2.0"
xmlns: opensearch="http ://a9. com/-/spec/opensearch/ 1.1/"
xmlns:atom="http://www.w3.org/2005/Atom">
<opensearch: Query http:〃 example. com/?q=apple; type= electron ; resultset=l ||?q=apple ; type= fruit; resultset=10|| q=apple; type=computer; > <channel>
<atom:link rel=" search" type="application/opensearchdescription+xml" href="http:〃 example.com/opensearchdescription.xml >
<Transaction> 1 </Transaction>
<opensearch: Query searchTerms="apple" searchtype="electron' startPage=" 1 " />
<item>
<title>apple electron</title>
<link>http:〃 www.Huawei.com/ </link>
<description>
</description>
</item>
</channel>//第一个查询结果
<channel>
<transaction>2<transaction>
<opensearch: Query searchTerms="apple" searchtype="fruit" startPage=" 1 " />
<item>
<iteml>
</channel>//第二个查询结果
<channel>
<transaction>3 <transaction>
<opensearch: Query searchTerms="apple" searchtype="computer' startPage="l " />
<item>
<iteml>
</channel>//第三个查询结果
</rss>
其中, 上述代码中的每个 channel代表对应于一个查询请求的查询结果, 从代码三中可以看出只有一个 channel项, 因此只包括一个查询结果, 而代码 四包括多个查询结果(示出的是三个)。
步骤 205: 搜索服务器根据搜索类型标识识别搜索结果。 其中, 对应于 多查询请求中的每个查询请求, 具有相对应的搜索类型标识, 与每个查询请 求对应的查询结果与该查询请求携带相同的搜索类型标识中。 搜索服务器在 接收到搜索引擎返回的查询结果后, 便可以根据搜索类型标识进行识别, 进 而进行相应的处理, 如可以保留电脑类的 1个结果, 保留水果类的 3个结果 等。 上述方法示出了多查询的流程, 由于搜索客户端发送的搜索请求, 可能 同时触发多个搜索引擎, 如支持上述多查询请求的搜索引擎还包括另一个搜 索引擎, 则同时还会触发对另一个搜索引擎的查询, 具体处理流程如上述对 第一搜索引擎的处理; 或者, 同时触发的搜索引擎包括只支持单查询请求的 搜索引擎, 以搜索客户端输入 "apple" 为例, 若第二搜索引擎只支持电脑类 的查询, 第三搜索引擎只支持水果类的查询, 则搜索服务器接收到 "apple" 后, 不仅触发对第一搜索引擎的查询, 还会触发对第二搜索引擎和第三搜索 引擎的查询。 只是由于第二搜索引擎和第三搜索引擎只支持单类型查询, 因 此搜索服务器向第二搜索引擎和第三搜索引擎发送的是单查询请求, 对其处 理可以像现有技术一样进行。 因此, 本实施例还可以包括:
步骤 206: 搜索服务器向第二搜索引擎发送单查询请求。
步骤 207: 第二搜索引擎向搜索服务器返回相应的单搜索结果。
步骤 208: 搜索服务器向第三搜索引擎发送单查询请求。
步骤 209: 第三搜索引擎向搜索服务器返回相应的单搜索结果。
上述搜索服务器向第一搜索引擎、 第二搜索引擎、 第三搜索引擎发送的 查询请求不分时间先后顺序, 也可以同时执行。 同时在查询请求中可以携带 搜索客户端标识或搜索客户端档案, 使搜索引擎根据该搜索客户端标识或搜
索客户端档案获取满足搜索客户端个性化需求的搜索结果。
上述方法实现了搜索服务器获知了各搜索引擎返回的搜索结果, 本实施 例还包括:
步骤 210: 搜索服务器对搜索结果处理。 具体可以为: 搜索服务器对搜 索结果进行整合、 如去重、 过滤, 还可以根据搜索客户端标识或搜索客户端 档案进行个性化处理。
步骤 211 : 搜索服务器将处理后的搜索结果返回给搜索客户端。
本实施例通过将搜索客户端发送的搜索请求转换为可以触发多个搜索类 型的多查询请求, 可以使搜索服务器与搜索引擎之间的一次查询过程中携带 多个查询请求, 避免现有技术中一次查询过程中只携带一个查询请求造成的 效率低下问题, 可以提高搜索效率。 并且, 搜索引擎向搜索服务器通过同一 个搜索结果中携带与多个查询请求对应的多个查询结果, 可以进一步提高查 询效率。
同时,本实施例还可以在搜索服务器接收到搜索引擎返回的搜索结果后, 结合搜索客户端标识或搜索客户端档案, 向搜索客户端返回个性化数据, 满 足搜索客户端个性化搜索的需求。
图 3为本发明搜索方法实施例三的流程示意图, 本实施例以两个搜索客 户端发送搜索请求, 相应的两个搜索请求可以触发同一个搜索引擎, 且搜索 引擎将多个查询结果携带在一个搜索结果中同时返回为例, 该实施例包括: 步骤 301 : 第一搜索客户端向搜索服务器发送第一搜索请求, 如发送关 键字 "apple"„
步骤 302: 第二搜索客户端向搜索服务器发送第二搜索请求, 如发送关 键字 "benq,,。
步骤 303: 搜索服务器对搜索客户端发送的搜索请求进行分析后, 将这 两个搜索请求进行合并形成多查询请求。 如搜索服务器根据各搜索引擎注册 的能力信息, 如第一搜索引擎支持电脑类的查询, 则将这两个搜索客户端发
送的搜索请求进行合并, 形成多查询请求。 即本实施例针对上述第二种情况, 本实施例中的多查询请求包括第四查询请求和第五查询请求。 本实施例以多 个搜索客户端触发同一个搜索引擎的同一个类型为例, 可替代的是如果多个 搜索客户端触发的是不同的搜索类型, 若存在一个搜索引擎可以支持该多个 不同的搜索类型, 则这种情况下, 同样可以将该多个搜索客户端的搜索请求 进行合并形成多查询请求。
步骤 304: 搜索服务器将合并后形成的多查询请求发送给支持所述多查 询请求的搜索引擎。 由于本实施例的多查询请求包括第四查询请求和第五查 询请求, 与实施例二相同, 需要对现有的查询接口进行扩展, 使之包括多个 查询请求。 具体代码如下, 不同的查询请求以 "||" 分开: 该
http:〃 example. com/?q=apple; type: computer ||? q=benq; type: computer 步骤 305: 搜索引擎向搜索服务器返回相应的搜索结果。 本实施例中的 搜索结果包括与该多个查询请求对应的多个查询结果, 即该多个查询结果携 带在同一个搜索结果中返回。 具体代码如下:
<?xml version=" 1.0" encoding="UTF-8"?>
<rss version="2.0"
xmlns:opensearch=http://a9.com/-/spec/opensearch/l .1/
xmlns:atom="http://www.w3.org/2005/Atom">
<opensearch: Query http:〃 example. com/?q=apple; type= computer
11? q=benq; type: computer >
<channel>
<atom:link rel=" search" type="application/opensearchdescription+xml" href="http:〃 example.com/opensearchdescription.xml >
<Transaction> 1 </Transaction>
<opensearch: Query searchTerms=" apple" searchtype="computer" startPage=" 1 " />
<item>
<title>apple electron</title>
<link>http:〃 www.Huawei.com/ </link>
<description>
</description>
</item>
</channel>//对应于第一搜索客户端发送的 "apple" 的结果
<channel>
<transaction>2<transaction>
<opensearch: Query searchTerms="benq" searchtype="computer' startPage=" 1 " />
<item>
<iteml>
</channel>//对应于第二搜索客户端发送的 "benq" 的结果
</rss>
其中,每个 channel项对应一个查询结果,从上述代码可以看出该搜索结 果中携带多个查询结果(示出的是两个) 。
步骤 306: 搜索服务器对搜索结果进行识别处理, 得到对应于第一搜索 客户端的第一搜索结果, 对应于第二搜索客户端的第二搜索结果。 如实施例 二根据搜索类型标识对搜索结果的识别, 本实施例可以根据客户端标识进行 识别处理, 具体可参照实施例二所述。 同时, 还可以进行个性化处理。
步骤 307: 搜索服务器将对应第一搜索客户端的第一搜索结果发送给第 一搜索客户端。 具体代码为:
<channel>
<atom:link rel="search"
type="application/opensearchdescription+xml"
href="http:〃 example.com/opensearchdescription.xml >
<opensearch: Query searchTerms="apple" searchtype="computer" startPage=" 1 " />
<item>
<title>apple electron</title>
<link>http:〃 www.Huawei.com/ </link>
<description>
</description>
</item>
</channel>
其中, 该步骤代码中的 channel项用于描述第一搜索结果。
步骤 308: 搜索服务器将对应第二搜索客户端的第二搜索结果发送给第 二搜索客户端。 具体代码为:
<channel>
<atom:link rel="search"
type="application/opensearchdescription+xml"
href="http:〃 example.com/opensearchdescription.xml >
<opensearch: Query searchTerms="benq" searchtype="computer" startPage=" 1 " />
<item>
<title>apple electron</title>
<link>http:〃 www.Huawei.com/ </link>
<description>
</description>
</item>
</channel>
其中, 该步骤代码中的 channel项用于描述第二搜索结果。
本实施例以两个搜索客户端为例, 应用该原理可以扩展成多个搜索客户
端; 本实施例以触发同一搜索引擎的同一搜索类型为例, 也可以多个搜索客 户端的搜索请求组合成多查询请求, 并参照实施例二该多查询请求可以触发 同一搜索引擎的不同搜索类型。
本实施例通过将不同搜索客户端发送的搜索请求组合成多查询请求, 可 以使搜索服务器与搜索引擎之间的一次查询过程中携带多个查询请求, 提高 查询效率。 并且, 搜索引擎可以将查询出的多个查询结果携带在一个搜索结 果中, 进一步提高查询效率。
同时,本实施例还可以在搜索服务器接收到搜索引擎返回的搜索结果后, 结合搜索客户端标识或搜索客户端档案, 向搜索客户端返回个性化数据, 满 足搜索客户端个性化搜索的需求。
图 4为本发明搜索方法实施例四的流程示意图, 本实施例以两个搜索客 户端发送搜索请求, 相应的两个搜索请求可以触发同一个搜索引擎, 且搜索 引擎将多个查询结果作为不同的搜索结果分别返回为例, 该实施例包括图 3 所示实施例三中的步骤 301-304, 不同的是, 本实施例还包括:
步骤 405: 搜索引擎将根据第一搜索客户端获取的第一搜索结果发送给 搜索服务器。 该第一搜索结果的代码具体为:
<?xml version:" 1.0" encoding="UTF-8"?>
<rss version="2.0"
xmlns : opensearch="http ://a9. com/-/spec/opensearch/ 1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
<opensearch: Query http: //example. com/?q=apple; type= computer 11? q=benq ; type: computer >
<channel>
<atom:link rel=" search"
type="application/opensearchdescription+xml"
href="http:〃 example.com/opensearchdescription.xml >
<Transaction> 1 </Transaction>
<opensearch: Query searchTerms="apple" searchtype="computer" startPage=" 1 " />
<item>
<title>apple electron</title>
<link>http:〃 www.Huawei.com/ </link>
<description>
</description>
</item>
</channel>
其中, 该步骤中的 channel项用于描述第一搜索结果。
步骤 406: 搜索服务器对该第一搜索结果进行识别处理。 如实施例三中 的可以根据搜索结果中携带的客户端标识进行识别处理, 以确定该第一搜索 结果与第一搜索客户端对应, 以便发送给第一搜索客户端。
步骤 407: 搜索服务器将上一步骤处理后的第一搜索结果发送给第一搜 索客户端。 具体代码为:
<channel>
<atom:link rel=" search"
type="application/opensearchdescription+xml"
href="http:〃 example.com/opensearchdescription.xml >
<opensearch: Query searchTerms="apple"
searchtype="computer" startPage=" 1 " />
<item>
<title>apple electron</title>
<link>http:〃 www.Huawei.com/ </link>
<description>
</description>
</item>
</channel>
其中, 该步骤中的 channel项用于描述第一搜索结果。
步骤 408: 搜索引擎将根据第二搜索客户端获取的第二搜索结果发送给 搜索服务器。 代码具体为:
<?xml version:" 1.0" encoding="UTF-8"?>
<rss version="2.0"
xmlns : opensearch="http ://a9. com/-/spec/opensearch/ 1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
<opensearch: Query http: //example. com/?q=apple ; type= computer
11? q=benq ; type: computer >
<channel>
<transaction>2<transaction>
<opensearch: Query searchTerms="benq" searchtype="computer" startPage="l " />
<item>
<iteml>
</channel>
</rss>
其中, 该步骤中的 channel项用于描述第二搜索结果。
步骤 409: 搜索服务器对该第二搜索客户端的第二搜索结果进行识别处 理。 如实施例三中的可以根据搜索结果中携带的客户端标识进行识别处理, 以确定该第二搜索结果与第二搜索客户端对应,以便发送给第二搜索客户端。
步骤 410: 搜索服务器将上一步骤处理后的第二搜索结果发送给第二搜 索客户端。 具体代码为:
<channel>
<atom:link rel=" search"
type="application/opensearchdescription+xml"
href="http:〃 example.com/opensearchdescription.xml >
<opensearch: Query searchTerms="benq"
searchtype="computer" startPage=" 1 " />
<item>
<title>benq electron</title>
<link>http:〃 www.Huawei.com/ </link>
<description>
</description>
</item>
</channel>
其中, 该步骤中的 channel项用于描述第二搜索结果。
本实施例以两个搜索客户端为例, 应用该原理可以扩展成多个搜索客户 端; 本实施例以触发同一搜索引擎的同一搜索类型为例, 也可以多个搜索客 户端的搜索请求组合成多查询请求, 并参照实施例二该多查询请求可以触发 同一搜索引擎的不同搜索类型。
本实施例通过将不同搜索客户端发送的搜索请求组合成多查询请求, 可 以使搜索服务器与搜索引擎之间的一次查询过程中携带多个查询请求, 提高 查询效率。 并且, 搜索引擎可以将查询出的多个查询结果分别携带在多个搜 索结果中, 以另一种方式使搜索客户端获取搜索结果, 实现搜索方式多样化。
同时,本实施例还可以在搜索服务器接收到搜索引擎返回的搜索结果后, 结合搜索客户端标识或搜索客户端档案, 向搜索客户端返回个性化数据, 满 足搜索客户端个性化搜索的需求。
上述实施例中搜索服务器中存储各搜索引擎的能力信息, 因此需要搜索 引擎预先向搜索服务器注册, 即在各实施例的搜索客户端向搜索服务器发送
搜索请求之前, 具有多查询支持能力的搜索引擎需要先向搜索服务器进行注 册, 公布其能力信息。 由于搜索引擎向搜索服务器注册多查询请求的支持能 力, 需要对现有注册接口进行扩展。 与上述的查询接口、 结果接口类似, 此 处的声明接口也需要对现有的注册接口进行扩展, 现有注册接口中每个调用 模板中只包括一个查询请求, 只支持单查询请求; 本实施例中的注册接口每 个调用模板支持多个查询请求。 对比可参见下面的代码: 代码五为现有注册 接口代码, 代码六为本实施例以直接声明形式扩展的注册接口代码, 代码七 为本实施例以直接修改调用模板形式扩展的注册接口代码。
其中, 为了对注册接口有比较详细的了解, 代码五详细地示出了注册代 码中包括的代码项, 从其中的调用模板项的个数可以看出, 该搜索引擎支持 的调用模板的格式, 从每个调用模板中包括的查询请求的个数可以看出, 现 有技术中的搜索引擎只支持单查询请求; 相比的, 代码六通过
<multitransaction>YES</multitransaction:^^ , 直接向搜索服务器表明其具有支 持多查询请求的能力; 代码七通过在每个调用模板内包括多个查询请求, 通 过直接修改调用模板的方式向搜索服务器表明其具有支持多查询请求的能 力。
代码五:
<?xml version:" 1.0" encoding="UTF-8"?>
OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/l . l/">
<ShortName>Web Search</ShortName>〃搜索引擎的名称
<Description>Use Example.com to search the Web.</Description>〃搜 索引擎的描述说明
<Tags>example web</Tags>〃搜索引擎的 tag, 标明搜索引擎的类型 <Contact>admin@example.com</Contact>〃搜索引擎的联系人地址
<Url type="application/atom+xml"
template="http:〃 example. com/?q= {searchTerms} &pw= {startPage?} &f ormat=atom >〃搜索引擎的调用模板 1 , 只支持一个查询请求
<Url type="application/rss+xml"
template=''http://example om/?q={searchTerms}&pw={startPage?}&f ormat=rss'V>//搜索引擎的调用模板 2, 只支持一个查询请求
<Url type="text/html"
template="http:〃 example. com/?q= {searchTerms} &pw= {startPage?} >〃搜 索引擎的调用模板 3 , 只支持一个查询请求
<LongName>Example.com Web Search</LongName>//搜索引擎的长 文件名
<Image height="64" width="64"
type="image/png">http:〃 example. com/websearch.png</Image>〃搜索引擎的标 识图片 64 64
<Image height:" 16" width:" 16"
type="image/vnd.microsoft.icon">http:〃 example.com/websearch.ico</Image>〃搜 索引擎的标识图片 16 x 16
<Query role="example" searchTerms="cat" />〃搜索引擎的查询的角色 <Developer>Example.com Development Team</Developer>〃搜索引擎 的开发者
<Attribution>
Search data Copyright 2005, Example.com, Inc., All Rights Reserved </Attribution>
<SyndicationRight>open</SyndicationRight>〃搜索引擎的访问控制 <AdultContent>false</AdultContent>〃搜索引擎是否提供成人内容 <Language>en-us</Language>〃搜索引擎的使用的语言
<OutputEncoding>UTF-8</OutputEncoding>〃搜索引擎的输出编码方 式
<InputEncoding>UTF-8</InputEncoding>〃搜索引擎的输入编码方式 </OpenSearchDescription> 代码六:
<?xml version:" 1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http ://a9. com/-/spec/opensearch/ 1. l/"> <ShortName>Web Search</ShortName>
<Description>Use Example.com to search the Web.</Description>
<Tags>example web</Tags>
<Attribution>
Search data Copyright 2005, Example.com, Inc., All Rights Reserved </Attribution>
<SyndicationRight>open</SyndicationRight>
<AdultContent>false</AdultContent>
<Language>en-us</Language>
<OutputEncoding>UTF-8</OutputEncoding>
<InputEncoding>UTF-8</InputEncoding>
<multitransaction>YES</multitransaction>//>i†支持多查询请求的声明
</OpenSearchDescription>
代码七:
<Url type="application/atom+xml"
template="http:〃 example. com/?q= { searchTerms } & ;pw= { startPage? } & 11? q= { searchTerms } &; w= { startPage? } &format=atom"/>//包括多个查询 类型的调用模板
上述代码也可以是支持的不同的调用模板的综合。
从上述现有技术注册代码中还可以看出, 搜索引擎向搜索服务器注册类
型时采用的代码是:
<Tags>example web</Tags>//搜索引擎的 tag, 表明搜索引擎的类型。
由于各搜索引擎可能采用不同搜索类型来描述同一类关键字, 如搜索客 户端输入的关键字为 "apple" , 第一搜索引擎可能用电脑类描述这一关键字, 第二搜索引擎可能用计算机类来描述这同一个关键字。 因此, 第一搜索引擎 向搜索服务器注册的关于这一关键字的 tag 为电脑类, 第二搜索引擎向搜索 服务器注册的关于这一关键字的 tag为计算机类, 由于 tag只能由人来识别, 即搜索服务器不能识别这两个类型实质上是相同的, 可能作为两类来处理, 因此当搜索客户端输入该关键字后, 搜索服务器可能只能触发某一个搜索引 擎, 造成信息遗漏。
为了对各搜索引擎类型进行统一管理, 各搜索引擎需要向搜索服务器进 行包括搜索类型的注册, 具体流程如下所述:
图 5为本发明搜索方法实施例中搜索引擎向搜索服务器注册的流程示意 图, 包括:
步骤 51 : 搜索引擎向搜索服务器发送查询请求, 所述查询请求用于查询 所述搜索服务器中所有搜索引擎向该搜索服务器中已注册的搜索类型, 或者 用于查询所述搜索引擎待注册的搜索类型是否存在。 代码具体为: Querytype(all)或者 Querytype(name)?
步骤 52: 搜索服务器返回搜索类型列表, 或者返回搜索引擎查询的搜索 类型是否存在。
步骤 53: 若所述搜索服务器中已注册的搜索类型不包括待注册的搜索类 型, 则所述搜索引擎向所述搜索服务器发送类型注册请求, 所述类型注册请 求用于向所述搜索服务器注册所述待注册的搜索类型。
步骤 54: 搜索服务器向搜索引擎返回 OK, 表明新的搜索类型注册成功。 步骤 55: 若所述待注册的搜索类型在所述搜索服务器中注册成功, 则所 述搜索引擎向所述搜索服务器发送注册请求, 所述注册请求中携带所述搜索
引擎的信息和所述注册成功的搜索类型。 具体代码可以为:
<?xml version:" 1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http ://a9. com/-/spec/opensearch/ 1. l/"> <ShortName>Web Search</ShortName>
<Description>Use Example.com to search the Web.</Description>
<Type>
<typename>fruit</typename>
< typename >image</typename >
<typename >Web</ typename >
</type>〃表明新注册的搜索类型
<Attribution>
Search data Copyright 2005, Example.com, Inc., All Rights Reserved </Attribution>
<SyndicationRight>open</SyndicationRight>
<AdultContent>false</AdultContent>
<Language>en-us</Language>
<OutputEncoding>UTF-8</OutputEncoding>
<InputEncoding>UTF-8</InputEncoding>
</OpenSearchDescription>
步骤 56: 搜索服务器返回 OK, 表明搜索引擎的注册成功。
本领域普通技术人员可以理解: 实现上述方法实施例的全部或部分步骤 可以通过程序指令相关的硬件来完成, 前述的程序可以存储于一计算机可读 取存储介质中, 该程序在执行时, 执行包括上述方法实施例的步骤; 而前述 的存储介质包括: ROM, RAM, 磁碟或者光盘等各种可以存储程序代码的介 质。
图 6为本发明搜索服务器实施例一的结构示意图, 该实施例包括: 查询 处理模块 61、 查询控制模块 62。 查询处理模块 61用于接收搜索客户端发送 的搜索请求; 查询控制模块 62用于将所述搜索请求转换为多查询请求, 根据
预存储的搜索引擎的能力信息将所述多查询请求发送给支持所述多查询请求 的搜索引擎。 上述模块实现了搜索服务器向搜索引擎的查询, 为了向用户显 示搜索结果, 本实施例还可以包括结果处理模块 63 , 用于接收所述搜索引擎 发送的搜索结果, 对所述搜索结果处理后发送给所述搜索客户端。
本实施例通过将搜索请求转换为多查询请求, 可以一次查询多个查询请 求, 提高搜索效率。
图 7为本发明搜索服务器实施例二的结构示意图, 该实施例中查询控制 模块具体包括请求分析模块 71、 请求分发模块 72和请求合成模块 73。
请求分析模块 71用于将所述搜索请求转换为多个查询请求,所述多个查 询请求用于触发不同搜索类别的不同搜索引擎, 即所述多个查询请求对应于 不同搜索类别的不同搜索引擎。 如实施例二中, 假设触发第一搜索引擎电脑 类、 电器类、 水果类的查询请求分别为第一查询请求、 第二查询请求和第三 查询请求, 触发第二搜索引擎电脑类的查询请求为第六查询请求, 触发第三 搜索引擎水果类的查询请求为第七查询请求, 则该搜索客户端发送的搜索请 求(apple )转换的多个查询请求包括第一查询请求、 第二查询请求、 第三查 询请求、 第六查询请求和第七查询请求。 或者, 如实施例三或四中, H殳对 应第一搜索客户端的查询请求为第四查询请求, 对应第二搜索客户端的查询 请求为第五查询请求, 则该搜索请求(第一搜索客户端发送的查询请求和第 二搜索客户端发送的查询请求)转换的多查询请求包括第四查询请求和第五 查询请求。 请求分发模块 72用于根据预存储的搜索引擎的能力信息, 将所述 多个查询请求分别存储在不同搜索引擎的请求队列中。 如将第一查询请求、 第二查询请求和第三查询请求存储在第一搜索引擎的请求队列中, 将第六查 询请求存储在第二搜索引擎的请求队列中, 将第七查询请求存储在第三搜索 引擎的请求队列中。 或者在搜索客户端不同的情况下, 将第四查询请求和第 五查询请求存储在第一搜索引擎的请求队列中。
请求合成模块 73 用于根据预设条件将同一请求队列中的多个查询请求
合成为一个多查询请求, 发送给支持所述多查询请求的搜索引擎。 预设条件 可以为每隔 1秒钟或者查询请求超过 5个后将同一个搜索引擎请求队列中的 多个查询请求合成一个多查询请求。 如上述的第一种情况下, 将第一查询请 求、第二查询请求和第三查询请求合成为向第一搜索引擎发送的多查询请求。 或者在上述的第二种情况下, 将第四查询请求和第五查询请求合成为向第一 搜索引擎发送的多查询请求。 对于第六查询请求和第七查询请求, 由于一个 搜索引擎的请求队列中只包括一个查询请求, 因此不需合并, 可以如现有技 术中的单查询请求一样的处理。
该实施例中的结果处理模块可以具体包括结果解析模块 74 和结果合成 模块 75。
结果解析模块 74 用于接收支持多查询请求的搜索引擎发送的与所述多 查询请求对应的多个查询结果, 将所述多个查询结果分别存储在对应的不同 搜索引擎的结果队列中。 如将第一搜索引擎返回的搜索结果存储在第一搜索 引擎的结果队列中, 将第二搜索引擎返回的搜索结果存储在第二搜索引擎的 结果队列中。
结果合成模块 75用于对所述多个查询结果进行处理,将处理后的多个查 询结果作为搜索结果发送给搜索客户端。 如去重、 过滤等。
为了实现对各搜索引擎的集中管理, 该实施例还可以包括引擎管理模块 76和引擎类型注册库 77。引擎管理模块 76用于对各搜索引擎进行注册管理, 存储各搜索引擎的能力信息。 引擎类型注册库 77用于存储搜索类型, 引擎管 理模块 76根据引擎类型注册库 77中存储的搜索类型对各搜索引擎进行统一 的类型管理, 避免各引擎自由定义类型造成的搜索类型混乱的问题。
为了使搜索客户端获取个性化数据, 如结果合成模块对结果进行处理时 可结合搜索客户端标识或搜索客户端档案向搜索客户端返回个性化数据, 该 实施例还可以包括搜索客户端数据模块 78, 用于存储搜索客户端标识或搜索 客户端档案。
本实施例可以将多个查询请求携带在一个多查询请求中, 使得在一次查 询过程中可以查询多个查询请求, 提高了查询效率。 同时, 本实施例还可以 提供搜索客户端数据信息, 使搜索结果满足搜索客户端的个性化需要。 并且, 本实施例可以对各搜索引擎进行集中管理, 避免搜索引擎的搜索类型注册混 乱问题, 增加了搜索引擎的调度能力。
图 8为本发明搜索系统实施例一的结构示意图, 该实施例包括搜索服务 器 81和搜索引擎 82。
搜索服务器 81用于接收搜索客户端发送的搜索请求,将所述搜索请求转 换为多查询请求后发送给支持多查询请求的搜索引擎 82, 并将搜索引擎 82 发送的搜索结果发送给所述搜索客户端; 搜索引擎 82支持多查询请求, 用于 根据所述多查询请求向所述搜索服务器 81 发送搜索结果。 搜索引擎至少一 个, 若支持多查询请求的搜索引擎为多个, 则图 8中的搜索引擎为支持多查 询请求的多个搜索引擎。
具体的, 搜索服务器 81可以具体用于接收一个搜索客户端的搜索请求, 所述搜索请求用于触发所述搜索引擎的不同搜索类型, 即所述搜索请求对应 于所述搜索引擎的不同搜索类型, 如搜索客户端输入 " apple" , 触发第一搜索 引擎的电脑类查询、 触发第一搜索引擎的水果类查询等。 或者所述搜索服务 器 81具体用于接收多个搜索客户端的多个搜索请求。如接收第一搜索客户端 发送的 "apple" , 第二搜索客户端发送的 "benq"。 这两个请求都将触发对第 一搜索引擎的电脑类的查询。
搜索引擎 82 具体用于在根据所述多查询请求查询出对应的多个查询结 果后, 将所述多个查询结果携带在一个搜索结果中发送给所述搜索服务器, 如对应第一搜索客户端发送的搜索请求的为第一结果, 对应第二搜索客户端 发送的搜索请求的为第二结果, 搜索引擎将这两个结果携带在一个搜索结果 中发送给搜索服务器。或者搜索引擎 82具体用于在根据所述多查询请求查询 出对应的多个查询结果后, 将所述多个查询结果作为多个搜索结果分别发送
给所述搜索服务器, 如可以根据搜索类型标识或者客户端标识确定与多查询 请求中各个查询请求对应的查询结果。 如查询出第一结果后作为第一搜索结 果返回给搜索服务器, 查询出第二结果后作为第二搜索结果再次发送给搜索 服务器。
其中, 搜索服务器 81 还包括第一单元, 第一单元用于对所述搜索引擎 82 进行注册管理, 获取所述搜索引擎的能力信息。 具体的, 搜索服务器 81 的第一单元具体用于根据存储的搜索类型对搜索引擎 82进行注册管理,获取 所述搜索引擎的能力信息。搜索服务器 81用于根据获取的搜索引擎的能力信 息将所述多查询请求发送给支持所述多查询请求的搜索引擎 82。
本实施例通过将搜索请求转换为多查询请求, 可以在一个多查询请求中 携带多个查询类型, 因此可以提高查询效率。 还可以实现对搜索引擎的统一 注册管理。
图 9为本发明搜索系统实施例二的结构示意图, 与实施例一相比, 该实 施例还包括: 搜索客户端 83 , 用于向所述搜索服务器发送搜索请求, 并接收 所述搜索服务器返回的搜索结果。
搜索客户端 83可以为一个或多个。 如果为一个, 该搜索客户端发送的搜 索请求可以触发一个搜索引擎的不同搜索类型。搜索服务器 81接收到该搜索 客户端 83发送的该搜索请求后将该搜索请求转换为多查询请求,并发送给支 持多查询请求的搜索引擎 82。 搜索引擎 82查询出相应结果后, 通过搜索服 务器 81返回给搜索客户端 83。
搜索客户端 83也可以为多个。多个搜索客户端发送的多个搜索请求可以 触发同一个搜索引擎。 搜索服务器 81接收到多个搜索客户端 83发送的该搜 索请求后将该搜索请求转换为多查询请求, 并发送给支持多查询请求的搜索 引擎 82。 搜索引擎 82查询出相应结果后, 通过搜索服务器 81返回给相应的 搜索客户端 83。
本实施例可以在一个多查询请求中携带多个查询请求, 因此可以提高查
询效率。 同时多查询请求可以是一个搜索客户端触发的, 也可以是多个搜索 客户端触发的, 满足多场景的应用需求。
最后应说明的是: 以上实施例仅用以说明本发明的技术方案而非对其进 行限制, 尽管参照较佳实施例对本发明进行了详细的说明, 本领域的普通技 术人员应当理解: 其依然可以对本发明的技术方案进行修改或者等同替换, 而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的 4青神和范围。
Claims
1、 一种搜索方法, 其特征在于, 包括:
接收搜索客户端发送的搜索请求;
将所述搜索请求转换为多查询请求, 根据预存储的搜索引擎的能力信息 将所述多查询请求发送给支持所述多查询请求的搜索引擎。
2、 根据权利要求 1所述的搜索方法, 其特征在于, 还包括:
接收所述搜索引擎发送的搜索结果, 对所述搜索结果处理后发送给所述 搜索客户端。
3、 根据权利要求 1所述的搜索方法, 其特征在于, 将所述搜索请求转换 为多查询请求具体为:
将所述搜索请求转换为包括多个搜索类型的多查询请求; 或者, 将多个搜索客户端发送的搜索请求组合为所述多查询请求。
4、 根据权利要求 2所述的搜索方法, 其特征在于, 所述接收所述搜索引 擎发送的搜索结果包括: 接收所述搜索引擎发送的携带在一个搜索结果中的 根据所述多查询请求查询出的多个查询结果。
5、 根据权利要求 2所述的搜索方法, 其特征在于, 所述对所述搜索结果 处理后发送给所述搜索客户端包括: 根据搜索客户端标识或搜索客户端档案 或搜索类型标识对所述搜索结果进行个性化处理, 并将个性化处理后的搜索 结果发送给搜索客户端。
6、 根据权利要求 1所述的搜索方法, 其特征在于, 还包括:
接收搜索引擎的注册, 存储所述搜索引擎的能力信息。
7、 根据权利要求 6所述的搜索方法, 其特征在于, 所述接收搜索引擎的 注册包括:
接收搜索引擎发送的查询请求, 所述查询请求用于查询搜索服务器中已 注册的搜索类型, 或者用于查询所述搜索引擎待注册的搜索类型是否存在; 若所述搜索服务器中已注册的搜索类型不包括待注册的搜索类型, 则接
收所述搜索引擎发送的类型注册请求, 所述类型注册请求用于向所述搜索服 务器注册所述待注册的搜索类型; 若所述待注册的搜索类型在所述搜索服务 器中注册成功, 则接收所述搜索引擎发送的注册请求, 所述注册请求中携带 所述搜索引擎的信息和所述注册成功的搜索类型;
若所述搜索服务器中已注册的搜索类型包括待注册的搜索类型, 则所述 搜索引擎向所述搜索服务器直接发送注册请求, 所述注册请求中携带所述搜 索引擎的信息和所述已注册的搜索类型。
8、 一种搜索服务器, 其特征在于, 包括:
查询处理模块, 用于接收搜索客户端发送的搜索请求;
查询控制模块, 用于将所述搜索请求转换为多查询请求, 根据预存储的 搜索引擎的能力信息将所述多查询请求发送给支持所述多查询请求的搜索引 擎。
9、 根据权利要求 8所述的搜索服务器, 其特征在于, 还包括: 结果处理模块, 用于接收所述搜索引擎发送的搜索结果, 对所述搜索结 果处理后发送给所述搜索客户端。
10、 根据权利要求 8所述的搜索服务器, 其特征在于, 所述查询控制模 块包括:
请求分析模块, 用于将所述搜索请求转换为多个查询请求, 所述多个查 询请求对应于不同搜索类型的不同搜索引擎;
请求分发模块, 用于根据预存储的搜索引擎的能力信息, 将所述多个查 询请求分别存储在不同搜索引擎的请求队列中;
请求合成模块, 用于根据预设条件将同一请求队列中的查询请求合成为 一个多查询请求, 发送给与所述多查询请求对应的搜索引擎。
11、 根据权利要求 9所述的搜索服务器, 其特征在于, 所述结果处理模 块包括:
结果解析模块, 用于接收搜索引擎发送的与所述多查询请求对应的多个
查询结果, 将所述多个查询结果分别存储在对应的不同搜索引擎的结果队列 中;
结果合成模块, 用于对所述多个查询结果进行处理, 将处理后的多个查 询结果作为搜索结果发送给搜索客户端。
12、 根据权利要求 8所述的搜索服务器, 其特征在于, 还包括: 引擎管理模块, 用于对各搜索引擎进行注册管理, 存储各搜索引擎的能 力信息。
13、 根据权利要求 12所述的搜索服务器, 其特征在于: 还包括引擎类型 注册库, 用于存储搜索类型; 所述引擎管理模块具体用于根据所述搜索类型 对各搜索引擎进行统一的类型管理。
14、 根据权利要求 9所述的搜索服务器, 其特征在于, 还包括: 搜索客户端数据模块, 用于存储搜索客户端标识或搜索客户端档案; 所述结果处理模块具体用于接收所述搜索引擎发送的搜索结果, 根据所 述搜索客户端标识或搜索客户端档案向搜索客户端发送个性化搜索结果。
15、 一种搜索系统, 其特征在于, 包括:
搜索服务器和搜索引擎;
所述搜索服务器用于接收搜索客户端发送的搜索请求, 将所述搜索请求 转换为多查询请求, 根据预先获取的搜索引擎的能力信息将所述多查询请求 发送给支持所述多查询请求的搜索引擎, 并将支持所述多查询请求的搜索引 擎发送的搜索结果发送给所述搜索客户端;
所述搜索引擎, 用于在具有支持所述多查询请求的能力时, 根据所述多 查询请求向所述搜索服务器发送搜索结果。
16、 根据权利要求 15所述的搜索系统, 其特征在于:
所述搜索服务器具体用于接收一个搜索客户端的搜索请求, 所述搜索请 求对应于所述搜索引擎的不同搜索类型,将所述搜索请求转换为多查询请求, 根据预先获取的搜索引擎的能力信息将所述多查询请求发送给支持所述多查
询请求的搜索引擎, 并将支持所述多查询请求的搜索引擎发送的搜索结果发 送给所述搜索客户端; 或者,
所述搜索服务器具体用于接收与多个搜索客户端对应的多个搜索请求, 将所述多个搜索请求转换为多查询请求, 根据预先获取的搜索引擎的能力信 息将所述多查询请求发送给支持所述多查询请求的搜索引擎, 并将支持所述 多查询请求的搜索引擎发送的搜索结果发送给所述搜索客户端。
17、 根据权利要求 15所述的搜索系统, 其特征在于:
所述搜索引擎具体用于在根据所述多查询请求查询出对应的多个查询结 果后, 将所述多个查询结果携带在一个搜索结果中发送给所述搜索服务器; 或者,
所述搜索引擎具体用于在根据所述多查询请求查询出对应的多个查询结 果后, 将所述多个查询结果作为多个搜索结果分别发送给所述搜索服务器。
18、 根据权利要求 15所述的搜索系统, 其特征在于: 所述搜索服务器还 包括第一单元, 所述第一单元用于对所述搜索引擎进行注册管理, 获取所述 搜索引擎的能力信息。
19、 根据权利要求 18所述的搜索系统, 其特征在于: 所述搜索服务器的 第一单元具体用于根据存储的搜索类型对所述搜索引擎进行注册管理, 获取 所述搜索引擎的能力信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810116187A CN101620605A (zh) | 2008-07-04 | 2008-07-04 | 搜索方法、搜索服务器和搜索系统 |
CN200810116187.6 | 2008-07-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2010000211A1 true WO2010000211A1 (zh) | 2010-01-07 |
Family
ID=41465510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2009/072649 WO2010000211A1 (zh) | 2008-07-04 | 2009-07-06 | 搜索方法、搜索服务器和搜索系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101620605A (zh) |
WO (1) | WO2010000211A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2007203439B2 (en) * | 2002-04-22 | 2010-02-18 | Arch Chemical | Use of materials having zinc ionophoric behavior |
WO2012139881A1 (en) | 2011-04-13 | 2012-10-18 | Seatower As | A method of obtaining vertical alignment of a tower |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104834756B (zh) * | 2015-06-01 | 2018-07-13 | 国家电网公司 | 工程管理中信息的查询方法和装置 |
CN107729336B (zh) * | 2016-08-11 | 2021-07-27 | 阿里巴巴集团控股有限公司 | 数据处理方法、设备及系统 |
CN107093132A (zh) * | 2017-04-24 | 2017-08-25 | 上海者信息科技有限公司 | 一种语料交易方法及系统 |
CN109829098A (zh) * | 2017-08-28 | 2019-05-31 | 广东神马搜索科技有限公司 | 搜索结果优化方法、装置及服务器 |
CN109635189A (zh) * | 2018-11-30 | 2019-04-16 | 广州市西美信息科技有限公司 | 一种信息搜索方法、装置、终端设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001016806A1 (en) * | 1999-08-31 | 2001-03-08 | Mindcrossing, Inc. | An internet search system for retrieving selected results from a previous search |
US20020069194A1 (en) * | 2000-12-06 | 2002-06-06 | Robbins Benjamin Jon | Client based online content meta search |
CN1811780A (zh) * | 2006-03-03 | 2006-08-02 | 中国移动通信集团公司 | 基于个性化信息的搜索系统及搜索方法 |
CN101065748A (zh) * | 2004-09-30 | 2007-10-31 | 谷歌公司 | 对于由移动设备的用户启动的查询进行处理的方法和系统 |
CN101083633A (zh) * | 2006-06-02 | 2007-12-05 | 中国移动通信集团公司 | 信息搜索系统及搜索方法 |
CN101437039A (zh) * | 2007-11-15 | 2009-05-20 | 华为技术有限公司 | 一种移动搜索的方法、系统和设备 |
-
2008
- 2008-07-04 CN CN200810116187A patent/CN101620605A/zh active Pending
-
2009
- 2009-07-06 WO PCT/CN2009/072649 patent/WO2010000211A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001016806A1 (en) * | 1999-08-31 | 2001-03-08 | Mindcrossing, Inc. | An internet search system for retrieving selected results from a previous search |
US20020069194A1 (en) * | 2000-12-06 | 2002-06-06 | Robbins Benjamin Jon | Client based online content meta search |
CN101065748A (zh) * | 2004-09-30 | 2007-10-31 | 谷歌公司 | 对于由移动设备的用户启动的查询进行处理的方法和系统 |
CN1811780A (zh) * | 2006-03-03 | 2006-08-02 | 中国移动通信集团公司 | 基于个性化信息的搜索系统及搜索方法 |
CN101083633A (zh) * | 2006-06-02 | 2007-12-05 | 中国移动通信集团公司 | 信息搜索系统及搜索方法 |
CN101437039A (zh) * | 2007-11-15 | 2009-05-20 | 华为技术有限公司 | 一种移动搜索的方法、系统和设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2007203439B2 (en) * | 2002-04-22 | 2010-02-18 | Arch Chemical | Use of materials having zinc ionophoric behavior |
WO2012139881A1 (en) | 2011-04-13 | 2012-10-18 | Seatower As | A method of obtaining vertical alignment of a tower |
Also Published As
Publication number | Publication date |
---|---|
CN101620605A (zh) | 2010-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8224772B2 (en) | Data management apparatus, method and program | |
WO2010000211A1 (zh) | 搜索方法、搜索服务器和搜索系统 | |
KR101004576B1 (ko) | 연쇄 발견 웹 서비스 | |
US20110276598A1 (en) | System for and method of providing reusable software service information based on natural language queries | |
WO2008131630A1 (fr) | Procédé, dispositif, système, serveur d'application de terminal d'utilisateur pour sélectionner un service | |
JP6254355B2 (ja) | リファレンスウェブクロールの支援によるウェブコーパスの構築 | |
JP2007233856A (ja) | 情報処理装置、情報処理システム、および方法、並びにコンピュータ・プログラム | |
JP5442726B2 (ja) | 分散型検索を実行するための方法 | |
KR101511267B1 (ko) | 검색 가능한 웹 서비스들을 위한 방법 및 시스템 | |
CN111159590A (zh) | 一种基于前后端业务调用链路的串联方法及装置 | |
KR101503268B1 (ko) | 시맨틱 클라이언트, 시맨틱 정보 관리 서버, 시맨틱 정보생성 방법, 시맨틱 정보 검색 방법 및 그 방법들을수행하기 위한 컴퓨터 기록매체 | |
Kurz et al. | Lmf: A framework for linked media | |
JP4462901B2 (ja) | モーダル同期制御方法およびマルチモーダルインターフェイスシステム | |
CN105574037B (zh) | 一种信息处理方法及装置 | |
Sadeh et al. | Google Scholar versus metasearch systems | |
CN104519118B (zh) | 信息处理终端及其控制方法、系统及其控制方法 | |
US9164781B2 (en) | Client bundle resource creation | |
JP2011070406A (ja) | 情報検索プログラム、情報検索システム | |
EP2442235A1 (en) | Method adapting to mobile search interface, search server and system thereof | |
CN110740046B (zh) | 分析服务契约的方法和装置 | |
Stergiou et al. | OpenAPI QL: searching in OpenAPI service catalogs | |
JP2005242934A (ja) | プロファイル管理装置およびそのプログラム | |
JP4623446B2 (ja) | データ管理プログラムおよびデータ管理システム | |
KR20140094994A (ko) | 비일시적 검색 제공 방법과 시스템 및 컴퓨터 디바이스 | |
Kaewmarin et al. | Semantic web service discovery and integration using service search crawler |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09771981 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 09771981 Country of ref document: EP Kind code of ref document: A1 |