Search method, data processing method, medium, system, device and program product

CN122964320APending Publication Date: 2026-10-23HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510482288.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-16
Publication Date
2026-10-23

AI Technical Summary

Technical Problem

如此,可能会导致应用程序通过该固定不变的搜索引擎搜索部分数据时,得到搜索价值较低的搜索结果,影响用户体验

Benefits of technology

[0047]需要说明的是,上述第三方面至第六方面的有益效果可以参考第一方面和第二方面的内容,在此不做赘述。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122964320A_ABST
    Figure CN122964320A_ABST
Patent Text Reader

Abstract

The application relates to the technical field of information retrieval, and discloses a search method, a data processing method, a medium, a system, a device and a program product. In the method, the terminal device can store the correspondence relationship between different search data and corresponding search engines. After receiving a search request of a user, the terminal device can determine the first search engine corresponding to the search data matched with the first data based on the first data requested by the search request in the correspondence relationship. Then, the terminal device can search the first data based on the first search engine to obtain the search result corresponding to the search request. Based on the above method, after receiving the search request, the terminal device does not need to interact with multiple search engines to determine the search engine responding to the search request, which is beneficial to improving the speed of the terminal device responding to the search request.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of information retrieval technology, and in particular to a search method, data processing method, medium, system, device and program product. Background Technology

[0002] Using search engines within applications to obtain information of interest is a mainstream method for users. Applications can invoke search engines to search the data requested by users and provide search results. Because the content that search engines can retrieve often varies, the search value of the same search data from different search engines usually differs.

[0003] Currently, the search engine used by applications is usually fixed after configuration. This can lead to the application receiving low-value search results when searching for certain data using this fixed search engine, negatively impacting the user experience. Summary of the Invention

[0004] In view of this, this application provides a search method, a data processing method, a medium, a system, an apparatus, and a program product.

[0005] In a first aspect, a search method is provided, applied to a first electronic device. The method includes: receiving a user's search request for first data; and calling a first search engine to search for the first data based on a first correspondence relationship, wherein the first correspondence relationship includes correspondence relationships between M search data and N search engines, the M search data includes the first search data, the first search data has a correspondence relationship with the first data, the first search engine has a correspondence relationship with the first search data, and M and N are positive integers greater than 1, and M is greater than or equal to N.

[0006] Based on this method, the first electronic device does not need to interact with N search engines to determine which of the N search engines is used to search for the first data. Instead, it directly finds the first search engine used to search for the first data from the first correspondence. In this way, it can use a search engine with higher search value to search for the first data, while saving the time required for the first electronic device to interact with N search engines and improving the speed at which the first electronic device responds to user search requests.

[0007] In one possible implementation of the first aspect above, the correspondence between the M search data and the N search engines is determined based on the search value obtained by searching the M search data by the P search engines respectively, or the correspondence between the M search data and the N search engines is determined based on the categories corresponding to the M search data and the search engines corresponding to the categories, where P is a positive integer greater than or equal to N.

[0008] In this implementation, the search engine corresponding to each of the M search data can be determined based on the search value obtained by searching the search data using P search engines. This ensures that, in the first correspondence, the search engine corresponding to the search data has a higher search value for the corresponding search data, thereby improving the search value of the search results obtained by the first electronic device using the first search data to search for the first data.

[0009] In one possible implementation of the first aspect above, the method further includes: sending first information to a second electronic device, wherein the first information indicates determining M search data and search engines corresponding to the M search data from the search dataset, and the first information indicates one or more of the device information of the first electronic device, the user profile of the user, and the application information of the search application corresponding to the search request; and receiving second information from the second electronic device, the second information including the first correspondence.

[0010] In this implementation, the first correspondence is obtained from the second electronic device, and the M search data in the first correspondence are determined from the search dataset based on device information of the first electronic device, user profile, and application information of the search application corresponding to the search request. Based on this implementation, the first correspondence stored in the first electronic device is associated with the user of the first electronic device, rather than storing the entire search dataset, thus reducing the amount of search data in the first correspondence. In this way, the search needs of the user of the first electronic device can be met, and the speed at which the search engine in the first electronic device determines the first data from the first correspondence can be improved, further increasing the speed at which the first electronic device responds to user search requests.

[0011] In one possible implementation of the first aspect above, the device information includes at least one of the following: device identifier, device model, device brand, device color, device operating mode, device language, operating system type, operating system version, or device account.

[0012] In one possible implementation of the first aspect above, the user profile includes at least one of the user's preferred search category, the user's location, the user's historical search records, or the group to which the user belongs.

[0013] In one possible implementation of the first aspect above, the application information of the search application includes one or more of the following: version, display style, application name, logged-in account, or associated account.

[0014] In one possible implementation of the first aspect above, the M search data include search data that meets the search popularity condition among the search data that matches the first information, wherein the search data that matches the first information is the search data in the search dataset.

[0015] In this implementation, the M search data in the first correspondence are search data that meet the popularity criteria. Thus, the first correspondence does not need to store the correspondence between search data with low search popularity and their corresponding search engines, further reducing the amount of search data in the first correspondence. This improves the speed at which the first electronic device determines the search engine for searching the first data from the first correspondence and also improves the speed at which the first electronic device responds to user search requests.

[0016] In one possible implementation of the first aspect above, the popularity condition may include at least one of the following conditions: the search popularity of the search data is greater than the search popularity threshold; the search data is one of the first number of search data in the search dataset, sorted by search popularity from high to low among U search data; the search data is one of the second number of search data in the search data of each category corresponding to the first information, sorted by search popularity from high to low among the search data of each category, wherein the first information corresponds to at least one category that the user may be interested in based on the first information; the search data is one of the third number of search data in the search data of all search data belonging to the first information, sorted by search popularity from high to low.

[0017] In one possible implementation of the first aspect above, the method further includes: based on the first correspondence, calling a second search engine to search for the first data, wherein there is no search data matching the first data in the first correspondence, and the second search engine is any one of the following: a preset search engine, a search engine selected by the first electronic device from P search engines, or a search engine indicated by the second electronic device.

[0018] In this implementation, if no matching search data exists in the first correspondence, the first electronic device can search for the first data using a preset search engine, a search engine selected by the first electronic device from P search engines, or a search engine indicated by the second electronic device. In this implementation, the first electronic device can send a decision request including the first data to the second electronic device and receive third information instructing the second search engine from the second electronic device.

[0019] In one possible implementation of the first aspect above, the first data includes at least one of the following: image, text, audio, or video.

[0020] In one possible implementation of the first aspect above, the above-mentioned invoking the first search engine to search for the first data based on the first correspondence includes: when the first function of the search application corresponding to the search request is enabled, invoking the first search engine to search for the first data based on the first correspondence.

[0021] In this implementation, the search application may be configured with a first function (such as the intelligent search engine function mentioned below). When the first function is enabled, the first electronic device may call the first search engine to search for the first data based on the first correspondence; when the first function is not enabled, it may search for the first data through other search engines (such as the preset search engine).

[0022] In a second aspect, a data processing method is provided, applied to a second electronic device. The method includes: receiving first information, wherein the first information indicates one or more of the following: device information of the first electronic device, user profile of a user of the first electronic device, and application information of a search application in the first electronic device; determining M search data in a search dataset that match the first information, wherein the search dataset includes a correspondence between U search data and P search engines, where M and P are positive integers greater than 1, and U is a positive integer greater than or equal to M; and sending second information to the first electronic device, wherein the second information includes a first correspondence, the first correspondence including a correspondence between M search data and N search engines, the first correspondence being used to determine the search engine used when searching the data, where N is a positive integer less than or equal to P.

[0023] Based on the above method, the second electronic device can determine M search data associated with the user of the first electronic device from the search dataset based on at least one of the following first information: device information of the first electronic device, user profile of the user of the first electronic device, and application information of the search application in the first electronic device. The second electronic device then sends these M search data and their corresponding search engines to the first electronic device. In this way, the first electronic device can determine the search engine for searching data based on the correspondence between the M search data and N search engines, thereby avoiding interaction between the first electronic device and multiple search engines to determine the search engine and improving the efficiency of the first electronic device in searching data.

[0024] In one possible implementation of the second aspect above, the correspondence between the U search data and the P search engines is determined based on the search value of the P search engines searching the M search data respectively; or, the correspondence between the U search data and the P search engines is determined based on the category corresponding to the U search data and the search engine corresponding to the category.

[0025] In this implementation, the search engine corresponding to each of the U search data points can be determined based on the search value obtained by searching the data using P search engines. This ensures that, within the search dataset, the search engine corresponding to the search data has a high search value for that data.

[0026] In one possible implementation of the second aspect above, determining the M search data that match the first information in the search dataset includes: determining at least one category corresponding to the first information, wherein the categories corresponding to the U search data include at least one category; and determining some or all of the search data of the at least one category in the search data corresponding to the search dataset as M search data.

[0027] In this implementation, the U search data can be divided into multiple categories, with each category corresponding to at least one search data. The second electronic device can determine at least one category corresponding to the first information based on the first information, and then determine the search data matching the first information from the search data in the at least one category.

[0028] In one possible implementation of the second aspect above, the search dataset includes a first subset of search data and a second subset of search data, wherein the search popularity of the search data in the first subset of search data is greater than the search popularity of the search data in the second subset of search data, and the aforementioned part or all of the search data is the search data in the first subset of search data.

[0029] In this implementation, the second electronic device can determine some or all of the aforementioned search data with high search popularity that match the first information from the first subset of search data. This reduces the number of the aforementioned M search data, thereby improving the speed at which the first electronic device determines the search engine corresponding to the data to be searched (e.g., the first data) from the M search data.

[0030] In one possible implementation of the second aspect above, the aforementioned partial or complete search data includes search data that meets the search popularity criteria from search data corresponding to at least one category.

[0031] In this implementation, the M search data in the first correspondence are search data that meet the popularity criteria. Thus, the first correspondence does not need to store the correspondence between search data with low search popularity and their corresponding search engines, further reducing the amount of search data in the first correspondence. This improves the speed at which the first electronic device determines the search engine from the first correspondence and the speed at which the first electronic device responds to user search requests.

[0032] In one possible implementation of the second aspect above, the popularity condition may include at least one of the following conditions: the search popularity of the search data is greater than the search popularity threshold; the search data is one of the first number of search data in the search dataset, sorted by search popularity from high to low among U search data; the search data is one of the second number of search data in the at least one category corresponding to the first information, sorted by search popularity from high to low among the search data of each category; wherein the at least one category corresponding to the first information is at least one category that the user may be interested in based on the first information; the search data is one of the third number of search data in the total search data belonging to the at least one category corresponding to the first information, sorted by search popularity from high to low.

