Data recall method, related device and search system

By monitoring complete words within the search box and automatically initiating data requests for some recall channels, and switching to other recall channels within a preset time, combined with streaming response and cached search, the problems of latency and resource waste in the data recall process are solved, improving user experience and system performance.

CN121502078APending Publication Date: 2026-02-10BEIJING BAIDU NETCOM SCI & TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511657518.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-11-12
Publication Date
2026-02-10

AI Technical Summary

Technical Problem

In existing technologies, the data retrieval process suffers from high latency, poor user experience, resource waste, and poor robustness in weak network environments, especially during high-frequency searches and peak traffic periods, which can easily lead to slower server response.

Method used

The system automatically initiates a first search request after monitoring complete words in the search box, uses partial recall channels for data retrieval, and initiates a second search request if there is no change within a preset time period, using other channels besides partial recall channels for data retrieval. It combines streaming response and cached search to optimize data display.

Benefits of technology

It reduces the recall pressure on the server side, lowers user waiting time, improves the speed of the first screen of search results, and enhances robustness and user experience in weak network environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121502078A_ABST
    Figure CN121502078A_ABST
Patent Text Reader

Abstract

The invention provides a data recall method, a related device and a search system, and relates to the technical field of computers, in particular to the technical field of search, the technical field of data recall and the technical field of big data analysis, and the specific implementation scheme is as follows: initiating a first search request to a server according to candidate keywords in a search box, the first search request is used for indicating the server to carry out data recall through a partial recall path based on the candidate keyword; displaying response data of the first search request; in response to the situation that the candidate keywords in the search box are not changed after a preset duration, initiating a second search request to the server; the second search request is used for indicating the server to perform data recall at least through other recall paths except the partial recall paths based on the candidate keyword; and displaying response data of the second search request.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of computer technology, and in particular to the fields of search technology, data retrieval technology, and big data analysis technology, specifically to data retrieval methods, search systems, terminals, servers, electronic devices, computer-readable storage media, and computer program products. Background Technology

[0002] Data recall is a core preliminary step in recommendation systems, information retrieval, big data analysis, and other fields. It aims to quickly filter out candidate data sets related to user query needs (such as personalized recommendation trigger conditions and keyword searches) from datasets (such as product databases and document databases), providing basic support for subsequent accurate ranking and result output. It is widely used in e-commerce product recommendations, search engine result filtering, and intelligent customer service knowledge base matching scenarios. Summary of the Invention

[0003] This disclosure provides a data retrieval method, search system, terminal, server, electronic device, computer-readable storage medium, and computer program product that can reduce server load and user waiting time.

[0004] According to one aspect of this disclosure, a data retrieval method is provided. The data retrieval method includes: initiating a first search request to a server based on candidate keywords in a search box, the first search request instructing the server to retrieve data based on the candidate keywords through partial retrieval pathways; displaying response data for the first search request; in response that the candidate keywords in the search box have not changed after a preset time period, initiating a second search request to the server; the second search request instructing the server to retrieve data based on the candidate keywords through at least other retrieval pathways besides partial retrieval pathways; and displaying response data for the second search request.

[0005] According to another aspect of this disclosure, a data retrieval method is provided, applied to a server. The data retrieval method includes: in response to receiving a first search request from a terminal, performing data retrieval based on candidate keywords in the first search request through a partial retrieval pathway; wherein the first search request is initiated by the terminal based on candidate keywords in a search box; feeding back response data of the first search request determined based on the data retrieved from the first search request to the terminal; in response to receiving a second search request from the terminal, performing data retrieval based on candidate keywords in the second search request through at least other retrieval pathways besides the partial retrieval pathway; wherein the second search request is initiated by the terminal after determining that the candidate keywords in the search box have not changed after a preset time period; feeding back response data of the second search request determined based on the data retrieved from the second search request to the terminal.

[0006] According to another aspect of this disclosure, a terminal is provided. The terminal includes a first request module, a first display module, a second request module, and a second display module. The first request module is configured to initiate a first search request to a server based on candidate keywords in a search box. The first search request instructs the server to retrieve data based on the candidate keywords through a specified retrieval channel among all retrieval channels. The first display module is configured to display the response data of the first search request. The second request module is configured to initiate a second search request to the server in response to the candidate keywords in the search box not changing after a preset time. The second search request instructs the server to retrieve data based on the candidate keywords through all retrieval channels. The second display module is configured to display the response data of the second search request.

[0007] According to another aspect of this disclosure, a server is provided. The server includes a first search module, a first feedback module, a second search module, and a second feedback module. The first search module is configured to, in response to receiving a first search request from a terminal, retrieve data based on candidate keywords in the first search request through a partial retrieval pathway. The first search request is initiated by the terminal based on candidate keywords in a search box. The first feedback module is configured to feed back response data of the first search request, determined based on the data retrieved from the first search request, to the terminal. The second search module is configured to, in response to receiving a second search request from a terminal, retrieve data based on candidate keywords in the second search request through at least other retrieval pathways besides the partial retrieval pathway. The second search request is initiated by the terminal after determining that the candidate keywords in the search box have not changed after a preset time period. The second feedback module is configured to feed back response data of the second search request, determined based on the data retrieved from the second search request, to the terminal.

[0008] According to another aspect of this disclosure, a search system is provided. The search system includes a terminal and a server. The terminal is configured to initiate a first search request based on candidate keywords in a search box; and, in response to the candidate keywords in the search box remaining unchanged after a preset time, initiate a second search request; display response data for the first search request; and display response data for the second search request. The server is configured to, in response to receiving the first search request from the terminal, perform data retrieval based on the candidate keywords in the first search request through a partial retrieval pathway; and feed back the response data for the first search request determined based on the data retrieved from the first search request to the terminal; and, in response to receiving the second search request from the terminal, perform data retrieval based on the candidate keywords in the second search request through at least other retrieval pathways besides the partial retrieval pathway; and feed back the response data for the second search request determined based on the data retrieved from the second search request to the terminal.

[0009] According to another aspect of this disclosure, an electronic device is provided, comprising: at least one processor and a memory. The memory is communicatively connected to the at least one processor and stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the methods mentioned above.

[0010] According to another aspect of this disclosure, a non-transitory computer-readable storage medium is provided storing computer instructions, wherein the computer instructions are used to cause a computer to perform the methods mentioned above.

[0011] According to another aspect of this disclosure, a computer program product is provided, including a computer program that, when executed by a processor, implements the methods mentioned above.

[0012] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0013] The accompanying drawings are provided to better understand this solution and do not constitute a limitation of this disclosure. Wherein: Figure 1 A schematic block diagram of an exemplary system architecture to which the data retrieval method of this disclosure can be applied is shown; Figure 2 This is a flowchart illustrating the data retrieval method according to the first embodiment of this disclosure; Figure 3 This is a schematic diagram of a scenario for a data retrieval method according to the first embodiment of this disclosure; Figure 4 This is a schematic flowchart of a data retrieval method according to a second embodiment of the present disclosure; Figure 5 This is a schematic flowchart of a data retrieval method according to a third embodiment of the present disclosure; Figure 6 This is a schematic diagram of a data retrieval method according to some embodiments of the present disclosure; Figure 7 This is a schematic flowchart of a data retrieval method according to the fourth embodiment of the present disclosure; Figure 8 This is a schematic block diagram of a terminal according to the fifth embodiment of the present disclosure; Figure 9 This is a schematic block diagram of a server according to the sixth embodiment of the present disclosure; Figure 10 This is a schematic block diagram of a search system according to a seventh embodiment of the present disclosure; Figure 11A schematic block diagram of an example electronic device that can be used to implement embodiments of the present disclosure is shown. Detailed Implementation