[0033] In one possible implementation of the second aspect above, the method further includes: if the search popularity of the third search data is less than a first threshold during the first time period, transferring the third search data from the first search data subset to the second search data subset; and / or, if the search popularity of the fourth search data is greater than or equal to the second threshold during the second time period, transferring the fourth search data from the second search data subset to the first search data subset.

[0034] In this implementation, the second electronic device can dynamically maintain the search data in the first and second subsets of search data based on the search popularity of the search data. This ensures that the search popularity of the search data determined by the second electronic device from the first subset that matches the first information is consistently high.

[0035] In one possible implementation of the second aspect above, there is no search data matching the first data in the first correspondence; the method includes: sending third information to a first electronic device, wherein the third information instructs to invoke a second search engine to search for the first data.

[0036] In this implementation, the second electronic device can receive a decision request (for requesting a search engine to search the first data) sent by the first electronic device, and determine the second search engine for searching the first data. Then, the second electronic device can send third information instructing the second search engine to search the first electronic device, so that the first electronic device can search the first data based on the second search engine.

[0037] In one possible implementation of the second aspect above, the second search engine is the search engine corresponding to the second search data that matches the first data among U search data, or the search engine determined by the second electronic device based on the search value of the first data searched by P search engines, or the search engine randomly selected by the second electronic device from P search engines.

[0038] In one possible implementation of the second aspect above, the search dataset includes a first subset of search data and a second subset of search data, wherein the search popularity of the search data in the first subset of search data is greater than the search popularity of the search data in the second subset of search data; the second subset of search data is determined based on the following method: searching for search data that matches the first data in the search data excluding M search data in the first subset of search data; if there is no search data that matches the first data in the search data excluding M search data in the first subset of search data, searching for search data that matches the first data in the second subset of search data.

[0039] In this implementation, the second electronic device can first search the first search data subset to see if there is search data that matches the first data, and then search the second search data subset to see if there is search data that matches the first data, which can improve the efficiency of finding second search data that matches the first data.

[0040] In one possible implementation of the second aspect above, the aforementioned device information includes at least one of the following: device model, device brand, device color, device operating mode, device language, operating system type, or operating system version.

[0041] In one possible implementation of the second aspect above, the user profile includes at least one of the user's preferred search category, the user's location, the user's historical search records, or the group to which the user belongs.

[0042] In one possible implementation of the second aspect above, the application information of the search application includes version, display style, or application name.

[0043] Thirdly, a system is provided, comprising a first electronic device and a second electronic device, wherein: the first electronic device is used to perform any of the methods provided in the first aspect; and the second electronic device is used to perform any of the methods provided in the second aspect.

[0044] Fourthly, a readable storage medium is provided, the readable storage medium including one or more programs, which, when executed on an electronic device, cause the electronic device to implement any of the methods provided in the first aspect or any of the methods provided in the second aspect.

[0045] Fifthly, an electronic device is provided, comprising: at least one memory for storing one or more programs; and at least one processor for executing the one or more programs to cause the electronic device to implement any of the methods provided, or any of the methods provided in the second aspect above.

[0046] Sixthly, a computer program product is provided, which, when executed on an electronic device, causes the electronic device to implement any one of the methods provided in the first aspect or the second aspect.

[0047] It should be noted that the beneficial effects of the third to sixth aspects mentioned above can be referred to the content of the first and second aspects, and will not be repeated here. Attached Figure Description

[0048] Figure 1 According to some embodiments of this application, a schematic diagram of searching for first data is shown.

[0049] Figure 2 According to some embodiments of this application, another schematic diagram of searching for first data is shown.

[0050] Figure 3 According to some embodiments of this application, a schematic diagram of a search engine interface for a search application is shown.

[0051] Figure 4 According to some embodiments of this application, a schematic diagram of the architecture of a data processing system is shown.

[0052] Figure 5 According to some embodiments of this application, a schematic diagram of the implementation process of a search method is shown.

[0053] Figure 6 According to some embodiments of this application, a schematic diagram of routing information corresponding to a first subset of search data is shown.

[0054] Figure 7 According to some embodiments of this application, a schematic diagram of a distributed index corresponding to a second subset of search data is shown.

[0055] Figure 8 According to some embodiments of this application, a schematic diagram of the interactive flow of a search method is shown.

[0056] Figure 9 According to some embodiments of this application, a flowchart of a search method is shown.

[0057] Figure 10 According to some embodiments of this application, a schematic flowchart of a data processing method is shown.

[0058] Figure 11 According to some embodiments of this application, a schematic diagram of the structure of an electronic device 100 is shown.

[0059] Figure 12According to some embodiments of this application, a schematic diagram of the structure of an electronic device 200 is shown.

[0060] Figure 13 According to some embodiments of this application, a schematic diagram of the structure of a communication device 300 is shown. Detailed Implementation

[0061] The illustrative embodiments of this application include, but are not limited to, search methods, data processing methods, media, systems, devices, and program products.

[0062] It should be noted that the search engine involved in this application embodiment can be any engine that can retrieve information related to the data requested by the user from the Internet based on the user's search request, including but not limited to Traditional search engines; chatgenerative pre-trained transformers (CHATGPT); large models provided by DeepSeeK (such as DeepSeekLLM, DeepSeek-Coder, DeepSeekMath, DeepSeek-VL, DeepSeek-V2, DeepSeek-Coder-V2 and other versions of large models); Kimi, Wenxin large model, Tongyi Qianwen, Zhiyuan large model and other AI-based search engines.

[0063] The technical solution of this application will now be described in conjunction with the accompanying drawings.

[0064] As described in the background section, an application's search engine is typically configured and remains fixed. This can lead to the application obtaining low-value search results when searching for certain data using this fixed search engine, negatively impacting user experience. For example, the quality (e.g., accuracy, richness, recall) of search results obtained by a search engine targeting sports-related content is usually higher than the quality of search results obtained by a search engine targeting finance-related content targeting sports-related data.

[0065] To improve user experience, in some embodiments, after receiving a user's search request for the first data, the electronic device can send bidding requests to multiple search engines to obtain the search value of the first data from each search engine. Then, the electronic device can select the search engine with the highest search value for the first data from among these multiple search engines to perform a search on the first data.

[0066] It's important to note that search value refers to the value generated by a search engine when it searches for a given set of data. For example, search value can be determined based on at least one of the following parameters: effective cost per mille (ECPM), the number of search results (or recall), and the richness of the search results (e.g., the number of result types, such as images, videos, web pages, books, etc.). Generally, a higher ECPM indicates a higher search value; or, a larger number of search results indicates a higher search value; or, a greater richness of search results indicates a higher search value.

[0067] Based on the above methods, the search value of the search results obtained by electronic devices from searching the first data can be improved, thereby enhancing the user experience.

[0068] For example, Figure 1 According to some embodiments of this application, a schematic diagram of an electronic device 100 searching for first data is shown.

[0069] like Figure 1 As shown, after detecting that a user enters "first data" in the search box U11 of a browser application and clicks the search control U12, the electronic device 100 can send data to P search engines (e.g., search engine S1, search engine S2, ..., search engine S...). P Each search engine sends a bidding request, including the first data, to search engine S1. P After receiving a bidding request for the first data, each of the following can send its own search value (e.g., search engine S1 to search engine S2) to electronic device 100 for searching the first data. P Corresponding to search values ​​V1 to V respectively P Then, electronic device 100 can select search engine S1 to search engine S2. P The search engine with the highest search value is used to search for the first piece of data. For example, in search engines S1 to S2... P When the search value V4 of the search engine S4 is maximized, the electronic device 100 can call the search engine S4 to search for the first data.

[0070] based on Figure 1 As shown, since electronic devices search for the first data using the search engine with the highest search value, the quality of the search results can be improved.

[0071] However, in Figure 1In the process shown, electronic device 100 needs to obtain the search value of the first data from various search engines through bidding requests. This process typically takes tens to hundreds of milliseconds, or even several seconds. This can result in a long time interval between the electronic device 100 receiving the user's search request and displaying the corresponding search results, leading to low search efficiency and negatively impacting the user experience.

[0072] To ensure both the quality and efficiency of search results, this application provides a search method. A first electronic device can store a first correspondence between M search data and N search engines, where one search data corresponds to one search engine, and one search engine corresponds to multiple search data. Upon receiving a user's search request for first data, the first electronic device can determine the first search data matching the first data from the M search data. Then, the first electronic device can invoke the first search engine corresponding to the first search data in the first correspondence to search for the first data. Based on this method, the first electronic device does not need to interact with multiple search engines to obtain the search value of each search engine's search for the first data after receiving a search request. This improves both the search value of the search results and the efficiency of the first electronic device in responding to user search requests, thus enhancing the user experience.

[0073] For example, Figure 2 According to some embodiments of this application, another schematic diagram of searching for first data is shown.

[0074] Taking the aforementioned electronic device 100 as an example, refer to Figure 2 The first correspondence may include M search data (search data D1, search data D2, ..., search data D...). T Search data D M The search engine corresponding to each of the M search data sets. For example, search data D1 corresponds to search engine S1, search data D2 corresponds to search engine S5, and search data D... T The corresponding search engine is S4, and the search data is D. M The corresponding search engine is S2, etc. After receiving a user's search request for the first data, the electronic device 100 can determine the search data D that matches the first data from the first correspondence. T And by searching data D T The corresponding search engine S4 is used to search for the first data.

[0075] For example, electronic device 100 can call the interface of search engine S4 to send a search request for the first data to the server of search engine S4, and obtain the search results for the first data from search engine S4. (Reference) Figure 2 The electronic device 100 can display a search results interface U13 obtained by searching for the first data through the search engine S4. The search results interface U13 can include multiple webpage links related to the first data, such as links corresponding to webpages "www.xxx1.com", "www.xxx2.com", and "www.xxx3.com". The electronic device 100 can respond to a user's click on a link and redirect to the corresponding webpage.

[0076] Based on the above method, after receiving a search request, the electronic device 100 does not need to interact with multiple search engines to obtain the search value of different search engines searching for the first data, which helps to improve the efficiency of the electronic device 100 in responding to search requests.

[0077] In some embodiments, if no search data matching the first data exists in the first correspondence, the first electronic device may search for the first data based on a second search engine. For example, the second search engine may be a preset search engine (such as a search application or operating system preset search engine, a user-configured default search engine, etc.). Alternatively, the second search engine may be a search engine selected by the first electronic device from P search engines through random selection or other means. Yet another example is that the second search engine may be a search engine indicated by the second electronic device.

[0078] In some embodiments, the first data in the search request may include one or more of text, audio, video, and images, or other data that can be used for searching, without limitation herein.

[0079] In some embodiments, the search data can be text, audio, video, or images themselves, or encoded data after feature extraction or encoding of text, audio, video, or images. This application does not limit the scope of the embodiments. For example, for text, the search data in the first correspondence relationship can be text; as another example, for audio, video, and images, since the data occupies a large amount of storage space, the search data in the first correspondence relationship can be encoded data after feature extraction of audio, video, or images. This avoids the first correspondence relationship or search dataset occupying a large amount of storage space.

[0080] In some embodiments, the first search data that corresponds to the first data in the first correspondence relationship can be the search data that matches the first data among the aforementioned M search data. For example, the first search data can be the search data that is completely identical to the first data among the M search data, or it can be the search data with the greatest similarity to the first data among the search data with a similarity greater than a preset value among the M search data, or it can be the search data with the greatest similarity to the first data among the M search data. This application embodiment does not limit this.

[0081] In some embodiments, the application of the first electronic device may be configured with a function to determine the search engine to be used for searching data based on a first correspondence (e.g., an intelligent search engine function, a first function, or a function with other names). When the intelligent search engine function is enabled, the first electronic device can determine the search engine for searching the first data based on the first correspondence; when the intelligent search engine function is disabled, the first electronic device can directly search for the first data based on the aforementioned second search engine or a search engine determined by other means. In this way, personalized needs of users can be met when a search engine is specified, or, for example, the search value of search results can be improved when a search engine is not specified by the user.

[0082] For example, Figure 3 According to some embodiments of this application, a schematic diagram of a search engine interface for a search application of an electronic device 100 is shown.

[0083] like Figure 3As shown, the search engine interface U31 includes an intelligent search engine option U32, a search engine S1 option U33, a search engine S2 option U34, and a custom option U35. When the user selects the intelligent search engine option U32 on the search engine interface U31, the aforementioned intelligent search engine function is enabled. After receiving a search request, the electronic device 100 can use the first search engine corresponding to the first search data to search for the first data if a first search data matching the first search data exists in the first correspondence relationship. When the user selects the search engine S1 option U33 on the search engine interface U31, the aforementioned intelligent search engine function is disabled. After receiving a search request, the electronic device 100 can directly search for data through search engine S1. When the user selects the search engine S2 option U34 on the search engine interface U31, the aforementioned intelligent search engine function is disabled. After receiving a search request, the electronic device 100 can directly search for data through search engine S2. When the user configures other search engines through the custom option U35 on the search engine interface U31, the aforementioned intelligent search engine function is disabled. After receiving a search request, the electronic device 100 can directly call other search engines configured by the user to search for data.

[0084] The following describes how to determine the search engine corresponding to the search data.

[0085] In some embodiments, the search engine corresponding to the search data can be determined based on the search value of each of the P search engines searching the search data.

[0086] For example, the second electronic device can periodically or non-periodically acquire search data from the Internet to obtain a search dataset (the following description assumes the search dataset includes U search data points). Then, for each search data point in the search dataset, the second electronic device can determine the search engine with the highest search value among the aforementioned P search engines as the search engine corresponding to that search data, and store the correspondence between the U search data points and the P search engines in the search dataset. That is, the search dataset includes U search data points, and each of the U search data points and its corresponding search engine.

[0087] The first electronic device can obtain M search data points from the U search data points mentioned above, as well as the search engines corresponding to these M search data points, from the second electronic device. Here, M is less than or equal to P, meaning that the M search data points in the first correspondence can be some or all of the U search data points in the search dataset. When M is less than P, the N search engines corresponding to the M search data points can be some or all of the P search engines mentioned above, meaning N is less than or equal to M.

[0088] In some embodiments, the search engine corresponding to the search data may also be determined based on the category corresponding to the search data.

[0089] Different search engines yield different search values ​​for different categories of search data. For a single search engine, searching multiple search results within the same category typically yields similar search values ​​(both high or all low). For example, a search engine targeting electronics typically yields higher search values ​​for data related to electronics, a search engine targeting finance typically yields higher search values ​​for data related to finance, and a search engine targeting sports typically yields higher search values ​​for data related to sports. Therefore, in some implementations, search data can be categorized using clustering, artificial intelligence models (e.g., intent classification models, natural language processing models, etc.), and a corresponding search engine can be assigned to each category. In this way, the appropriate search engine can be determined based on the category of the search data and the corresponding search engine for that category.

[0090] For example, search data can be categorized into news, education, games, sports, literature, finance, technology, military, film and television, travel, and history. News can correspond to search engine S2, education, literature, and history to search engine S1, finance to search engine S3, technology to search engine S5, and travel, games, and film and television to search engine S6. P Military can correspond to search engine S4. Based on the above relationship, any search data belonging to the news category among the U search data can correspond to search engine S2; any search data belonging to the travel, game, or film category among the U search data can correspond to search engine S. P .

[0091] It should be noted that the above-described method of classifying search data is merely an example. In some embodiments, search data can be divided into more refined categories. For instance, the news category can be further subdivided into hot news, political news, sports news, etc.; the sports category can be subdivided into table tennis, diving, basketball, football, etc.; the film and television category can be subdivided into TV series, movies, variety shows, etc.; and the game category can be subdivided into action, adventure, role-playing, etc. In other embodiments, search data can be divided into multi-level categories, such as multiple major categories, each of which may include multiple subcategories. This application does not limit the classification method of search data or the specific categories obtained from the classification.

[0092] In some embodiments, the search engine corresponding to each category can be determined based on the overall search value of P search engines searching the search data in each category. For example, the second electronic device can first determine the overall search value of the P search engines searching the search data in each category. Then, for any given category, the second electronic device can determine the search engine corresponding to that category as the one among the P search engines with the highest overall search value for searching the search data in that category. For example, taking the news category as an example, in search engines S1 to S2... P The overall search value for searching data within the news category is VA1 to VA2. P In this case, the second electronic device can transmit VA1 to VA P The largest VA in China K The corresponding search engine S K The search engine corresponding to the news category has been identified.

[0093] In some embodiments, the overall search value of a search engine searching for search data in a category can be determined based on the search value of the search engine searching at least a portion of the search data in that category individually (for ease of description, the at least a portion of the search data in a category used to determine the overall search value of the search engine searching for search data in that category is referred to as the sample search data of that category). For example, the overall search value of a search engine searching for search data in a category can be the average, sum, weighted sum, weighted average, etc., of the search values ​​of the search engine searching the sample search data of that category individually, or it can be determined based on other methods.

[0094] For example, if a news category includes I search data points, an electronic device can identify J search data points from these I search data points as sample search data for the news category. Then, a second electronic device can use search engine S... K The search values ​​for the J search data are V respectively. K-1 V K2 ... V K-J In the case of V K-1 V K2 ... V K-J The average, sum, weighted average, or weighted sum are used as the search engine S. K The overall search value of searching data within the news category.

[0095] It should be noted that the above method for determining the overall search value is only one example. In other embodiments, other methods can also be used to determine the overall value of the search engine's search for search data in each category, and this application does not limit this approach.

[0096] In some embodiments, the search engines corresponding to different categories can also be determined in other ways, such as by operation and maintenance personnel based on experience, or by artificial intelligence models, etc., which are not limited here.

[0097] The following describes how to obtain the first correspondence.

[0098] In some embodiments, the first correspondence in the first electronic device may be obtained from the second electronic device. For example, the M search data in the first correspondence may be some or all of the search data in the U search data of the aforementioned search dataset.

[0099] For example, in some embodiments, the M search data in the first correspondence can be personalized search data in the search dataset that matches the user of the first electronic device. For instance, it could be search data that the user of the first electronic device might be interested in, or search data that the user of the first electronic device might frequently search for. Thus, the M search data in the first correspondence can be different for different first electronic devices or different users. This ensures that the first data that the user of the first electronic device wants to search for has matching search data in the first correspondence, and also improves the efficiency of the first electronic device in finding the first search data corresponding to the first data in the first correspondence.

[0100] For example, a first electronic device may send first information associated with the first electronic device and / or its user to a second electronic device. This first information may include one or more of the following: device information of the first electronic device, user profile of the user of the first electronic device, and application information of the search application corresponding to the search request. Then, based on the first information, the second electronic device may determine the M search data matching the first information from the search dataset and send second information including the aforementioned first correspondence to the first electronic device.

[0101] In some embodiments, device information may include one or more of the following: device identifier (e.g., serial number), device model, device brand, device color, device operating mode, device language (e.g., the language of the operating system of the first electronic device), operating system type, operating system version, and device account (e.g., the account used by the electronic device to log in to a cloud service (e.g., a cloud service provided by the manufacturer of the electronic device or other third-party vendors)); user profile may include one or more of the following: user's preferred search categories, user's location, user's historical search records, and user's group (e.g., children, teenagers, students, the elderly, etc.); and application information of the search application may include one or more of the following: version, display style, application name, and the account logged into or associated with the search application.

[0102] It should be noted that the search application can be any application that can search data based on the user's search request, including but not limited to browsers, instant messaging applications, smart assistants, mini-programs, file management applications, image management applications, and client programs of artificial intelligence models (such as large models, large language models, etc.). The specific form of the search application is not limited in the embodiments of this application.

[0103] It should be noted that in some other embodiments, the first information mentioned above may include more or less information, and the device information, user profile, and application information mentioned above may also include more or less information, which is not limited here.

[0104] In some embodiments, the second electronic device determines the M search data that match the first information from the search dataset. These M data may be search data with high search popularity (e.g., search data that meets the search popularity criteria) among the search data matching the first information. This further reduces the number of search data in the first correspondence, improves the efficiency of the first electronic device in finding search data that matches the first information from the first correspondence, and thus further improves the efficiency of the first electronic device in responding to user search requests. The search popularity of a search data point indicates the number of times or frequency of searches performed on that search data by users on the Internet within a certain period.

[0105] In some embodiments, the search popularity condition may include at least one of the following conditions: the search popularity of the search data is greater than the search popularity threshold; the search data is one of the first number of search data items in the search dataset, sorted from high to low search popularity among U search data items; the search data is one of the second number of search data items in each of the at least one category corresponding to the first information, sorted from high to low search popularity among the search data items of each category, wherein the at least one category corresponding to the first information is at least one category that the user may be interested in based on the first information; the search data is one of the third number of search data items in all search data items belonging to the at least one category corresponding to the first information, sorted from high to low search popularity among all search data items.

[0106] In some embodiments, the second electronic device may determine the at least one category corresponding to the first information based on the first information using a pre-trained artificial intelligence model (e.g., a classification model, a natural language processing model, etc.), or it may determine the at least one category corresponding to the first information based on a predefined correspondence between the first information and the category, without limitation.

[0107] In some embodiments, based on the search popularity conditions described above, the second electronic device can determine at least one category that the user of the first electronic device may be interested in (i.e., at least one category corresponding to the first information) based on the first information. Then, some or all of the search data in the search dataset that belong to the at least one of the above categories are determined as the above M search data.