[0014] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.

[0015] Figure 1 A schematic block diagram of an exemplary system architecture to which the data retrieval method of this disclosure can be applied is shown.

[0016] like Figure 1 As shown, system architecture 100 may include terminals 101, 102, and 103, network 104, and server 105. Network 104 is used as a medium to provide a communication link between terminals 101, 102, and 103 and server 105. Network 104 may include various connection types, such as wired or wireless communication links or fiber optic cables, etc.

[0017] Users can use terminals 101, 102, and 103 to interact with server 105 via network 104 to receive or send messages, etc. Various communication client applications can be installed on terminals 101, 102, and 103, such as video applications, live streaming applications, instant messaging tools, email clients, social media platform software, etc.

[0018] The terminals 101, 102, and 103 here can be either hardware or software. When terminal devices 101, 102, and 103 are hardware, they can be various electronic devices with displays, such as in-vehicle infotainment systems. When terminal devices 101, 102, and 103 are software, they can be installed in the electronic devices listed above. They can be implemented as multiple software programs or software modules (e.g., multiple software programs or software modules used to provide distributed services) or as a single software program or software module. No specific limitations are made here.

[0019] Server 105 can be a server that provides various services, such as a backend server that supports terminals 101, 102, and 103. The backend server can perform data retrieval processing based on the first or second search request and feed back the processing results (such as the retrieved data) to the terminals.

[0020] It should be noted that some of the data retrieval methods provided in this embodiment can be executed by server 105, and some of the data retrieval methods can be executed by terminals 101, 102, and 103.

[0021] It should be understood that, Figure 1 The number of terminals, networks, and servers shown is merely illustrative. Depending on implementation needs, any number of terminals, networks, and servers can be included.

[0022] In some technologies, a terminal's search scheme typically follows a simple "request-response" model. For example, the user enters a search term in the search box. Each time the user enters a character, the terminal sends a network request to the server (e.g., ...). Figure 1 The terminal retrieves search suggestions from the server. If the terminal detects that the user clicks "Search" or presses the Enter key, it encapsulates the search terms in the search box into an API (Application Programming Interface) request and sends it to the server. The server receives the request, performs query analysis, inverted index retrieval, multi-stage complex sorting, business logic processing, etc., and finally encapsulates the sorted complete result list into JSON (a data format) and returns it to the terminal. The terminal receives the data, parses it, and renders it onto the UI (User Interface). However, the above search scheme has the following problems: 1. High latency: The round-trip latency of the request is combined with the processing latency of the server. During this process, the user needs to wait without any results being displayed, resulting in high waiting latency. 2. Poor user experience: The interface is "frozen" or "blank" before the result is returned, resulting in an inconsistent user experience. 3. Waste of resources: For the terminal, if a request is initiated for every character detected, it consumes power and data; for the server, every keystroke or search request requires local resources to respond, which does not make reasonable use of the terminal's computing and storage capabilities. 4. Unavailable in weak network environments: If a network request times out or fails, the entire search function becomes unusable, resulting in poor robustness.

[0023] To address any or all of the aforementioned problems, a first embodiment of this disclosure provides a data retrieval method. Figure 2 This is a flowchart illustrating a data retrieval method according to a first embodiment of this disclosure. The entity executing this data retrieval method may be... Figure 1 The examples are terminals 101, 102, and 103. (For instance...) Figure 2 As shown, the data retrieval method 200 may include the following steps: Step 201: Based on the candidate keywords in the search box, initiate the first search request to the server.

[0024] In this embodiment, the executing entity can automatically initiate a first search request to the server based on candidate keywords in the search box, without waiting for the user to trigger a search command by clicking the search button or pressing the Enter key, thus responding to user search needs more quickly. The first search request initiated by the executing entity instructs the server to retrieve data through a partial retrieval path based on candidate keywords, rather than the entire retrieval path, reducing the number of retrieval paths the server needs to use and lowering server load. Here, the retrieval path can refer to the technical link from triggering a user request to obtaining a set of data related to that request.

[0025] For ease of understanding, the recall pathway is illustrated below.

[0026] As an example, a recall pathway can include the following four parts: a demand parsing module, a data source location module, a filtering rule execution module, and a result output and transmission module. The demand parsing module is used to parse executable recall conditions based on the first search request. For example, taking an e-commerce application where the terminal is the executing entity triggering the first search request, if the candidate keyword in the first search request is "audio equipment," the demand parsing module can parse "recall conditions = keyword is audio equipment + user's current location + real-time inventory status" based on the first search request. The user's current location and real-time inventory status can be adjusted as needed; they can be pre-set conditions or search conditions clicked by the user in the terminal's search interface. These search conditions can be carried in the first search request and then sent to the server. The data source location module can locate the data source that meets the requirements based on the parsed recall conditions. This data source may be the cache, database, third-party data interface, etc., corresponding to this recall pathway. The data source location module avoids indiscriminately traversing the entire dataset. The filtering rule execution module can be used to filter relevant data from the located data sources according to preset rules (such as keyword matching, user preference matching, timeliness filtering, etc.). The result output and transmission module can be used to organize the filtered relevant data according to a preset format and pass it to subsequent stages through an API interface, such as a ranking system deployed on the server. This ranking system can be used to rank the data retrieved from various recall channels.

[0027] It should be understood that, without departing from the teachings of this disclosure, the types of recall channels can be set according to project needs. For example, when classifying channels based on filtering rules, recall channels may include keyword recall channels adapted to search scenarios, collaborative filtering recall channels adapted to recommendation scenarios, content feature recall channels adapted to exact matching scenarios, and real-time behavior recall channels adapted to dynamic demand scenarios. It is understood that the classification method based on recall channel types can also be set as needed. For example, in addition to classification based on filtering rules, classification can also be based on data source type. For example, recall channels may include commercial advertising search recall channels, popular science search recall channels, artificial intelligence (AI) search recall channels, video search recall channels, blog search recall channels, webpage search recall channels, image search recall channels, etc. This disclosure does not limit the number and type of recall channels deployed on the server side.

[0028] It should be understood that, without departing from the teachings of this disclosure, the method of specifying partial recall paths can be configured as needed. For example, partial recall paths can be specified by the terminal. For example, the executing entity carries the identifier of the partial recall path in the first search request, and the server determines which recall paths need to be used to respond to the first search request based on the identifier. Furthermore, each recall path in the server can be configured as high priority or low priority, and some recall paths can be recall paths configured as high priority. This disclosure does not limit the method of specifying partial recall paths.

[0029] In some embodiments of the present disclosure, considering that high-frequency search and association requests can impose a huge pressure on the server, especially during peak traffic periods, which can easily lead to slower service responses, the executing entity can respond to detecting a complete word in the search box, determine candidate keywords based on the complete word, and initiate a first search request to the server based on the candidate keywords. In this example, the executing entity can monitor the search box. When the executing entity detects that a complete word has been entered in the search box, if the complete word is the first word in the search box, the complete word can be used as a candidate keyword; if the complete word is not the first word in the search box, the candidate keyword can be determined based on all the words in the search box. For example, the executing entity can combine strongly related consecutive words among all the words to form a candidate keyword, and use weakly related consecutive words as candidate keywords separately. For example, all the words in the search box include "wireless" and "headphone", which are strongly related, and the executing entity can use "wireless headphone" as a candidate keyword. Another example is that all the words in the search box include "autumn" and "Area A", which are weakly related, and the executing entity can use both "autumn" and "Area A" as candidate keywords. In this example, the executing entity continuously monitors the content in the search box and initiates the first search request only after a complete word appears in the search box, which can reduce the number of request transmissions and reduce the impact of network requests on power consumption and data traffic.

[0030] It should be understood that without departing from the teachings of the present disclosure, a complete word can refer to the smallest language unit that can independently express a specific semantics, has a complete grammatical function, and cannot be arbitrarily split. Without departing from the teachings, a complete word can also have other meanings, and the present disclosure does not limit this.

[0031] It should be understood that without departing from the teachings of the present disclosure, the method for determining the strength of the correlation between words can be set as needed. For example, the executing entity can calculate the ratio of "the probability of co-occurrence of word A and word B" to "the product of the probabilities of word A and word B appearing alone" among all the words that appear in the search box to quantify the degree of their dependence. The larger the positive value of the ratio, the stronger the correlation. If the ratio is negative or close to 0, the correlation is weak or there is no correlation. The present disclosure does not limit the method for determining the strength of the correlation between words.

[0032] In some embodiments of the present disclosure, the executing entity can monitor the content of the search box; in response to detecting that the content of the search box has changed from the pinyin state to the Chinese character state, it is determined that a complete word has appeared in the search box. Here, the pinyin state can refer to the pinyin form, for example, "pengyou", and the Chinese character state can refer to the Chinese character form, for example, "朋友". After the content in the search box changes from the pinyin state to the Chinese character state, for example, "pengyou" becomes "朋友", the executing entity can determine that a complete word has appeared in the search box.

[0033] In some embodiments of this disclosure, the executing entity can monitor the content of the search box; in response to detecting that the input method's input content appears in the search box, it determines that a complete word has appeared in the search box. In some applications with search functions, the supported input method first performs association based on the characters entered by the user, providing multiple candidate words. After the user selects a candidate word from the candidate words, that candidate word is displayed. In this case, the executing entity can determine whether a complete word has appeared based on whether the input method's input content appears in the search box.

[0034] In some embodiments of this disclosure, the executing entity can monitor the content of the search box; in response to detecting the appearance of a specified character in the search box, it determines that a complete word has appeared in the search box. For example, based on common usage habits, spaces, commas, and other symbols are usually used to separate words. When a user enters a space, comma, or other symbol, the user has usually completed the input of a complete word. Therefore, the executing entity can monitor whether a specified character appears in the search box to determine whether a complete word has appeared. The specified character can be set based on experience and is not limited here.

[0035] Optionally, the executing entity can simultaneously adopt multiple methods for judgment. By using multiple methods to judge complete words, the accuracy of the judgment can be improved.

[0036] It should be understood that, without departing from the teachings of this disclosure, the implementing body may make a complete word determination in other ways, and this disclosure does not restrict this.

[0037] Step 202: Display the response data for the first search request.

[0038] In this embodiment, after issuing a first search request, if the executing entity receives response data for the first search request, it can display the response data. In this case, the executing entity can display data related to the entered complete words to the user even if the user enters part or all of the complete words related to their needs but no search instruction is triggered, thus reducing the user's waiting time.

[0039] Step 203: In response to the fact that the candidate keywords in the search box have not changed after a preset time, a second search request is sent to the server.

[0040] In this embodiment, when the executing entity detects that the user has not entered any content within a preset time period, it initiates a second search request to the server. This second search request instructs the server to retrieve data based on candidate keywords through at least all recall channels except for some recall channels. For example, the second search request instructs the server to retrieve data based on candidate keywords through all recall channels. Alternatively, the second search request instructs the server to retrieve data based on candidate keywords through all recall channels except for some recall channels. In this case, the server does not need to repeatedly trigger the previously used partial recall channels, reducing the processing load on the server.

[0041] It should be understood that, without departing from the teachings of this publication, the preset duration can be set according to the needs of the project, search scenario, etc., for example, it can be set to 0.5s, etc., and there are no restrictions here.

[0042] In some embodiments of this disclosure, the first or second search request is further used to instruct the server to provide streaming response feedback of data retrieved based on candidate keywords. Streaming response is a mode of data transmission and content presentation. For example, streaming response may refer to breaking down the complete response content into multiple consecutive data segments, transmitting them step-by-step in logical order, and presenting them in real time, rather than waiting for all content to be generated before transmitting it all at once. In this example, the server's streaming response feedback can reduce the time required to display the first screen of the search results, improve the speed of the first screen display, and reduce user waiting time.

[0043] Optionally, the first or second search request may also instruct the server to provide a streaming response to the data retrieved by any recall channel after it has retrieved data based on candidate keywords. In this example, the executing entity can request the server to return the data retrieved by any recall channel after it has completed data retrieval, without waiting for all recall channels to complete data retrieval, further improving the time taken to display the search results on the first screen and reducing user waiting time.

[0044] Optionally, the server can sort the data retrieved by the completed data retrieval channel before returning the data retrieved by the completed data retrieval channel.

[0045] Optionally, the executing entity can provide interactive interfaces in multiple states, such as a no-result loading state, a partial-result loading state, and a completed state. The no-result loading state can display text, images, or characters indicating that no relevant results have been received. The partial-result loading state can display the received data, as well as text, images, or characters indicating that some data in the recall pathways has not yet been retrieved. The completed state can display all received data; its difference from the partial-result loading state is that the text, images, or characters indicating that some data in the recall pathways has not yet been retrieved have been removed. In the above example, the executing entity can inform users of the data retrieval status through different interactive interfaces, which can reduce the possibility of users mistakenly believing the search is complete after some recall pathways have been completed, thus improving the user experience.

[0046] Step 204: Display the response data for the second search request.

[0047] In this embodiment, after issuing a second search request, if the executing entity receives response data for the second search request, it can display the response data. For example, if the second search request instructs the server to retrieve data based on candidate keywords through all retrieval pathways, the executing entity can create a new interactive interface based on the response data of the second search request, which displays the response results of the second search request. If the second search request instructs the server to retrieve data based on candidate keywords through all retrieval pathways except for some retrieval pathways, the executing entity can add controls to the previous interactive interface (which displays the response data of the first search request) to display the response data of the second search request.

[0048] According to some embodiments of this disclosure, the executing entity automatically triggers a first search request based on candidate keywords in the search box, requesting the server to retrieve data from a specified subset of retrieval channels, which reduces the retrieval pressure on the server. After receiving the response data of the first search request, the executing entity displays the response data instead of waiting for data from all retrieval channels, thus reducing user waiting time. Furthermore, if the executing entity determines that the content in the search box has not changed within a preset time period, it can request the server to retrieve data through at least some retrieval channels to obtain complete data related to the candidate keywords, reducing user waiting time while ensuring the comprehensiveness of the displayed content.