[0108] In some embodiments, the second electronic device can divide the U search data dataset into a first search data subset and a second search data subset based on the search popularity of the U search data data in the search dataset, wherein the search popularity of the search data in the first search data subset is greater than that of the search data in the second search data subset. After receiving the first information sent by the first electronic device, the second electronic device can determine the M search data data that match the first information from the first search data subset. For example, the second electronic device can determine the search data data in the first search data subset that meet the search popularity condition as the M search data data that match the first information. In this way, the second electronic device does not need to match the search data in the second search data subset with the first information, which can improve the efficiency of the second electronic device in determining the M search data data.

[0109] In some embodiments, since the search popularity of search data is typically dynamic, the second electronic device can dynamically maintain the aforementioned first and second subsets of search data to ensure that the search data in the first subset has a high search popularity. This ensures that after receiving device information, user profiles, and / or application information (e.g., first information sent by the first electronic device) from other electronic devices, the second electronic device can determine search data with high search popularity that matches the received device information / user profile / application information from the first subset of search data.

[0110] For example, for any third search data in the first search data, the second electronic device may transfer the third search data from the first search data subset to the second search data subset if the search popularity of the third search data is less than the first threshold within the first time period.

[0111] For example, for any fourth search data in the first search data, the second electronic device may transfer the fourth search data from the second search data subset to the first search data subset if the search popularity of the fourth search data is greater than or equal to the second threshold within the second time period.

[0112] It should be noted that the first threshold and the second threshold can be empirical values ​​or experimental values. The first threshold and the second threshold can be the same or different, and this application embodiment does not limit them.

[0113] It should be noted that in some other embodiments, the first correspondence may be preset when the first electronic device leaves the factory, or preset in the search application, or may be obtained by the first electronic device through other means. This application embodiment does not limit this.

[0114] The technical solution of this application will be introduced below, taking the first electronic device as the client and the second electronic device as the server as an example.

[0115] For example, Figure 4 According to some embodiments of this application, a schematic diagram of the architecture of a data processing system is shown.

[0116] like Figure 4 As shown, the software architecture includes at least one client and a server.

[0117] The client includes a search data management module 11 and a search engine decision module 12. Among them:

[0118] The search data management module 11 is used to obtain the aforementioned first correspondence relationship between the client and the client from the server based on the first information corresponding to the client. The specific content of the first information can be referred to the aforementioned content about the first electronic device, and will not be repeated here.

[0119] In some embodiments, when searching for installed or updated versions of an application, the client can obtain the aforementioned first correspondence relationship corresponding to the client from the server based on the aforementioned first information. After obtaining the first correspondence relationship for the first time, the client can also periodically or non-periodically obtain updated data of the first correspondence relationship from the server based on the first information (which may be incremental data of the updated first correspondence relationship relative to the first correspondence relationship in the client, or the full data of the updated first correspondence relationship), and dynamically update the aforementioned first correspondence relationship stored in the client.

[0120] It should be noted that in other embodiments, the client may also update or obtain the first correspondence from the server under other circumstances (e.g., receiving update trigger information sent by the server), or the first correspondence may be preset in the client, which is not limited here.

[0121] The search engine decision module 12 is used to decide on a search engine to search the first data based on a first correspondence after receiving a user's search request for the first data.

[0122] For example, if there is first search data that matches the first data in the first correspondence, the search engine decision module 12 can determine to search for the first data through the first search engine that corresponds to the first search data in the first correspondence.

[0123] For example, if no search data matching the first data exists in the first correspondence, the search engine decision module 12 can determine to use the aforementioned second search engine to search for the first data. For instance, the search engine decision module 12 can decide on its own which second search engine to use to search the first data; or the search engine decision module 12 can send the first data to the server and receive the second search engine determined by the server. The specific decision-making method for the second search engine can be referred to the methods for determining the second search engine by the first or second electronic device described above, and will not be repeated here.

[0124] It should be noted that in some other embodiments, the search data management module 11 and the search engine decision module 12 described above can be merged into one module or split into more modules, which is not limited here.

[0125] It should be noted that, in some other embodiments, the search data management module 11 and the search engine decision module 12 described above can be integrated into the search application in the client, or they can be used as service modules in the client's operating system. This application does not limit the form in which the search data management module 11 and the search engine decision module 12 exist.

[0126] The server-side includes a search data mining module 21, a search dataset management module 22, and a traffic allocation decision module 23.

[0127] The search data mining module 21 can be used to determine search data that can be used to update or build search datasets based on search requests on the Internet, analysis of web page data on the Internet, and operations by maintenance personnel.

[0128] In some embodiments, the search data mining module 21 can also be used to determine the search popularity of search data.

[0129] In some embodiments, the search data mining module 21 can also be used to determine the category of the search data and the search engine corresponding to different categories. For example, the search data mining module 21 can determine the category to which the mined search data belongs based on an artificial intelligence model (such as a classification model, a natural language processing model, etc.).

[0130] The search data mining module 21 can also be used to determine the search engine corresponding to each search data in the search dataset. For the specific determination method, please refer to the aforementioned content on the second electronic device determining the search engine corresponding to the search data, which will not be repeated here.

[0131] The search dataset management module 22 is used to manage search datasets.

[0132] In some embodiments, the search dataset management module 22 can be used to split the search dataset into a first subset of search data with higher search popularity and a second subset of search data with lower search popularity based on the search popularity of the search data.

[0133] In some embodiments, the search dataset management module 22 can also be used to dynamically update the first and second search data subsets based on the search popularity of search data. For example, if the search popularity of a certain search data in the first search data subset decreases to below a first threshold, the search dataset management module 22 can transfer that search data from the first search data subset to the second search data subset. Conversely, if the search popularity of a certain search data in the second search data subset increases to above or equal to a second threshold, the search dataset management module 22 can transfer that search data from the second search data subset to the first search data subset.

[0134] It should be noted that in some embodiments, the search dataset can be further divided into more subsets of search data, such as high-popularity search data subsets, medium-popularity search data subsets, and low-popularity search data subsets. Specifically, the search popularity of data in the high-popularity search data subset is greater than that of the medium-popularity search data subset, and the search popularity of data in the medium-popularity search data subset is greater than that of the low-popularity search data subset.

[0135] In some embodiments, the search dataset management module 22 can also be used to determine the aforementioned M search data that match the first information in the search dataset based on the first information sent by the client, and to feed back to the client the aforementioned first correspondence indicating the correspondence between the M search data and the N search engines.

[0136] In some embodiments, the search dataset management module 22 may also periodically or non-periodically (e.g., when there are many changes in the data in the first search dataset subset) send update trigger information to the client to trigger the client to resend the first information to obtain the updated first correspondence.

[0137] The traffic splitting decision module 23, upon receiving a decision request (e.g., a decision request including the first data) from the client, determines a second search engine that matches the first data from the search dataset, or determines the second search engine based on the search value of P search engines searching the first data, or randomly selects a second search engine from multiple search engines. After determining the second search engine, the traffic splitting decision module 23 can feed back the determined second search engine to the client, instructing the client to search for the first data through the second search engine.

[0138] In some embodiments, upon receiving a decision request, the traffic splitting decision module 23 may first search the first subset of search data for any search data matching the first data. Secondly, if second search data matching the first data exists in the first subset of search data, the traffic splitting decision module 23 may provide the client with the search engine corresponding to the second search data as the second search engine; if no matching search data exists in the first subset of search data, the traffic splitting decision module 23 may search the second subset of search data for any matching search data. Thirdly, if second search data matching the first data exists in the second subset of search data, the traffic splitting decision module 23 may provide the client with the search engine corresponding to the second search data as the second search engine; if no matching search data exists in the second subset of search data, the traffic splitting decision module 23 may randomly select one search engine from P search engines or provide the client with a preset search engine as the second search engine.

[0139] Since the search popularity of the search data in the first search data subset is high, the probability of search data matching the first data in the first search data subset is high, which can improve the efficiency of the diversion decision module 23 in determining the second search engine, and thus improve the efficiency of the client in obtaining the second search engine for searching the first data.

[0140] It should be noted that the server can provide the client with application programming interfaces (APIs) for the aforementioned functions such as the search dataset management module 22 and the traffic allocation decision module 23. The client can exchange information with the server based on these APIs to implement the relevant functions. For example, the client can use the API of the search dataset management module 22 to obtain the first correspondence, or use the API of the traffic allocation decision module 23 to obtain the second search engine used to search the first data, and can also use the API of the traffic allocation decision module 23 to send posterior data to the traffic allocation decision module 23.

[0141] Below, in conjunction with Figure 4 The architecture of the data processing system shown is illustrated, and the technical solution of this application is introduced.

[0142] For example, Figure 5 According to some embodiments of this application, a schematic diagram illustrating the implementation process of a search method is shown. For example... Figure 5 As shown, the process includes:

[0143] ① Search data mining module 21 mines search data.

[0144] The search data mining module 21 can obtain search data from the Internet or search data entered by maintenance personnel.

[0145] In some embodiments, the search data mining module 21 can also determine the search popularity, category, etc. of the mined search data.

[0146] In some embodiments, the search data mining module 21 can also determine the category of the search data and the corresponding search engine. For example, the search data mining module 21 can obtain the correspondence between the categories entered by the maintenance personnel and the corresponding search engines. As another example, the search data mining module 21 determines the corresponding search engine for each category based on the overall search value of P search engines searching for search data in each category. For details, please refer to the previous section on determining the search engine corresponding to the search data in the second electronic device; further details will not be elaborated here.

[0147] In some embodiments, the search data mining module 21 can also determine the search engine corresponding to the search data based on the category corresponding to the search data and the correspondence between the category and the search engine corresponding to the category. Alternatively, the search data mining module 21 can also determine the search value of P search engines searching for the search data and determine the search engine corresponding to each piece of search data. For details on determining the search engine corresponding to the search data in the second electronic device, please refer to the following, which will not be elaborated here.

[0148] ② The search dataset management module 22 constructs the search dataset.

[0149] The search dataset management module 22 can construct a search dataset based on the search data obtained from the search data mining module 21.

[0150] For example, the search dataset management module 22 can split the search dataset into a first search data subset and a second search data subset based on the search popularity of the search data in the search dataset. In some embodiments, the first search data subset and the second search data subset can be stored and managed in different ways to balance the storage resources of the service and the efficiency of retrieving the search dataset.

[0151] For example, the search dataset management module 22 can load the first subset of search data into the server's memory to construct a hash table corresponding to the first subset of search data. The key in the hash table can be the search data, and the value can be the search engine corresponding to the search data (such as the identifier of the search engine, the name of the search engine, etc.).

[0152] For example, Figure 6 A schematic diagram of routing information corresponding to the first subset of search data is shown.