[0049] To facilitate understanding, the following example illustrates the data retrieval method mentioned above, using a scenario where a user needs to search for content related to "friends". Figure 3This is a schematic diagram illustrating a data retrieval method according to the first embodiment of this disclosure. When a user needs to search for the word "friend," they progressively input characters into the search box 310, and the content within the search box 310 changes as the input... Figure 3 As shown. The executing entity performs a complete word judgment 301 on the content within the search box 310. If the executing entity determines that the search box contains content that is not a complete word, it does not execute step 302. If the executing entity determines that the search box contains content that is a complete word, it executes step 302. In step 302, the executing entity triggers a first search request. After detecting that the search box has not changed after a preset time, the executing entity executes step 303. In step 303, the executing entity triggers a second search request. After executing steps 302 and 303, the executing entity waits to execute step 304. Specifically, after receiving the response data from the server for the first or second search request, the executing entity executes step 304. In step 304, the executing entity displays the search results, i.e., the response data for the first or second search request. In the above scenario, the executing entity automatically triggers the first search request based on the candidate keywords in the search box, requesting the server to retrieve data from a specified partial retrieval path, which can reduce the retrieval pressure on the server. After receiving the response data for the first search request, the executing entity displays the response data for the first search request, which can reduce the time spent displaying the first search screen, improve the speed of displaying the first search screen, and reduce user waiting time.

[0050] Figure 4 This is a flowchart illustrating a data retrieval method according to a second embodiment of this disclosure. The second embodiment is largely the same as the first embodiment, with the main difference being that it exemplarily illustrates the processing method after a user triggers a search command. For example... Figure 4 As shown, the data retrieval method 400 may include the following steps: Step 401: Based on the candidate keywords in the search box, initiate the first search request to the server.

[0051] In this embodiment, step 401 and Figure 2 The example step 201 is largely the same, and will not be repeated here.

[0052] Step 402: Display the response data for the first search request.

[0053] In this embodiment, step 402 and Figure 2 The example step 202 is largely the same, and will not be repeated here.

[0054] Step 403: In response to the fact that the candidate keywords in the search box have not changed after a preset time, a second search request is sent to the server.

[0055] In this embodiment, step 403 and Figure 2 The example step 203 is largely the same, and will not be repeated here.

[0056] Step 404: Display the response data for the second search request.

[0057] In this embodiment, step 404 and Figure 2 The example step 204 is largely the same, and will not be repeated here.

[0058] Step 405: In response to the detection of a search instruction, determine whether the search keywords in the search instruction are the same as the candidate keywords.

[0059] In this embodiment, the executing entity can trigger a search command after detecting that a user clicks the search button or presses the Enter key. This search command instructs the sending of a third-party search request to the server based on search keywords. The search keywords can be generated based on the content within the search box when the user triggers the search command. After detecting the search command, the executing entity can determine whether the search keywords in the search command are the same as the candidate keywords.

[0060] It should be understood that, without departing from the teachings of this disclosure, the implementing entity may determine that a user has triggered a search command in other circumstances, such as detecting the word "search" through a voice system. This disclosure does not restrict the manner in which a user triggers a search command.

[0061] Step 406: Based on the judgment result, obtain and display the search results.

[0062] In this embodiment, the executing entity obtains and displays the search results of the search command based on the judgment result.

[0063] As an example, if the executing entity determines that the search keywords in the search command are the same as the candidate keywords, it can display the response data of the second search request; if it determines that the search keywords in the search command are not the same as the candidate keywords, it initiates a third search request to the server; the response data of the third search request is obtained as the search result and displayed. In this example, if the search keywords in the search command generated based on user operation are the same as the candidate keywords, the executing entity does not execute the search command and can continue to display the response data of the second search request.

[0064] In this embodiment, if the search keywords in the user's search command are the same as the candidate keywords, the execution entity does not execute the search command. This reduces the burden on the server caused by sending search requests when the search keywords and candidate keywords are the same. Furthermore, this embodiment saves time by eliminating the need for the user to send a request after triggering the search, thus shortening the user's waiting time.

[0065] According to some embodiments of this disclosure, the executing entity automatically triggers a first search request based on candidate keywords in the search box, requesting the server to retrieve data from a specified subset of retrieval channels, which reduces the retrieval pressure on the server. After receiving the response data of the first search request, the executing entity displays the response data instead of waiting for data from all retrieval channels, reducing user waiting time. Furthermore, if the executing entity determines that the content in the search box has not changed within a preset time period, it can request the server to retrieve data through at least some retrieval channels to obtain complete data related to the candidate keywords, reducing user waiting time while ensuring the comprehensiveness of the displayed content. In addition, in this embodiment, after the user triggers a search command, the executing entity decides whether to execute the search command based on whether the search keywords and candidate keywords in the search command are the same, reducing the burden on the server caused by sending search requests when the search keywords and candidate keywords are the same.

[0066] Figure 5 This is a flowchart illustrating the data retrieval method according to the third embodiment of this disclosure. The third embodiment is largely the same as the first embodiment, with the main difference being that in this embodiment, the executing entity first performs a cache search, and only after the cache search fails does it initiate a search request to the server. Figure 5 As shown, the data retrieval method 500 may include the following steps: Step 501: Search the cache based on the candidate keywords in the search box.

[0067] In this embodiment, during each search, the executing entity saves the keywords used in the current search and the search results to a cache. Therefore, the cache stores historical keywords and response data from past search operations. Before initiating the first search request to the server based on the candidate keywords in the search box, the executing entity first searches the cache. Since the cache is located locally, there is no need for data transmission over the network, reducing data round-trip time. Furthermore, when the network is poor, because some data is stored locally, the executing entity can attempt to respond to the user's search request using data from the cache, reducing the likelihood of search failures or prolonged unresponsiveness due to weak networks, thus improving the user experience and reducing the risk of user churn.

[0068] Step 502: In response to a successful search, display the data retrieved from the cache. Then the process ends.

[0069] In this embodiment, if the executing entity finds content related to the candidate keywords in the cache, it can display the data found in the cache without triggering the first search request. During this search process, no communication with the server is required, allowing for faster display of content related to the candidate keywords to the user.

[0070] In some embodiments of this disclosure, the execution entity clears the data stored in the cache in response to detecting a clear signal. In this example, the execution entity can clear the content related to historical search operations in the cache according to the clear signal, so as to reduce the problem that the data related to historical search operations occupies too much storage space and affects the performance of the execution entity.

[0071] It should be understood that, without departing from the teachings of this disclosure, the executing entity may trigger a clearing signal after detecting that the cache time of data stored in the cache has reached a duration threshold. The duration threshold can be set as needed, for example, to 7 days, 5 days, etc., and is not limited here. The executing entity may also trigger a clearing signal after receiving a cache clearing instruction sent by the server. The executing entity may also trigger a clearing signal after detecting a cache clearing instruction indicated by user operation data. This disclosure does not limit the manner in which the clearing signal is triggered.

[0072] Step 503: In response to the search failure, a first search request is sent to the server based on the candidate keywords.

[0073] In this embodiment, the process of "initiating a first search request to the server based on candidate keywords" in step 503 is the same as... Figure 2 The example step 201 is largely the same, and will not be repeated here.

[0074] Alternatively, when implementing this embodiment in conjunction with the second embodiment, the executing entity may first perform a cache search during the execution of the search instruction, and then initiate a third search request to the server after the cache search fails.

[0075] Step 504: Display the response data for the first search request.

[0076] In this embodiment, step 504 and Figure 2 The example step 202 is largely the same, and will not be repeated here.

[0077] Step 505: In response to the fact that the candidate keywords in the search box have not changed after a preset time, a second search request is sent to the server.

[0078] In this embodiment, step 505 and Figure 2 The example step 203 is largely the same, and will not be repeated here.

[0079] Step 506: Display the response data for the second search request.

[0080] In this embodiment, step 506 and Figure 2 The example step 204 is largely the same, and will not be repeated here.

[0081] According to some embodiments of this disclosure, the executing entity automatically triggers a first search request based on candidate keywords in the search box, requesting the server to retrieve data from a specified subset of retrieval channels, which reduces the retrieval pressure on the server. After receiving the response data of the first search request, the executing entity displays the response data instead of waiting for data from all retrieval channels, reducing user waiting time. Furthermore, if the executing entity determines that the content in the search box has not changed within a preset time period, it can request the server to retrieve data through at least some retrieval channels to obtain complete data related to the candidate keywords, reducing user waiting time while ensuring the comprehensiveness of the displayed content. In addition, in this embodiment, the executing entity caches historical search results after the user enters candidate keywords, reducing search time during repeat visits and preventing access failures due to poor network conditions.

[0082] It is understood that the data retrieval method provided in the embodiments of this disclosure can achieve better results in various scenarios, such as high-frequency, high-repetition search scenarios, search suggestion scenarios, weak or unstable network environments, and scenarios where the speed of displaying the first result is extremely important. High-frequency, high-repetition search scenarios may include, for example, searching for products within e-commerce applications, searching for videos or articles within content applications, and searching for songs within music applications. In these scenarios, user search terms are concentrated on popular content and frequently used words. Search suggestion scenarios refer to scenarios where the system needs to provide search suggestions in real time when a user enters keywords in the search box. Weak or unstable network environments may include scenarios with poor network conditions such as subways, elevators, and parking lots. Scenarios where the speed of displaying the first result is extremely important can be such as instant answers from search engines or quick Q&A in assistant applications, where users expect to see the core result immediately after inputting their information. The above data retrieval methods can reduce the number of requests sent by judging complete words, thereby reducing the impact of network requests on power consumption and data usage; reduce search time when users revisit the site by using search caching; and reduce the time spent displaying the first screen of the search results by using partial search and streaming response, thereby reducing user waiting time.

[0083] For example, let's take the scenario where a user needs to search for content related to "friends" as an example to illustrate the data retrieval method mentioned above. Figure 6This is a schematic diagram illustrating a data retrieval method according to some embodiments of this disclosure. The executing entity is a terminal. When a user needs to search for the word "friend," they gradually input each character in the search box 611 of the terminal 610, and the content within the search box 611 changes as the input... Figure 6 As shown.

[0084] In step 6501, terminal 610 performs a complete word determination on the content within search box 611. If terminal 610 determines that search box 611 contains content that is not a complete word, it does not execute step 6502. If terminal 610 determines that search box 611 contains content that is a complete word, it executes step 6502.

[0085] In step 6502, terminal 610 searches the cache based on candidate keywords in search box 611. If the search is successful, the search results can be displayed, i.e., step 6506 is executed. If the search fails, terminal 610 can execute step 6503.

[0086] In step 6503, terminal 610 initiates a first search request to server 630. Accordingly, after receiving the first search request, server 630 executes step 6701.

[0087] In step 6701, the server 630 performs data retrieval based on the candidate keywords in the first search request through a partial retrieval pathway, referred to as partial retrieval.

[0088] In step 6702, the server 630 determines the response data of the first search request (hereinafter referred to as the first response data) based on the partially recalled data and feeds it back to the terminal 610. The terminal 610 can display the first response data, i.e., execute step 6506.

[0089] After detecting that the search box has not changed after a preset time, terminal 610 executes step 6504.

[0090] In step 6504, terminal 610 initiates a second search request to server 630. Correspondingly, after receiving the second search request, server 630 executes step 6703.

[0091] In step 6703, the server 630 performs data recall based on the candidate keywords in the second search request. This recall process involves data recall through at least other recall channels besides partial recall channels. For details, please refer to the relevant description above. This process is referred to as full recall.

[0092] In step 6704, the server 630 determines the response data for the second search request (hereinafter referred to as the second response data) based on all recalled data and sends it back to the terminal 610. The terminal 610 can display the second response data, i.e., execute step 6506.

[0093] Terminal 610 can trigger a search command after the user clicks the search button. If the search keywords in the search command are the same as the candidate keywords, a third search request will not be triggered. If they are different, step 6505 can be executed.

[0094] In step 6505, terminal 610 initiates a third search request to server 630.

[0095] Optionally, the terminal can perform a cache search before initiating a third search request. If the cache search fails, then the third search request can be initiated. Correspondingly, after receiving the third search request, the server 630 executes step 6705.

[0096] In step 6705, the server 630 performs data retrieval based on the search keywords in the third search request. This retrieval process can be a complete retrieval.

[0097] In step 6706, the server 630 determines the response data for the third search request (hereinafter referred to as the third response data) based on all recalled data and feeds it back to the terminal 610. The terminal 610 can display the third response data, i.e., execute step 6506.

[0098] In step 6506, terminal 610 displays the result, which can be a cached search result, first response data, second response data, or third response data.

[0099] In the above scenario, the terminal automatically triggers a first search request based on candidate keywords in the search box, requesting the server to retrieve data from a specified retrieval path, which reduces the retrieval pressure on the server. After receiving the response data for the first search request, the terminal displays the response data, which reduces the time spent displaying the first search screen, improves the speed of the first search screen display, and reduces user waiting time. In addition, the terminal caches historical search results. Cacheing the results after the user enters candidate keywords reduces the search time when the user revisits the site and also avoids access failures due to poor network conditions during revisits.

[0100] The fourth embodiment of this disclosure provides a data retrieval method applied to the server side. Figure 7 This is a flowchart illustrating a data retrieval method according to a fourth embodiment of this disclosure. The entity executing this data retrieval method can be a server, for example... Figure 1 The example server. For example... Figure 7As shown, the data retrieval method 700 may include the following steps: Step 701: In response to receiving the first search request from the terminal, data retrieval is performed through a partial retrieval pathway based on the candidate keywords in the first search request.

[0101] In this embodiment, after receiving the terminal's first search request, the server can parse the first search request to obtain candidate keywords. This first search request is initiated by the terminal based on the candidate keywords in the search box. The server retrieves data based on the candidate keywords in the first search request through a partial retrieval pathway. The method for determining the partial retrieval pathway can be found in the relevant content above and will not be repeated here.

[0102] Step 702: Feed back the response data of the first search request, which is determined based on the data recalled by the first search request, to the terminal.

[0103] In this embodiment, after the server performs partial recall based on candidate keywords in the first search request, it can determine the response data of the first search request based on the partially recalled data and transmit the response data of the first search request to the terminal. The process by which the server determines the response data of the first search request based on the partially recalled data may include performing a first specified operation on the partially recalled data to obtain the response data of the first search request. The first specified operation may include, but is not limited to, tracing operations, sorting operations, etc., and is not limited here.

[0104] Step 703: In response to receiving the second search request from the terminal, data retrieval is performed based on the candidate keywords in the second search request through at least other retrieval channels besides partial retrieval channels.