[0153] refer to Figure 6 The routing information includes a hash table indicating the correspondence between search data in the first subset of search data and the search engine identifiers of the corresponding search engines, and a search engine information table indicating the correspondence between search engine identifiers and search engine names.

[0154] Continue to refer to Figure 6 The aforementioned search engines S1 to S2 P The search engine identifiers can be S1 to S... P Thus, the hash table can store search data D. 1-1 To search data D 1-X The correspondence with S1 (used to indicate the corresponding search engine as X search data of search engine S1), ..., search data D P-1 To search data D P-Y With S P The correspondence (used to indicate the corresponding search engine as search engine S) P (Y search data). Accordingly, the search engine information table may include S1 to S2. P Respectively related to search engines S1 to S2 P This establishes a correspondence between the hash table values. This reduces the amount of data in the hash table, thereby reducing the storage space required for the first subset of data to be searched.

[0155] For example, the search dataset management module 22 can construct a distributed index corresponding to the second search data subset to split the second search data subset into multiple tables. Different tables can be stored on the same or different storage nodes, or on the same or different storage media. Since the amount of search data in the second search data subset is usually large, storing the second search data subset through a distributed index can improve the efficiency of finding data from the second search data subset.

[0156] For example, Figure 7 A schematic diagram of a distributed index corresponding to a second subset of search data is shown.

[0157] like Figure 7 As shown, the second subset of search data can be split into S tables, for example, tables DN1 to DN2. S Among them, Tables DN1 to DN S Each table in the distributed index can store one or more search data entries, along with the corresponding search engine identifiers. Furthermore, the distributed index may also include the aforementioned search engine information table, used to indicate the correspondence between different search engine identifiers and search engines. Figure 7As shown in the distributed index, after receiving the decision request corresponding to the first data, the server can perform parallel operations on tables DN1 to DN2. S Finding search data that matches the first data in the middle helps improve the efficiency of the server in finding search data that matches the first data.

[0158] It should be noted that, Figure 6 and Figure 7 The method of storing the first and second subsets of search data shown is merely an example. In other embodiments, the first and second subsets of search data can be stored using other data structures (such as linked lists, arrays, etc.), which are not limited here.

[0159] In some embodiments, the search data in the first or second subset of search data may also be stored according to their categories, for example, search data belonging to the same category may be stored in adjacent locations or in a single file.

[0160] In some embodiments, search data of the same category can be stored in descending or ascending order of search popularity. This improves the efficiency of the search data management module 11 in obtaining search data that matches the first information sent by the client. For example, if the aforementioned M search data matching the first information are the top V search data in each of at least one category corresponding to the first information, arranged in descending order of search popularity, the server, upon receiving a decision request corresponding to the first data, can start searching for search data matching the first data from the (V+1)th data in the at least one category, instead of searching the top V search data in the at least one category.

[0161] ③ The search data management module 11 sends the first information to the search dataset management module 22.

[0162] The search data management module 11 can send first information to the search dataset management module 22 to instruct the search dataset management module 22 to determine the aforementioned first correspondence that matches the first information.

[0163] ④ The search dataset management module 22 sends the first correspondence to the search data management module 11.

[0164] After receiving the first information sent by the client, the search dataset management module 22 can determine the M search data that match the first information and the corresponding search engines for each of the M search data. Then, the search dataset management module 22 can send second information, including the first correspondence, to the search data management module 11.

[0165] For example, the search dataset management module 22 can identify the search data in the search dataset that matches the first information and meets the aforementioned search popularity conditions as the M search data.

[0166] For example, for Figure 6 In the scenario shown, the search dataset management module 22 determines some or all of the search data that match the first information in the hash table corresponding to the first subset of search data as the aforementioned M search data. For example, the search dataset management module 22 can determine the search data that satisfy the aforementioned search popularity condition in the hash table corresponding to the first subset of search data as the aforementioned M search data.

[0167] It should be noted that the specific method by which the search dataset management module 22 determines the M search data that match the first information can be found in the aforementioned section on the method of obtaining the first correspondence, and will not be repeated here.

[0168] In some embodiments, after receiving the first correspondence, the search data management module 11 can load the first correspondence into the client's memory so that the client can determine the search engine used for the search data based on the first correspondence.

[0169] In some embodiments, when the search data is text, the search data in the first correspondence loaded in the client's memory can be sorted according to the first letter of the search data (ascending or descending order) to improve the efficiency of the search engine decision module 12 in finding the first correspondence.

[0170] ⑤ The search engine decision module 12 receives the user's search request for the first data.

[0171] After receiving a user's search request for the first data, the search engine decision module 12 can trigger the determination of the search engine to search for the first data.

[0172] ⑥ The search engine decision module 12 performs a binary search on the first correspondence.

[0173] Upon receiving a user's search request for first data, the search engine decision module 12 can perform a binary search in the first correspondence to determine whether there is search data matching the first data in the first correspondence. If there is first search data matching the first data in the first correspondence, the search engine decision module 12 determines to use the first search engine corresponding to the first search data to search for the first data.

[0174] It should be noted that the search engine decision module 12's use of binary search to find search data matching the first data in the first correspondence is only one example. In other embodiments, the search engine decision module 12 may also use other search algorithms (such as sequential search, interpolation search, hash search, etc.) to find search data matching the first data in the first correspondence, which is not limited in this application embodiment.

[0175] If no matching first search data exists in the first correspondence, the search engine decision module 12 can use other methods to determine the second search engine for searching the first data. For example, the search engine decision module 12 can decide on the second search engine for searching the first data itself. For details on determining the second search engine using the first electronic device, please refer to the aforementioned content, which will not be elaborated here. After determining whether to use the first search engine or to decide on the second search engine itself, the search engine decision module 12 can invoke either the first or second search engine to search the first data.

[0176] In some embodiments, if there is no first search data matching the first data in the first correspondence, the search engine decision module 12 may also send a decision request to the diversion decision module 23 to determine the second search engine for searching the first data based on the following ⑦ and ⑧.

[0177] ⑦ The search engine decision module 12 sends a decision request to the traffic diversion decision module 23.

[0178] If no first search data matching the first data exists in the first correspondence, the search engine decision module 12 may send a decision request to the diversion decision module 23, which may include the first data.

[0179] ⑧, the diversion decision module 23 sends the third information instructing the second search engine to the search engine decision module 12.

[0180] After receiving the decision request, the traffic diversion decision module 23 can respond to the decision request, determine the second search engine for searching the first search data, and send third information instructing the second search engine to the search engine decision module 12.

[0181] For example, for Figure 6 and Figure 7 In the scenario shown, the traffic splitting decision module 23 can first check in the hash table corresponding to the first subset of search data whether there is search data matching the first data. If there is search data matching the first data in the hash table corresponding to the first subset of search data, the traffic splitting decision module 23 can then select the search engine corresponding to the second search data matching the first data in the hash table corresponding to the first subset of search data (e.g., the search engine corresponding to the first data). Figure 6The search engine S2 shown is identified as the second search engine. If no matching search data exists in the hash table corresponding to the first search data subset, the traffic splitting decision module 23 can search the distributed index corresponding to the second search data subset for matching search data. If matching second search data exists in the distributed index corresponding to the second search data subset, the traffic splitting decision module 23 can select the search engine corresponding to the second search data (e.g., [example search engine]). Figure 7 The search engine S shown P If no matching search data exists in the distributed index corresponding to the first data in the second subset of search data, the diversion decision module 23 can determine the second search engine as either a preset search engine or a search engine randomly selected from P search engines, or determine the second search engine based on the search value of the first data searched by P search engines.

[0182] After determining the second search engine to search the first search data, the traffic distribution decision module 23 can send third information to the search engine decision module 12. Upon receiving the third information, the client can invoke the second search engine to search the first data.

[0183] ⑨ The client sends posterior data to the search dataset management module 22.

[0184] In some embodiments, after the client searches for the first data based on the first search engine or the second search engine, it can send the corresponding first data and the posterior data of the search engine used (the first search engine and the second search engine) to the search dataset management module 22.

[0185] In some embodiments, posterior data is used to indicate the search value of the first data after searching through a first search engine or a second search engine. For example, posterior data may include the number of times a user accessed links in the search results, the number of links in the search results, etc.

[0186] For example, for Figure 3 As shown, the electronic device 100 can send data such as whether the user clicked multiple web page links related to the first data on the search results interface U13, and the number of links clicked by the user on the multiple web page links related to the first data as posterior data to the search dataset management module 22.

[0187] ⑩ The search dataset management module 22 updates the search dataset based on the posterior data.

[0188] The search dataset management module 22 can evaluate the search value of searching the first data using the first search engine (or the second search engine) based on the posterior data, and update the search dataset based on the evaluation results.

[0189] For example, if multiple clients search for the first data using the first search engine, and none of these clients access the links in the search results, or access only a small number of links, it indicates that the search value of the first data through the first search engine is low. The search dataset management module 22 can then adjust the search engine corresponding to the first search data within the search dataset. This avoids assigning the wrong search engine to the first search data when constructing the search dataset, which would negatively impact the user experience.

[0190] It should be noted that options ⑨ and ⑩ above are optional.

[0191] Based on the above process, after receiving a search request, the client can decide which search engine to search for the first data without interacting with multiple search engines, thus improving the efficiency of the client in responding to search requests while ensuring the search value of the search results.

[0192] In conjunction with the foregoing embodiments, this application also provides a search method. For example, Figure 8 According to some embodiments of this application, a schematic diagram of the interactive flow of a search method is shown. For example... Figure 8 As shown, the method includes:

[0193] S801, the first electronic device sends first information to the second electronic device. Correspondingly, the second electronic device receives the first information.

[0194] For example, the first information indicates one or more of the following: device information of the first electronic device, user profile of the user, and application information of the search application corresponding to the search request.

[0195] For example, the first electronic device may send first information to the second electronic device when the search application is installed, or when the search application is running, or periodically or regularly, in order to obtain the first correspondence relationship between the users of the first electronic device.

[0196] It should be noted that in other embodiments, the first electronic device may also send the first information to the second electronic device under other circumstances, which is not limited here. For example, the first electronic device may send the first information when one or more of the following changes occur: the user logged into the first electronic device, the user logged into the application searched on the first electronic device, the device information of the first electronic device, the user profile of the user on the first electronic device, or the application information of the searched application. In this way, the first correspondence in the first electronic device can be updated in a timely manner.

[0197] S802, the second electronic device determines M search data points in the search dataset that match the first information.

[0198] After receiving the first information, the second electronic device can identify M search data points in the search dataset that match the first information.

[0199] S803, the second electronic device sends second information to the first electronic device. Correspondingly, the first electronic device receives the second information.

[0200] For example, the second information includes a first correspondence, which includes the correspondence between M search data and N search engines.

[0201] For example, after identifying M search data points that match the first information, the second electronic device can retrieve the search engines corresponding to each of the M search data points from the search dataset and send the second information to the second electronic device. The second information includes the correspondence between the M search data points and the N search engines. That is, for any one of the M search data points, the first correspondence stores the search engine corresponding to that search data point.

[0202] In some embodiments, the method by which the second electronic device determines the M search data that match the first information can refer to the aforementioned method for obtaining the first correspondence, the aforementioned search dataset management module 22, and the aforementioned ④, and will not be repeated here.

[0203] S804, the first electronic device receives a user's search request for the first data.

[0204] After receiving a user's search request for first data, the first electronic device can call the search engine to search for the first data based on S805 or S806.

[0205] In some embodiments, the first electronic device may receive a user's search request for the first data after detecting that the user has input / selected / captured / recorded the first data and triggered an operation to search for the first data (e.g., an operation on a control on the display interface of the first electronic device used to trigger the search for the first data, an operation on a button on the first electronic device used to trigger the search for the first data, or other operations).

[0206] For example, for Figure 2 As shown, the first electronic device (e.g., electronic device 100) can receive a search request for the first data when it detects that the user has entered "first data" in the search box U11 of a browser application and clicked the search control U12. Alternatively, the first electronic device can also receive a search request for the first data when it detects that the user has taken or selected first data (e.g., an image, video, etc.) and triggered a search for the first data. Yet another example is that the first electronic device can receive a search request for the first data when it detects that the user has recorded first data (the first data is audio) and triggered a search for the first data.

[0207] In some embodiments, the first electronic device may also receive a user's search request for the first data after detecting user input / selection / capture / record of the first data and triggering an instruction to search for the first data (e.g., voice command, air gesture, etc.).

[0208] It should be noted that in other embodiments, the first electronic device may also receive the user's search request for the first data in other circumstances and through other means, which is not limited here.

[0209] S805, the first electronic device, based on the first correspondence, calls the first search engine to search for the first data.

[0210] For example, after receiving a user's search request for first data, the first electronic device can first check whether there is any search data matching the first data among the M search data in the first correspondence. If there is first search data matching the first data among the M search data in the first correspondence, the first electronic device can call the first search engine corresponding to the first search data in the first correspondence to search for the first data, and display the search results for the first data searched by the first search engine.

[0211] For example, for Figure 2 In the scenario shown, the first electronic device can determine the search data D that matches the first data based on the first correspondence. T And by searching data D T The corresponding search engine S4 is used to search for the first data.

[0212] For example, if there is no first search data matching the first data among the M search data in the first correspondence, the first electronic device may execute S806.

[0213] S806, the first electronic device, based on the first correspondence, calls the second search engine to search for the first data.

[0214] For example, if no matching first search data exists among the M search data in the first correspondence, the first electronic device can determine a second search engine for searching the first data itself, or through another electronic device (e.g., the second electronic device). Then, the first electronic device can invoke the second search engine to search for the first data and display the search results for the first data obtained through the second search engine.

[0215] In some embodiments, the first electronic device may determine the second electronic device as a preset search engine or a search engine randomly selected from P search engines.

[0216] In some embodiments, the second search engine may be a search engine determined and instructed by a second electronic device. For example, Figure 8 S806A to S806B illustrate an optional method for obtaining a second search engine indicated by a second electronic device. Figure 8 The dashed lines in S806A and S806 indicate optionality. (For example...) Figure 8 As shown:

[0217] S806A, the first electronic device sends a decision request to the second electronic device, the decision request including first data.

[0218] If no matching first data is found among the M search data in the first correspondence, the first electronic device may send a decision request to the second electronic device. The decision request requests the second electronic device to determine a second search engine for searching the first data, and the decision request may include the first data.

[0219] S806B, the second electronic device sends third information to the first electronic device, the third information instructing the second search engine.

[0220] Upon receiving a decision request, the second electronic device can determine a second search engine for searching the first data. Then, the second electronic device can send third information instructing the second search engine to the first electronic device.

[0221] In some embodiments, if a second electronic device finds a second search data in the U search data of the search dataset that matches the first data, it may identify the search engine corresponding to the second search data as the second search engine.

[0222] For example, after receiving a decision request, the second electronic device can first search the search engine set for search data that matches the first data. If there is second search data matching the first data among the U search data in the search dataset, the second electronic device can determine the search engine corresponding to the second search data as the second search engine. If there is no search data matching the first data among the U search data in the search dataset, the second electronic device can determine a second search engine based on the search value of searching the first data using P search engines.

[0223] In some embodiments, the second electronic device can interact with P search engines to obtain the search values ​​of each of the P search engines when searching for the first data, and determine the search engine with the highest search value among the P search engines as the second search engine. Alternatively, if the search dataset contains U search data points that match the first data, the second electronic device can randomly select one of the P search engines as the second search engine.

[0224] In some embodiments, when searching for whether search data matching the first data exists in the search dataset, the second electronic device may first search for whether search data matching the first data exists in the first search data subset (e.g., other search data in the first search data subset besides the M search data in the first correspondence). If no search data matching the first data exists in the first search data subset, then the device searches for whether search data matching the first data exists in the second search data subset.

[0225] It should be noted that in other embodiments, the second electronic device may also determine the search engine for searching the first data after receiving the decision request from the first electronic device in other ways, which is not limited here.

[0226] Based on the above method, when the first electronic device receives a search request, it can determine the search engine for searching the first data without interacting with multiple search engines, and then search for the first data using the determined search engine. In this way, while ensuring the search value of the search results obtained for the first data, the speed at which the first electronic device responds to search applications can be improved, thus enhancing the user experience.

[0227] This application also provides a search method applied to a first electronic device.

[0228] For example, Figure 9 According to some embodiments of this application, a flowchart of a search method is shown. Figure 9 As shown, the method includes:

[0229] S901: Receives a search request from a user for the first data.

[0230] When the first electronic device receives a user's search request for first data, it can trigger a search method for searching the first data via S902.

[0231] For example, for Figure 2 In the scenario shown, the first electronic device (e.g., electronic device 100) can receive a search request from the user to search for the first data if it detects that the user has entered "first data" in the search box U11 of the browser application and clicked the search control U12.

[0232] It should be noted that the first electronic device may receive a user's search request for the first data after detecting user input / selection / capture / record of the first data (or triggering an instruction to search for the first data (e.g., voice command, air gesture, etc.)), or in other circumstances. For details, please refer to the aforementioned S804, which will not be elaborated upon here.

[0233] S902, based on the first correspondence, the first search engine is used to search for the first data. The first correspondence includes the correspondence between M search data and N search engines. The M search data includes the first search data. The first search data has a correspondence with the first data. The first search engine has a correspondence with the first search data. M and N are positive integers greater than 1. M is greater than or equal to N.

[0234] After receiving a user's search request for first data, the first electronic device can first check if there is any matching search data among the M search data in the first correspondence. If there is matching first search data among the M search data in the first correspondence (i.e., the first search data and the first data have a correspondence), the first electronic device can call the first search engine corresponding to the first search data in the first correspondence to search for the first data and display the search results for the first data through the first search engine. In this way, the first electronic device can decide which search engine to use to search for the first data without interacting with multiple search engines, thus improving the efficiency of the first electronic device in responding to search requests while ensuring the search value of the search results.

[0235] For example, for Figure 2 In the scenario shown, after receiving a user's search request for first data, the first electronic device can determine search data D1 to search data D based on the first correspondence. M Search data D that matches the first data T (as the first search data), and through search data D T The corresponding search engine S4 (as the primary search engine) searches for the primary data.

[0236] In some embodiments, the method by which the first electronic device searches for whether there is search data matching the first data among the M search data in the first correspondence relationship can be referred to the preceding text. Figure 2 The relevant content in sections 6 and 7 will not be elaborated upon here.

[0237] In some embodiments, the first correspondence may be pre-set in the first electronic device or obtained by the first electronic device from the second electronic device. The method by which the first electronic device obtains the first correspondence from the second electronic device can be found in the preceding text regarding the method of obtaining the first correspondence, the aforementioned ③ / ④, and the aforementioned S801 to S803, and will not be repeated here.

[0238] In some embodiments, in the first correspondence, the search engine corresponding to each of the M search data is determined based on the search value of each search data from the P search engines, or based on the category corresponding to each of the M search data and the search engine corresponding to that category. For details on determining the search engine corresponding to search data, please refer to section ① above; these will not be repeated here.

[0239] In some embodiments, when the aforementioned intelligent search engine function is enabled, the first electronic device can search for the first data using the first search engine based on the first correspondence. See the preceding text for details. Figure 3 The details are omitted here.

[0240] In some embodiments, if no matching search data exists among the M search data in the first correspondence, the first electronic device may use a second search engine to search for the first data based on the first correspondence. For details, please refer to the preceding ⑦ / ⑧ and the preceding S806, which will not be repeated here.

[0241] This application also provides a data processing method for a second electronic device.

[0242] For example, Figure 10 According to some embodiments of this application, a schematic flowchart of a data processing method is shown. Figure 10 As shown, the method includes:

[0243] S1001, Receive first information, wherein the first information indicates one or more of the following: device information of the first electronic device, user profile of the user of the first electronic device, and application information of the search application in the first electronic device.

[0244] When the second electronic device receives the first information sent by the first electronic device, it can trigger the data processing method provided in the embodiments of this application.

[0245] In some embodiments, the situation where the second electronic device receives the first information sent by the first electronic device can be referred to the situation where the first electronic device sends the first information to the second electronic device in the aforementioned S801, and will not be repeated here.

[0246] It should be noted that the first information can be sent directly from the first electronic device to the second electronic device, or it can be forwarded by the first electronic device to the second electronic device through one or more intermediate devices (such as routers, switches, and other network devices). No limitation is made here.

[0247] S1002, determine M search data in the search dataset that match the first information, wherein the search dataset includes the correspondence between U search data and P search engines, M is a positive integer greater than 1, U is a positive integer greater than or equal to M, and P is a positive integer greater than 1.

[0248] After receiving the first information sent by the first electronic device, the second electronic device can determine the M search data items that match the first information out of the U search data items in the search dataset, and the search engines corresponding to each of the M search data items. For example, for... Figure 5 In the scenario shown, the second electronic device, based on the search dataset management module 22, can determine the aforementioned M search data that match the first information and the search engines corresponding to the M search data after receiving the first information sent by the first electronic device (as a client).

[0249] In some embodiments, the second electronic device may, based on at least one category corresponding to the first information, identify M search data that match the first information from some or all of the search data in the search dataset belonging to the at least one category.

[0250] In some embodiments, the search dataset may include a first subset of search data and a second subset of search data, wherein the search popularity of the search data in the first subset of search data is greater than the search popularity of the search data in the second subset of search data, and the second electronic device may obtain M search data that match the first information from the first subset of search data.