[0105] In this embodiment, after receiving the second search request from the terminal, the server retrieves data based on the candidate keywords in the second search request through at least other retrieval channels besides partial retrieval channels. The second search request is initiated by the terminal after determining that the candidate keywords in the search box have not changed after a preset time period. The process of the server retrieving data through at least other retrieval channels besides partial retrieval channels may include the server using all retrieval channels. Alternatively, the process may involve the server using all retrieval channels besides partial retrieval channels, without using partial retrieval channels. This approach reduces the data retrieval burden on the server.

[0106] Step 704: Feed back the response data of the second search request, which is determined based on the data recalled by the second search request, to the terminal.

[0107] In this embodiment, after the server performs a full recall based on the candidate keywords in the second search request, it can determine the response data for the second search request based on the fully recalled data and transmit the response data to the terminal. The process by which the server determines the response data for the second search request based on the fully recalled data may include performing a second specified operation on the fully recalled data to obtain the response data for the second search request. The second specified operation may include, but is not limited to, pasting operations, sorting operations, etc., and is not limited here.

[0108] In some embodiments of this disclosure, the server can stream response feedback of relevant data. For example, the process by which the server feeds back the response data of the first search request, determined based on the data retrieved from the first search request, to the terminal may include the following steps: in response to any recall channel retrieving data based on candidate keywords, determining the response data of the first search request based on the data retrieved by that recall channel, and streaming the response data of the first search request to the terminal. Similarly, the process by which the server feeds back the response data of the second search request, determined based on the data retrieved from the second search request, to the terminal may include the following steps: in response to any recall channel retrieving data based on candidate keywords, determining the response data of the second search request based on the data retrieved by that recall channel, and streaming the response data of the second search request to the terminal. The server does not wait for all triggered recall channels to retrieve data; instead, it feeds back the data retrieved by any recall channel based on candidate keywords to the terminal after the recall channel retrieves data based on candidate keywords. This reduces the terminal's initial screen display time and improves the user experience.

[0109] According to some embodiments of this disclosure, after receiving a first search request, the server retrieves data from a specified subset of retrieval channels, reducing retrieval pressure. After receiving a second search request, the server retrieves data through at least other retrieval channels besides the specified subset, to obtain complete data related to the candidate keywords. This reduces user waiting time while ensuring the comprehensiveness of the displayed content. Furthermore, during both retrieval processes, after any retrieval channel completes data retrieval, it feeds back the retrieved data to the terminal without waiting for other retrieval channels to complete data retrieval, further reducing user waiting time.

[0110] The collection, storage, use, processing, transmission, provision, and disclosure of user personal information involved in the technical solution disclosed herein comply with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0111] The fifth embodiment of this disclosure provides a terminal. Figure 8 This is a schematic block diagram of a terminal according to the fifth embodiment of this disclosure. Figure 8As shown, the terminal 800 may include a first request module 810, a first display module 820, a second request module 830, and a second display module 840. The first request module 810 is configured to initiate a first search request to the server based on candidate keywords in the search box. The first search request instructs the server to retrieve data through a specified retrieval path among all retrieval paths based on the candidate keywords. The first display module 820 is configured to display the response data of the first search request. The second request module 830 is configured to initiate a second search request to the server in response to the candidate keywords in the search box not changing after a preset time. The second search request instructs the server to retrieve data through all retrieval paths based on the candidate keywords. The second display module 840 is configured to display the response data of the second search request.

[0112] In some embodiments of this disclosure, terminal 800 may further include an instruction response module (not shown). The instruction response module is configured to: in response to detecting a search instruction, determine whether the search keywords in the search instruction are the same as candidate keywords, wherein the search instruction indicates initiating a third search request to the server based on the search keywords; and obtain and display the search results according to the determination result.

[0113] In some embodiments of this disclosure, the instruction response module is further configured to: in response to the determination result that the search keyword is the same as the candidate keyword, obtain the response data of the second search request as the search result and display it; in response to the determination result that the search keyword is not the same as the candidate keyword, initiate a third search request to the server; obtain the response data of the third search request as the search result and display it.

[0114] In some embodiments of this disclosure, the first request module 810 is further configured to: in response to detecting a complete word in the search box, determine candidate keywords based on the complete word, and initiate a first search request to the server based on the candidate keywords.

[0115] In some embodiments of this disclosure, terminal 800 further includes a monitoring module (not shown). The monitoring module is configured to: monitor the content of the search box; and determine that a complete word appears in the search box in response to detecting at least one of the following: the content of the search box changes from Pinyin to Chinese characters; the content displayed by the input method appears in the search box; or a specified character appears in the search box.

[0116] In some embodiments of this disclosure, the second search request is used to instruct the server to retrieve data based on candidate keywords through all recall channels, or the second search request is used to instruct the server to retrieve data based on candidate keywords through other recall channels besides some recall channels.

[0117] In some embodiments of this disclosure, the first search request or the second search request is also used to instruct the server to provide streaming response feedback of data recalled based on candidate keywords.

[0118] In some embodiments of this disclosure, the first search request or the second search request further instructs the server to feed back the data recalled by any recall path based on candidate keywords in a streaming response.

[0119] In some embodiments of this disclosure, the first request module 810 is further configured to: search the cache based on the candidate keywords in the search box, wherein the cache stores historical keywords and historical response data from historical search operations; and in response to a search failure, initiate a first search request to the server based on the candidate keywords.

[0120] In some embodiments of this disclosure, the cache search module is also configured to display the data retrieved from the cache in response to a successful search.

[0121] In some embodiments of this disclosure, terminal 800 further includes a clearing module (not shown). The clearing module is configured to clear the data stored in the cache in response to detecting a clearing signal, wherein the clearing signal is triggered by at least one of the following: detecting that the cache time of the data stored in the cache has reached a duration threshold; receiving a cache clearing instruction sent by the server; or detecting a cache clearing instruction indicated by user operation data.

[0122] It is not difficult to see that this embodiment is a device embodiment corresponding to the above-described data retrieval method for terminals, and this embodiment can be implemented in conjunction with the above-described method embodiment. The relevant technical details mentioned in the above method embodiments are still valid in this embodiment, and will not be repeated here to reduce repetition. Correspondingly, the relevant technical details mentioned in this embodiment can also be applied to the above-described method embodiments.

[0123] It is worth mentioning that all modules involved in this embodiment are logical modules. In practical applications, a logical unit can be a physical unit, a part of a physical unit, or a combination of multiple physical units. Furthermore, to highlight the innovative aspects of this invention, this embodiment does not introduce units that are not closely related to solving the technical problem proposed by this invention; however, this does not mean that other units are absent from this embodiment.

[0124] The sixth embodiment of this disclosure provides a server. Figure 9 This is a schematic block diagram of a server according to the sixth embodiment of this disclosure. Figure 9As shown, the server 900 may include a first search module 910, a first feedback module 920, a second search module 930, and a second feedback module 940. The first search module 910 is configured to, in response to receiving a first search request from a terminal, retrieve data based on candidate keywords in the first search request through a partial retrieval path. The first search request is initiated by the terminal based on candidate keywords in the search box. The first feedback module 920 is configured to feed back response data of the first search request, determined based on the data retrieved from the first search request, to the terminal. The second search module 930 is configured to, in response to receiving a second search request from a terminal, retrieve data based on candidate keywords in the second search request through at least other retrieval paths besides the partial retrieval path. The second search request is initiated by the terminal after determining that the candidate keywords in the search box have not changed after a preset time period. The second feedback module 940 is configured to feed back response data of the second search request, determined based on the data retrieved from the second search request, to the terminal.