[0251] In some embodiments, the specific method by which the second electronic device determines the M search data that match the first information can be referred to the content of the above section on the method of obtaining the first correspondence, the above ④, and the above S802, and will not be repeated here.

[0252] In some embodiments, the second electronic device may further determine the search engine corresponding to each of the M search data, for example, N search engines corresponding to the M search data, wherein the search engine corresponding to each of the M search data is one of the N search engines, and N is a positive integer less than or equal to P.

[0253] It should be noted that the search dataset can be stored in the memory of the second electronic device, or in other memory / storage devices that the second electronic device can access but are not limited here.

[0254] S1003, send second information to the first electronic device. The second information includes a first correspondence relationship. The first correspondence relationship includes the correspondence relationship between M search data and N search engines. The first correspondence relationship indicates the search engine used to determine the search data based on the first correspondence relationship.

[0255] After identifying M search data matching the first information, the second electronic device can send second information to the first electronic device. This second information includes a first correspondence indicating the relationship between the M search data and N search engines. Upon receiving the second information, the first electronic device can determine the search engine used for the search data based on the first correspondence.

[0256] It should be noted that after receiving a user's search request for the first data, the first electronic device can determine the search request for retrieving the first data based on the first correspondence, and search for the first data based on the determined search engine. For details, please refer to... Figure 9 The specific implementation examples are not described in detail here.

[0257] For example, the first electronic device can, based on the aforementioned S805 method, if there is first search data matching the first data among the M search data in the first correspondence relationship, call the first search engine corresponding to the first search data in the first correspondence relationship to search for the first data.

[0258] For example, if there is no first search data matching the first data among the M search data in the first correspondence, the first electronic device may make a second search engine for searching the first data based on its own decision, or determine the second search engine for searching the first data based on the interaction between the first electronic device and the aforementioned S806A and S806B.

[0259] In some embodiments, after receiving a decision request including first data sent by the first electronic device, the second electronic device may determine a second search engine for searching the first data and send third information instructing the second search engine to the first electronic device. The method by which the second electronic device determines the second search engine can be referred to in the aforementioned ⑦ / ⑧, the aforementioned S806A and S806B, and the aforementioned... Figure 6 and Figure 7 The details are omitted here.

[0260] Based on the above method, the second electronic device can determine and send a first correspondence matching the first information sent by the first electronic device, so that the first electronic device can determine a search engine for searching data based on the first correspondence. Since the first information is related to one or more of the device information of the first electronic device, the user profile of the user of the first electronic device, and the application information of the search application in the first electronic device, the determined M search data can be associated with the user of the first electronic device. In this way, the search needs of the first electronic device can be met, and the speed at which the first electronic device responds to search requests can be improved.

[0261] This application also provides a computer program product, which may be a software or program product including instructions, capable of running on a computing device or stored on any usable medium. When the computer program product is run on at least one computing device, it causes the at least one computing device to implement the search method or data processing method provided in this application.

[0262] This application also provides a computer-readable storage medium. The computer-readable storage medium can be any storage medium (e.g., magnetic medium, optical medium, semiconductor medium, etc.) capable of storing and / or retrieving data by a computing device. The computer-readable storage medium includes instructions that direct the computing device to implement the search method or data processing method provided in this application.

[0263] This application also provides an electronic device, which includes at least one processor for executing instructions to implement the search method or data processing method provided in the foregoing embodiments.

[0264] This application also provides a first electronic device for executing the search methods provided in the foregoing embodiments.

[0265] This application also provides a second electronic device for performing the aforementioned data processing method.

[0266] This application also provides a system, which includes the aforementioned first electronic device and second electronic device.

[0267] For example, Figure 11 According to some embodiments of this application, a schematic diagram of the structure of an electronic device 100 is shown. When the first electronic device is a terminal device, the first electronic device may adopt the same or similar structure as electronic device 100.

[0268] like Figure 11 As shown, the electronic device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, a headphone jack 170D, a sensor module 180, buttons 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, a barometric pressure sensor 180C, a magnetic sensor 180D, an accelerometer sensor 180E, a distance sensor 180F, a proximity sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.

[0269] Processor 110 may include one or more processing units, such as a CPU, application processor, modem processor, GPU, image signal processor (ISP), microcontroller unit (MCU), video codec, digital signal processor (DSP), baseband processor, neural network processing unit (NPU), field-programmable gate array (FPGA), etc. In some embodiments, different processing units may be independent devices or integrated into one or more processors.

[0270] In some embodiments, the processor 110 may search for the first data based on the search methods provided in the foregoing embodiments.

[0271] The charging management module 140 receives charging input from the charger. While charging the battery 142, the charging management module 140 can also supply power to electronic devices through the power management module 141.

[0272] The power management module 141 is used to connect the battery 142, the charging management module 140, and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140 to power the processor 110, internal memory 121, display 194, camera 193, and wireless communication module 160, etc.

[0273] The wireless communication function of electronic device 100 can be realized through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor and baseband processor, etc.

[0274] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals.

[0275] The mobile communication module 150 can provide wireless communication solutions, including 2G / 3G / 4G / 5G, for use on electronic devices 100.

[0276] The wireless communication module 160 can provide solutions for wireless communication applications on electronic devices 100, including wireless local area networks (WLAN) (such as Wi-Fi), Bluetooth (BT), global navigation satellite system (GNSS), near field communication (NFC), infrared (IR), and near link (NL).

[0277] In some embodiments, the electronic device 100 can communicate with other electronic devices through the mobile communication module 150 and / or the wireless communication module 160, for example, to obtain a first correspondence from the second electronic device, send a decision request to the second electronic device, or receive third information sent by the second electronic device.

[0278] Electronic device 100 implements display functions through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, connected to the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations and for graphics rendering. Processor 110 may include one or more GPUs, which execute program instructions to generate or modify display information.

[0279] Display screen 194 is used to display images.

[0280] Camera 193 is used to capture still images or videos.

[0281] The external memory interface 120 can be used to connect an external memory card. The external memory card communicates with the processor 110 through the external memory interface 120 to perform data storage functions. For example, application data can be stored on the external memory card.

[0282] Internal memory 121 can be used to store one or more programs and corresponding data. Internal memory 121 may include a program storage area and a data storage area. In some embodiments, the program storage area may store an operating system, applications required for at least one function, such as programs / instructions corresponding to the search methods provided in the foregoing embodiments. The data storage area may store data created during the use of electronic device 100. In addition, internal memory 121 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, general-purpose flash memory, etc. Processor 110 executes various functional applications of electronic device 100 by running one or more programs stored in internal memory 121 and / or one or more programs stored in memory disposed in processor 110.

[0283] Electronic device 100 can implement audio functions through audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, and application processor. For example, audio module 170 can be used to play prompts.

[0284] Audio module 170 is used to convert digital audio information into analog audio signal output, and also to convert analog audio input into digital audio signal. Audio module 170 can also be used for encoding and decoding audio signals.

[0285] The loudspeaker 170A, also known as a "loudspeaker", is used to convert audio electrical signals into sound signals.

[0286] The receiver 170B, also known as the "earpiece", is used to convert audio electrical signals into sound signals.

[0287] The microphone 170C, also known as a "microphone" or "voice transducer," is used to convert sound signals into electrical signals.

[0288] The 170D headphone jack is used to connect wired headphones.

[0289] Buttons 190 include a power button, volume buttons, etc. Buttons 190 can be mechanical buttons or touch-sensitive buttons. Electronic device 100 can receive button input and generate key signal inputs related to user settings and function control of electronic device 100.

[0290] Motor 191 can generate vibration alerts. Indicator 192 can be an indicator light, used to indicate charging status, power level changes, or to indicate messages, notifications, etc. In some embodiments, electronic device 100 can alert the user by controlling the vibration of motor 191.

[0291] The SIM card interface 195 is used to connect a SIM card or eSIM.

[0292] It should be noted that the structure of the electronic device 100 shown in the embodiments of this application does not constitute a specific limitation on the electronic device. In other embodiments of this application, the electronic device may include more or fewer components than shown, or combine some components, or split some components, or have different component arrangements. The components shown may be implemented in hardware, software, or a combination of software and hardware.

[0293] It should be noted that electronic device 100 (or the first electronic device) can be any electronic device, including but not limited to mobile station (MS), mobile terminal (MT), etc. For example, electronic devices can be mobile phones, smart TVs, wearable devices, tablets, desktop computers, laptops, virtual reality (VR) devices, augmented reality (AR) devices, terminals in industrial control, self-driving, remote medical surgery, smart grids, transportation safety, smart cities, smart homes, etc. This application does not limit the specific form of the electronic device.

[0294] For example, Figure 12 According to an embodiment of this application, a schematic diagram of the structure of an electronic device 200 is shown. When the first electronic device is an application server or a terminal device, the first electronic device may adopt the same or similar structure as electronic device 200.

[0295] like Figure 12As shown, the electronic device 200 may include one or more processors 201, one or more memories 202, one or more communication interfaces 203, and a bus 204 for coupling the processors, memories, and communication units.

[0296] Processor 201 may include any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).

[0297] Memory 202 may include volatile memory, such as random access memory (RAM). Memory 202 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD).

[0298] The memory 202 stores executable program code, and the processor 201 executes the executable program code to implement the data processing methods provided in each embodiment.

[0299] The communication interface 203 uses transceiver modules such as, but not limited to, network interface cards and transceivers to enable communication between the electronic device 200 and other devices or communication networks. For example, the electronic device 200 can receive first information sent by the first electronic device, send second information including a first correspondence to the first electronic device, receive decision requests sent by the first electronic device, and send third information to the first electronic device through the communication interface 203.

[0300] Bus 204 serves as a pathway for information transmission between various components of electronic device 200 (e.g., processor 201, memory 202, communication interface 203). For example, bus 204 can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus. Buses can be categorized as address buses, data buses, control buses, etc. For ease of representation, Figure 12The symbol is represented by only one line, but this does not mean that there is only one bus or one type of bus.

[0301] It should be noted that, Figure 12 The structure of the electronic device 200 shown is only an example. In other embodiments, the electronic device 200 may include more or fewer components, which is not limited here.

[0302] It should be noted that the electronic device 200 (or the second electronic device) can be any electronic device, including but not limited to servers, server clusters, desktop computers, laptops, etc. This application embodiment does not limit the specific form of the electronic device 200 or the second electronic device.

[0303] Please see Figure 13 This is a schematic diagram of the structure of a communication device provided in an embodiment of this application. The communication device 300 may include a processing module 310 (sometimes also called a processing unit) and a storage module 320 (sometimes also called a storage unit) for storing any data, computer instructions and / or computer programs that may be involved in the various embodiments of this application.

[0304] In some possible implementations, the communication device 300 provided in this application embodiment further includes a transceiver module 330 (sometimes also called a transceiver unit): the transceiver module can implement sending and receiving functions. When the transceiver module implements the sending function, it can be called a sending module (sometimes also called a sending unit), and when the transceiver module implements the receiving function, it can be called a receiving module (sometimes also called a receiving unit). The sending module and the receiving module can be the same functional module, which is called the transceiver module and can implement both sending and receiving functions; or, the sending module and the receiving module can be different functional modules, and the transceiver module is a general term for these functional modules.

[0305] The processing module 310, storage module 320, and transceiver module 330 in this application embodiment are used to enable the communication device 300 to perform the functions of the first electronic device or the second electronic device in the above method embodiment.

[0306] The following describes the various modules in the first electronic device, using the communication device 300 to implement the functions of the first electronic device in the above method embodiments. In some possible implementations, in the communication device 300 provided in this application embodiment, the processing module 310 is used to receive a user's search request for first data, and based on a first correspondence, to call a first search engine to search for the first data. The first correspondence includes correspondences between M search data and N search engines. The M search data include first search data, and the first search data has a correspondence with the first data. The first search engine has a correspondence with the first search data, and M and N are positive integers greater than 1, where M is greater than or equal to N. The storage module 320 is used to store any data, computer instructions, and / or computer programs that may be involved in the various embodiments of this application.

[0307] The following describes the various modules in the second electronic device, using the communication device 300 to implement the functions of the second electronic device in the above method embodiments. In some possible implementations, in the communication device 300 provided in this application embodiment, the processing module 310 is used to determine M search data, where M is a positive integer greater than 1. The transceiver module 330 is used to send second information to the first electronic device. The second information includes a first correspondence relationship, which includes the correspondence between the M search data and N search engines. The first correspondence relationship is used to determine the search engine used when searching for the data, where N is a positive integer greater than 1 and less than or equal to M.

[0308] For more detailed operation methods of the above-mentioned processing module 310, storage module 320 and transceiver module 330, please refer to the description in the above method embodiments, which will not be repeated here.

[0309] It should be noted that the physical device corresponding to the processing module 310 in this device can be a processor, and the physical device corresponding to the transceiver module 330 can be a transceiver. The physical device corresponding to the storage module 320 can be a memory.

[0310] It should be noted that the information interaction and execution process between the modules of the above-mentioned device are based on the same concept as the method embodiment of this application, and the resulting technical effects are the same as those of the method embodiment of this application. For details, please refer to the description in the method embodiment shown above in this application, and it will not be repeated here.

[0311] It should be noted that, in the description of this application, unless otherwise stated, " / " means "or". For example, A / B can mean A or B. The "and / or" in this document is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. Furthermore, "at least one item", "one or more of the following", or similar expressions refer to any combination of these items, including any combination of single or multiple items. For example, at least one of a, b, or c can represent: a, b, c; a and b; a and c; b and c; or a and b and c. Here, a, b, and c can be single or multiple.

[0312] It should be noted that in the embodiments of this application, terms such as "for example," "in some embodiments," "in another embodiment," "in yet another embodiment," and "exemplarily" are used to indicate examples, illustrations, or descriptions. Any embodiment or design scheme described as an "example" in this application should not be construed as being more preferred or advantageous than other embodiments or design schemes. Specifically, the use of the term "example" is intended to present concepts in a concrete manner.

[0313] It should be noted that the terms "first" and "second" used in the embodiments of this application are only used for descriptive purposes and should not be construed as indicating or implying relative importance or order. The term "equal to" in the embodiments of this application can be used with "greater than" to apply to technical solutions used when "greater than," and can also be used with "less than" to apply to technical solutions used when "less than." It should be noted that when "equal to" is used with "greater than," it is not used with "less than," and vice versa.

[0314] In the accompanying drawings, some structural or methodological features may be shown in a specific arrangement and / or order. However, it should be understood that such a specific arrangement and / or order may not be necessary. Rather, in some embodiments, these features may be arranged in a manner and / or order different from that shown in the illustrative drawings. Furthermore, the inclusion of structural or methodological features in a particular figure does not imply that such features are required in all embodiments, and in some embodiments, these features may be omitted or may be combined with other features.

[0315] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of the present invention.

Claims

1. A search method, characterized in that, Applied to a first electronic device, the method includes: Receive user search requests for the first data; Based on the first correspondence, the first search engine is invoked to search for the first data. The first correspondence includes the correspondence between M search data and N search engines. The M search data includes the first search data. The first search data has a correspondence with the first data. The first search engine has a correspondence with the first search data. M and N are positive integers greater than 1, and M is greater than or equal to N.

2. The method according to claim 1, characterized in that, The correspondence between the M search data and the N search engines is determined based on the search value obtained by searching the M search data by the P search engines, or the correspondence between the M search data and the N search engines is determined based on the category corresponding to the M search data and the search engine corresponding to the category, where P is a positive integer greater than or equal to N.

3. The method according to claim 1 or 2, characterized in that, The method further includes: Send first information to a second electronic device, wherein the first information indicates the determination of the M search data and the search engines corresponding to the M search data from the search dataset, and the first information indicates one or more of the device information of the first electronic device, the user profile of the user, and the application information of the search application corresponding to the search request; Receive second information from the second electronic device, the second information including the first correspondence.

4. The method according to claim 3, characterized in that, The device information includes at least one of the following: device identifier, device model, device brand, device color, device operating mode, device language, operating system type, operating system version, or device account.

5. The method according to claim 3 or 4, characterized in that, The user profile includes at least one of the following: the user's preferred search categories, the user's location, the user's historical search records, or the group the user belongs to.

6. The method according to any one of claims 3 to 5, characterized in that, The application information of the search application includes one or more of the following: version, display style, application name, logged-in account, or associated account.

7. The method according to claim 3, characterized in that, The M search data include search data that meets the search popularity condition from the search data that matches the first information, wherein the search data that matches the first information is the search data in the search dataset.

8. The method according to any one of claims 1 to 7, characterized in that, The method further includes: Based on the first correspondence, a second search engine is invoked to search for the first data, wherein there is no search data matching the first data in the first correspondence, and the second search engine is any one of the following: a preset search engine, a search engine selected by the first electronic device from P search engines, or a search engine indicated by the second electronic device.

9. The method according to any one of claims 1 to 8, characterized in that, The first data includes at least one of the following: images, text, audio, or video.

10. The method according to any one of claims 1 to 5, characterized in that, The step of calling the first search engine to search for the first data based on the first correspondence includes: When the first function of the search application corresponding to the search request is enabled, the first search engine is invoked to search for the first data based on the first correspondence.

11. A data processing method, characterized in that, Applied to a second electronic device, the method includes: Receive first information, wherein the first information indicates one or more of the following: device information of the first electronic device, user profile of the user of the first electronic device, and application information of the search application in the first electronic device; Determine M search data in the search dataset that match the first information, wherein the search dataset includes the correspondence between U search data and P search engines, M and P are positive integers greater than 1, and U is a positive integer greater than or equal to M; Send second information to the first electronic device, wherein the second information includes a first correspondence relationship, the first correspondence relationship includes the correspondence relationship between the M search data and N search engines, the first correspondence relationship is used to determine the search engine used when searching the data, and N is a positive integer less than or equal to P.

12. The method according to claim 11, characterized in that, The correspondence between the U search data and the P search engines is determined based on the search value of each of the P search engines searching the M search data. Alternatively, the correspondence between the U search data and the P search engines is determined based on the categories corresponding to the U search data and the search engines corresponding to those categories.

13. The method according to claim 11 or 12, characterized in that, The determination of the M search data points in the search dataset that match the first information includes: Determine at least one category corresponding to the first information, wherein the categories corresponding to the U search data include the at least one category; The search data of at least one category in the search dataset corresponding to the search data are determined as the M search data.

14. The method according to claim 13, characterized in that, The search dataset includes a first subset of search data and a second subset of search data. The search popularity of the search data in the first subset of search data is greater than that of the search data in the second subset of search data. Some or all of the search data are search data from the first subset of search data.

15. The method according to claim 14, characterized in that, The partial or complete search data includes search data that meets the search popularity criteria from the search data corresponding to at least one category.

16. The method according to claim 14 or 15, characterized in that, The method further includes: If the search popularity of the third search data is less than the first threshold during the first time period, the third search data will be transferred from the first search data subset to the second search data subset. And / or, if the search popularity of the fourth search data is greater than or equal to the second threshold during the second time period, the fourth search data is transferred from the second search data subset to the first search data subset.

17. The method according to any one of claims 11 to 16, characterized in that, The first correspondence does not contain search data that matches the first data; the method includes: Send a third message to the first electronic device, wherein the third message instructs a second search engine to search for the first data.

18. The method according to claim 17, characterized in that, The second search engine is the search engine corresponding to the second search data that matches the first data among the U search data, or the search engine determined by the second electronic device based on the search value of the first data searched by the P search engines, or the search engine randomly selected by the second electronic device from the P search engines.

19. The method according to claim 18, characterized in that, The search dataset includes a first subset of search data and a second subset of search data, wherein the search popularity of the search data in the first subset of search data is greater than the search popularity of the search data in the second subset of search data; the second subset of search data is determined based on the following method: In the first subset of search data excluding the M search data, search for search data that matches the first data; If no matching search data exists in the first search data subset other than the M search data, then a matching search data is searched in the second search data subset.

20. The method according to any one of claims 11 to 19, characterized in that, The device information includes at least one of the following: device model, device brand, device color, device operating mode, device language, operating system type, or operating system version.

21. The method according to any one of claims 11 to 20, characterized in that, The user profile includes at least one of the following: the user's preferred search categories, the user's location, the user's historical search records, or the group the user belongs to.

22. The method according to any one of claims 11 to 21, characterized in that, The application information for the search application includes version, display style, or application name.

23. A system, characterized in that, Includes a first electronic device and a second electronic device, wherein: The first electronic device is used to perform the method according to any one of claims 1 to 10; The second electronic device is used to perform the method according to any one of claims 11 to 22.

24. A readable storage medium, characterized in that, The readable storage medium includes one or more programs that, when executed on an electronic device, cause the electronic device to perform the method of any one of claims 1 to 10, or the method of any one of claims 11 to 22.

25. An electronic device, characterized in that, include: Memory, used to store one or more programs; At least one processor is configured to execute the one or more programs to cause the electronic device to perform the method of any one of claims 1 to 10, or the method of any one of claims 11 to 22.

26. A computer program product, characterized in that, When the computer program product is executed on an electronic device, it causes the electronic device to perform the method described in any one of claims 1 to 10, or the method described in any one of claims 11 to 22.