[0125] In some embodiments of this disclosure, the first feedback module 920 is further configured to: in response to any recall path recalling candidate keyword recall data, determine the response data of the first search request based on the data recalled by the recall path, and feed back the response data of the first search request to the terminal in a streaming response manner.

[0126] In some embodiments of this disclosure, the second feedback module 940 is further configured to: in response to recall data based on candidate keywords by any recall path, determine the response data of the second search request according to the data recalled by the recall path, and feed back the response data of the second search request to the terminal in a streaming response manner.

[0127] It is not difficult to see that this embodiment is a device embodiment corresponding to the above-described embodiment of the data retrieval method applied to the server. This embodiment can be implemented in conjunction with the above-described method embodiment. The relevant technical details mentioned in the above-described method embodiment are still valid in this embodiment, and will not be repeated here to reduce repetition. Accordingly, the relevant technical details mentioned in this embodiment can also be applied to the above-described method embodiment.

[0128] It is worth mentioning that all modules involved in this embodiment are logical modules. In practical applications, a logical unit can be a physical unit, a part of a physical unit, or a combination of multiple physical units. Furthermore, to highlight the innovative aspects of this invention, this embodiment does not introduce units that are not closely related to solving the technical problem proposed by this invention; however, this does not mean that other units are absent from this embodiment.

[0129] The seventh embodiment of this disclosure provides a search system. Figure 10This is a schematic block diagram of a search system according to a seventh embodiment of the present disclosure. Figure 10 As shown, the search system 1000 includes a terminal 1010 and a server 1020. The terminal 1010 is configured to initiate a first search request to the server 1020 based on candidate keywords in the search box; in response to the candidate keywords in the search box not changing after a preset time, initiate a second search request to the server 1020; display the response data of the first search request; and display the response data of the second search request. The server 1020 is configured to, in response to receiving the first search request from the terminal 1010, perform data retrieval based on the candidate keywords in the first search request through a partial retrieval pathway; feed back the response data of the first search request determined based on the data retrieved from the first search request to the terminal 1010; in response to receiving the second search request from the terminal 1010, perform data retrieval based on the candidate keywords in the second search request through at least other retrieval pathways besides the partial retrieval pathway; and feed back the response data of the second search request determined based on the data retrieved from the second search request to the terminal 1010.

[0130] In some embodiments of this disclosure, terminal 1010 is further configured to: in response to detecting a search instruction, determine whether the search keywords in the search instruction are the same as the candidate keywords, wherein the search instruction indicates that a third search request is initiated to the server based on the search keywords; and obtain and display the search results according to the determination result.

[0131] In some embodiments of this disclosure, terminal 1010 is further configured to: in response to a determination result that the search keyword is the same as the candidate keyword, obtain the response data of the second search request as the search result and display it; in response to a determination result that the search keyword is not the same as the candidate keyword, initiate a third search request to the server; obtain the response data of the third search request as the search result and display it.

[0132] In some embodiments of this disclosure, terminal 1010 is further configured to: in response to detecting a complete word in the search box, determine candidate keywords based on the complete word, and initiate a first search request to the server based on the candidate keywords.

[0133] In some embodiments of this disclosure, terminal 1010 is further configured to: monitor the content of the search box; and determine that a complete word appears in the search box in response to detecting at least one of the following: the content of the search box changes from pinyin to Chinese characters; the content displayed by the input method appears in the search box; or a specified character appears in the search box.

[0134] In some embodiments of this disclosure, the second search request is used to instruct the server to retrieve data based on candidate keywords through all recall channels, or the second search request is used to instruct the server to retrieve data based on candidate keywords through other recall channels besides some recall channels.

[0135] In some embodiments of this disclosure, the first search request or the second search request is also used to instruct the server to provide streaming response feedback of data recalled based on candidate keywords.

[0136] In some embodiments of this disclosure, the first search request or the second search request further instructs the server to feed back the data recalled by any recall path based on candidate keywords in a streaming response.

[0137] In some embodiments of this disclosure, terminal 1010 is further configured to: search the cache based on candidate keywords in the search box, wherein the cache stores historical keywords and historical response data from historical search operations; and in response to a search failure, initiate a first search request to the server based on the candidate keywords.

[0138] In some embodiments of this disclosure, terminal 1010 is also configured to display the data retrieved from the cache in response to a successful search.

[0139] In some embodiments of this disclosure, terminal 1010 is further configured to: clear the data stored in the cache in response to detecting a clear signal, wherein the clear signal is triggered by at least one of the following: detecting that the cache time of the data stored in the cache has reached a duration threshold; receiving a cache clear instruction sent by the server; or detecting a cache clear instruction indicated by user operation data.

[0140] In some embodiments of this disclosure, the process by which the server 1020 feeds back the response data of the first search request determined based on the data recalled by the first search request to the terminal 1010 may include: in response to the recall data based on candidate keywords by any recall channel, determining the response data of the first search request according to the data recalled by the recall channel, and feeding back the response data of the first search request to the terminal 1010 in a streaming response.

[0141] In some embodiments of this disclosure, the process by which the server 1020 feeds back the response data of the second search request determined based on the data recalled by the second search request to the terminal 1010 may include: in response to the recall data based on candidate keywords by any recall channel, determining the response data of the second search request according to the data recalled by the recall channel, and feeding back the response data of the second search request to the terminal 1010 in a streaming response.

[0142] It is not difficult to see that this embodiment is a system embodiment corresponding to the above method embodiments, and this embodiment can be implemented in conjunction with the above method embodiments. The relevant technical details mentioned in the above method embodiments are still valid in this embodiment, and will not be repeated here to reduce repetition. Accordingly, the relevant technical details mentioned in this embodiment can also be applied to the above method embodiments.

[0143] It is worth mentioning that all modules involved in this embodiment are logical modules. In practical applications, a logical unit can be a physical unit, a part of a physical unit, or a combination of multiple physical units. Furthermore, to highlight the innovative aspects of this invention, this embodiment does not introduce units that are not closely related to solving the technical problem proposed by this invention; however, this does not mean that other units are absent from this embodiment.

[0144] According to an eighth embodiment of this disclosure, an electronic device is provided, including at least one processor and a memory. The memory is communicatively connected to the at least one processor and stores instructions executable by the at least one processor, which, when executed by the at least one processor, enables the at least one processor to perform the methods mentioned in the above embodiments.

[0145] According to a ninth embodiment of this disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to cause a computer to perform the methods mentioned in the above embodiments.

[0146] According to a tenth embodiment of this disclosure, a computer program product is provided, including a computer program that, when executed by a processor, implements the methods mentioned in the above embodiments.

[0147] Figure 11 A schematic block diagram of an example electronic device 1100 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0148] like Figure 11As shown, device 1100 includes a processor 1101, which can perform various appropriate actions and processes according to a computer program stored in read-only memory (ROM) 1102 or a computer program loaded from memory 1108 into random access memory (RAM) 1103. The RAM 1103 may also store various programs and data required for the operation of device 1100. The processor 1101, ROM 1102, and RAM 1103 are interconnected via bus 1104. Input / output (I / O) interface 1105 is also connected to bus 1104.

[0149] Multiple components in device 1100 are connected to I / O interface 1105, including: input unit 1106, such as a keyboard, mouse, etc.; output unit 1107, such as various types of displays, speakers, etc.; memory 1108, such as a disk, optical disk, etc.; and communication unit 1109, such as a network card, modem, wireless transceiver, etc. Communication unit 1109 allows device 1100 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0150] Processor 1101 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 1101 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. Processor 1101 performs the various methods and processes described above, such as data retrieval methods. For example, in some embodiments, the data retrieval method may be implemented as a computer software program tangibly contained in a machine-readable medium, such as memory 1108. In some embodiments, part or all of the computer program may be loaded and / or installed on device 1100 via ROM 1102 and / or communication unit 1109. When the computer program is loaded into RAM 1103 and executed by processor 1101, one or more steps of the data retrieval method described above may be performed. Alternatively, in other embodiments, processor 1101 may be configured to perform the data retrieval method by any other suitable means (e.g., by means of firmware).

[0151] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0152] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0153] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0154] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0155] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.

[0156] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.

[0157] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this disclosure can be achieved, and this is not limited herein.

[0158] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.

Claims

1. A data retrieval method, comprising: Based on the candidate keywords in the search box, a first search request is initiated to the server. The first search request is used to instruct the server to retrieve data based on the candidate keywords through a partial retrieval path. Display the response data for the first search request; If the candidate keywords in the search box do not change after a preset time, a second search request is initiated to the server; the second search request is used to instruct the server to retrieve data based on the candidate keywords through at least other retrieval channels besides the aforementioned partial retrieval channels. Display the response data for the second search request.

2. The method according to claim 1, further comprising: In response to the detection of a search instruction, it is determined whether the search keywords in the search instruction are the same as the candidate keywords, wherein the search instruction instructs a third search request to be initiated to the server based on the search keywords; Based on the judgment result, retrieve and display the search results.

3. The method according to claim 2, wherein, The process of obtaining and displaying search results based on the judgment result includes: In response to the determination result that the search keyword is the same as the candidate keyword, the response data of the second search request is obtained as the search result and displayed. In response to the determination that the search keyword is different from the candidate keyword, a third search request is initiated to the server; the response data of the third search request is obtained as the search result and displayed.

4. The method according to any one of claims 1 to 3, wherein, The step of initiating a first search request to the server based on candidate keywords in the search box includes: In response to the detection of a complete word in the search box, the candidate keywords are determined based on the complete word, and the first search request is initiated to the server based on the candidate keywords.

5. The method according to claim 4, further comprising: Monitor the content of the search box; The search box is determined to contain the complete word in response to detecting at least one of the following: The content of the search box is converted from Pinyin to Chinese characters. The input method's input content appears in the search box; The specified character appears in the search box.

6. The method according to any one of claims 1 to 3, wherein, The second search request is used to instruct the server to retrieve data based on the candidate keywords through all retrieval channels, or the second search request is used to instruct the server to retrieve data based on the candidate keywords through other retrieval channels besides the aforementioned partial retrieval channels.

7. The method according to any one of claims 1 to 3, wherein, The first search request or the second search request is also used to instruct the server to provide a streaming response with data recalled based on the candidate keywords.

8. The method according to claim 7, wherein, The first search request or the second search request further indicates that: after the server recalls data based on the candidate keywords in any recall channel, the data recalled by that recall channel shall be fed back as a streaming response.

9. The method according to any one of claims 1 to 3, wherein, The step of initiating a first search request to the server based on candidate keywords in the search box includes: The cache is searched based on the candidate keywords in the search box. The cache stores historical keywords and historical response data from historical search operations. In response to the search failure, the first search request is initiated to the server based on the candidate keywords.

10. The method of claim 9, further comprising: In response to a successful search, the data retrieved from the cache is displayed.

11. The method of claim 9, further comprising: In response to the detection of a clear signal, the data stored in the cache is cleared, wherein the clear signal is triggered by at least one of the following methods: The cache time of the data stored in the cache has reached the duration threshold. Received the cache clearing command sent by the server; A cache clearing command indicating user operation data was detected.

12. A data retrieval method, applied on a server side, comprising: In response to receiving a first search request from a terminal, data retrieval is performed through a partial retrieval pathway based on candidate keywords in the first search request; wherein, the first search request is initiated by the terminal based on candidate keywords in the search box; The response data of the first search request, determined based on the data recalled by the first search request, is fed back to the terminal; In response to receiving a second search request from the terminal, data retrieval is performed based on the candidate keywords in the second search request through at least other retrieval channels besides the aforementioned partial retrieval channels; wherein, the second search request is initiated by the terminal after determining that the candidate keywords in the search box have not changed after a preset time period; The response data of the second search request, determined based on the data recalled by the second search request, is fed back to the terminal.

13. The method according to claim 12, wherein, The step of feeding back the response data of the first search request, determined based on the data recalled by the first search request, to the terminal includes: In response to any recall path recalling data based on the candidate keywords, the response data of the first search request is determined according to the data recalled by the recall path, and the response data of the first search request is fed back to the terminal in a streaming response. The step of feeding back the response data of the second search request, determined based on the data recalled by the second search request, to the terminal includes: In response to any recall path recalling data based on the candidate keywords, the response data of the second search request is determined according to the data recalled by the recall path, and the response data of the second search request is fed back to the terminal in a streaming response.

14. A terminal, comprising: The first request module is configured to send a first search request to the server based on the candidate keywords in the search box. The first search request instructs the server to retrieve data through a specified recall channel among all recall channels based on the candidate keywords. The first display module is configured to display the response data of the first search request; The second request module is configured to initiate a second search request to the server in response to the fact that the candidate keywords in the search box have not changed after a preset time; the second search request instructs the server to retrieve data based on the candidate keywords through all retrieval channels. The second display module is configured to display the response data of the second search request.

15. A server, comprising: The first search module is configured to respond to receiving a first search request from a terminal and retrieve data through a partial retrieval path based on candidate keywords in the first search request; wherein the first search request is initiated by the terminal based on candidate keywords in the search box; The first feedback module is configured to feed back the response data of the first search request, which is determined based on the data recalled by the first search request, to the terminal. The second search module is configured to respond to receiving a second search request from the terminal by retrieving data through at least other retrieval channels besides the aforementioned partial retrieval channels based on the candidate keywords in the second search request; wherein the second search request is initiated by the terminal after determining that the candidate keywords in the search box have not changed after a preset time period; The second feedback module is configured to feed back the response data of the second search request, determined based on the data recalled by the second search request, to the terminal.

16. A search system, comprising: The terminal is configured to initiate a first search request based on candidate keywords in the search box, and to initiate a second search request if the candidate keywords in the search box do not change after a preset time; and to display the response data of the first search request. Display the response data for the second search request; The server is configured to, in response to receiving a first search request from the terminal, perform data retrieval through a partial retrieval path based on candidate keywords in the first search request; and feed back the response data of the first search request determined based on the data retrieved from the first search request to the terminal; and, in response to receiving a second search request from the terminal, perform data retrieval through at least other retrieval paths besides the partial retrieval path based on candidate keywords in the second search request; and feed back the response data of the second search request determined based on the data retrieved from the second search request to the terminal.

17. An electronic device comprising: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of claims 1 to 11, or the method of claim 12 or 13.

18. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to perform the method according to any one of claims 1 to 11, or the method according to claim 12 or 13.

19. A computer program product comprising a computer program that, when executed by a processor, implements the method according to any one of claims 1 to 11, or the method described in claim 12 or 13.