Information processing system
The information processing system optimizes search result acquisition from multiple engines, reducing costs and improving relevance by ensuring a predetermined number of high-score results are obtained without extra queries.
Patent Information
- Application Number
- JP2024025692
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-22
- Publication Date
- 2025-09-03
AI Technical Summary
Existing search engine systems incur extra costs and may return irrelevant results due to insufficient or irrelevant search results from single engines, and hash value duplication issues across different search engines.
An information processing system that acquires search results from multiple search engines, ensuring a predetermined number is obtained without incurring extra costs by optimizing query distribution and excluding duplicates.
Reduces costs and improves relevance by optimizing search result acquisition from multiple engines, presenting high-score results efficiently.
Smart Images

Figure 2025128779000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an information processing system. [Background technology]
[0002] Conventionally, print content distribution sites are known that perform searches by inputting keywords via a custom search API of a search engine registered on the crawling source site, and display a detailed screen of the print content. Also known are search sites that perform searches by inputting keywords via a custom search API of a search engine registered on the crawling source site, specifying the number of results to retrieve, and displaying search results for educational material content. Regarding such print content distribution sites and search sites, there is a technology that allows users to register their own site with the custom search APIs of multiple different search engines and search each site using the same keywords. As an example of this technology, Patent Document 1 discloses a technology that performs a category search on a search site selected from a screen where the user can select multiple options.
[0003] Furthermore, there is a technology that searches again if the number of search results obtained from a query is insufficient. As an example of this technology, Patent Document 2 discloses a technology that, if the number of results from a multi-word query is insufficient, divides the query into subqueries and displays the results of the subqueries in a list for the same search engine.
[0004] There is also a technology that integrates search results obtained by querying multiple search engines. As an example of this technology, Patent Document 3 discloses a technology that, when integrating search results from multiple search servers, detects and removes duplicate data using hash values of files corresponding to the search results. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Japanese Patent Application Laid-Open No. 2003-157283 [Patent Document 2] Japanese Patent Application Laid-Open No. 2006-209757 [Patent Document 3] Japanese Patent Application Laid-Open No. 2011-238179 Summary of the Invention [Problem to be solved by the invention]
[0006] Depending on the search engine's specification changes and crawling status, the number of search results returned by the search engine may be less than the specified number of results to be acquired, even if the total number of search results is abundant. It is possible to replenish the search results by searching again while changing the search start position, but the lower the search position, the lower the results that are presented to the user will be those with lower scores from a single search engine.
[0007] In the technology of Patent Document 1, the user must manually select a search engine. Therefore, even if search results exceeding the specified number of results are obtained from one search engine, queries are made to other search engines, which creates the problem of high costs in a fee structure that charges according to the number of queries made to the custom search API.
[0008] Furthermore, in the technology of Patent Document 2, if a query is insufficient, the query is simply divided into subqueries and searched for in the same search engine, and search results that are not highly relevant to the initial query may be included.
[0009] Furthermore, the technology in Patent Document 3 compares files using hash values, but this technology uses hash values that are registered in a proprietary database in advance. In contrast, there is often no path to registering hash values by specifying an algorithm on a third-party search engine server. Another problem is that the hash values themselves may be duplicated depending on the seed used in the hash calculation.
[0010] The present disclosure has been made in consideration of the above-mentioned problems, and aims to provide an information processing system that does not incur extra costs when a predetermined number of search results are obtained. [Means for solving the problem]
[0011] An information processing system according to one embodiment of the present invention is an information processing system that displays search results from a search engine server, and includes a first acquisition means for acquiring search results from a first search engine server, a second acquisition means for acquiring search results from a second search engine server when the number of search results acquired by the first search engine server is less than or equal to the total number of searches and less than a specified number, a first display means for displaying the search results from the first search engine server when the number of search results acquired by the first search engine server is not less than or equal to the total number of searches or is not less than the specified number, and a second display means for displaying the search results from the first search engine server and the search results from the second search engine server when the number of search results acquired by the first search engine server is less than or equal to the total number of searches and less than the specified number. [Effects of the Invention]
[0012] According to the present invention, it is possible to provide an information processing system that does not incur extra costs when a predetermined number of search results are obtained. [Brief explanation of the drawings]
[0013] [Figure 1] 1 is a block diagram showing a system configuration of an information processing system according to a first embodiment of the present invention. [Figure 2] FIG. 2 is a block diagram showing the hardware configuration of a web server and a search engine server. [Figure 3] FIG. 2 is a block diagram showing a hardware configuration of a client terminal. [Figure 4] FIG. 2 is a functional block diagram of the software of the web server. [Figure 5]FIG. 2 is a functional block diagram of software of a client terminal. [Figure 6] FIG. 10 is a sequence diagram showing an example of searching for educational material content. [Figure 7] FIG. 10 is a schematic diagram of an initial display of a search screen. [Figure 8] FIG. 10 is a schematic diagram of a search result screen. [Figure 9] FIG. 10 is a sequence diagram showing an example of searching for educational material content according to the second embodiment of the present invention. [Figure 10] FIG. 10 is a sequence diagram showing an example of searching for educational material content according to the second embodiment of the present invention. [Figure 11] FIG. 10 is a functional block diagram of software of a web server according to a third embodiment of the present invention. [Figure 12] FIG. 10 is a functional block diagram of software of a client terminal according to a third embodiment of the present invention. [Figure 13] FIG. 11 is a sequence diagram showing an example of searching for educational material content according to the third embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0014] Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the present invention is not limited to the following embodiments. In each drawing, the same members or elements are given the same reference numerals, and duplicate descriptions are omitted or simplified. Furthermore, not all of the combinations of features described in the present embodiment are necessarily essential to the solution of the present disclosure.
[0015] In the present invention, for example, a search query is made to a first search engine that has registered an educational material site as a crawl target. The educational material site is a site that provides educational material content and is an example of a content site. If search results are returned that are less than the specified number, a query is made to another search engine that has registered the same educational material site as a crawl target, and the search results that are insufficient to display are displayed on the search result screen by excluding duplicate search result items. If search results that are greater than the specified number are returned, the search results are displayed on the search result screen, and costs are reduced by not making a query to another search engine.
[0016] [Embodiment 1] The configuration of an information processing system according to a first embodiment of the present invention will be described with reference to FIG. 1. FIG. 1 is a block diagram showing the system configuration of the information processing system according to the first embodiment of the present invention. The information processing system 150 according to the first embodiment includes a WEB server 101, a search engine server 102, a search engine server 103, and a client terminal 104. WEB is an abbreviation for WORLD WIDE WEB. The WEB server 101, the search engine server 102, and the client terminal 104 are connected to the Internet 100 and can communicate with each other. The WEB server 101, the search engine server 103, and the client terminal 104 are also connected to the Internet 100 and can communicate with each other. The information processing system 150 may include other devices such as a router and a printer, and other networks such as a LAN. LAN is an abbreviation for LOCAL AREA NETWORK.
[0017] The WEB server 101 and the search engine server 102 may be configured as a single server device. The WEB server 101 and the search engine server 103 may be configured as a single server device. Each of the WEB server 101, the search engine server 102, and the search engine server 103 may be configured as a plurality of server devices. Even if each of the WEB server 101, the search engine server 102, and the search engine server 103 is configured as a plurality of server devices, in embodiment 1, the plurality of server devices are referred to as "servers."
[0018] <Server hardware configuration> The hardware configuration of the WEB server 101 according to the first embodiment will be described with reference to FIG. 2. FIG. 2 is a block diagram showing an example of the hardware configuration of the WEB server 101. The WEB server 101 is an information processing device. The WEB server 101 includes a CPU 201, a RAM 202, a ROM 203, a storage device 204, an operation unit 205, a display unit 206, a network communication unit 207, and a network connection unit 208. CPU is an abbreviation for CENTRAL PROCESSING UNIT. RAM is an abbreviation for RANDOM ACCESS MEMORY. ROM is an abbreviation for READ ONLY MEMORY.
[0019] The web server 101 also has a bus 209. The CPU 201, RAM 202, ROM 203, storage device 204, operation unit 205, display unit 206, and network communication unit 207 are interconnected by the bus 209, and are capable of transmitting and receiving data to and from each other.
[0020] The CPU 201 is a central processing unit that performs overall control of each component of the web server 101. The RAM 202 serves as a working memory required when the CPU 201 executes a program. The ROM 203 is a read-only memory that stores a boot program required for system startup. The ROM 203 also stores fixed data such as control programs and data tables executed by the CPU 201, as well as an embedded operating system (hereinafter referred to as "OS") program. Each control program stored in the ROM 203 performs software execution control such as scheduling, task switching, and interrupt processing under the management of the embedded OS stored in the ROM 203.
[0021] The storage device 204 is a device that stores programs executed by the CPU 201 and various types of information, and is a non-volatile storage device such as a magnetic disk or flash memory. The operation unit 205 is a keyboard, mouse, etc. for accepting various input operations by the user. The display unit 206 displays various types of information on a user interface screen, etc., and is composed of, for example, an LCD. LCD is an abbreviation for Liquid Crystal Display.
[0022] The network communication unit 207 is connected to a network such as the Internet 100 via the network connection unit 208, and performs various communications. The network connection unit 208 has a configuration compatible with, for example, a wireless LAN or an Ethernet (registered trademark) terminal.
[0023] In the first embodiment, the search engine server 102 and the search engine server 103 are information processing devices having the same hardware configuration as the WEB server 101. Note that the search engine server 102 and the search engine server 103 may have a different hardware configuration from that of the WEB server 101.
[0024] <Client terminal hardware configuration> The hardware configuration of the client terminal 104 according to the first embodiment will be described with reference to Fig. 3. Fig. 3 is a block diagram showing an example of the hardware configuration of the client terminal 104. The client terminal 104 is an information processing device. The client terminal 104 includes a CPU 301, a RAM 302, a ROM 303, a storage device 304, an operation unit 305, a display unit 306, a network communication unit 307, and a network connection unit 308.
[0025] The client terminal 104 also has a bus 309. The CPU 301, RAM 302, ROM 303, storage device 304, operation unit 305, display unit 306, and network communication unit 307 are interconnected by the bus 309, and are capable of transmitting and receiving data to and from each other. The client terminal 104 may be, for example, a PC, a smartphone, or a tablet terminal.
[0026] The CPU 301 is a central processing unit that performs overall control of each component of the client terminal 104. The RAM 302 is a working memory required when the CPU 301 executes a program. The ROM 303 stores fixed data such as the control program and data table executed by the CPU 301, as well as the embedded OS program. Each control program stored in the ROM 303 performs software execution control such as scheduling, task switching, and interrupt processing under the management of the embedded OS stored in the ROM 303.
[0027] The storage device 304 is a non-volatile storage device that stores various operation mode settings, operation logs, and the like that need to be retained even after the client terminal 104 is restarted. The operation unit 305 is a keyboard, mouse, and the like for accepting various input operations by the user. The display unit 306 is configured to include, for example, a monitor connection terminal, and when an LCD monitor is connected, displays various information on a user interface screen. In the first embodiment, the operation unit 305 and the display unit 306 may be integrated as an operation display unit. An example of an operation display unit is an operation panel, etc.
[0028] The network communication unit 307 is connected to a network such as the Internet 100 via the network connection unit 308 and performs various communications. The network connection unit 308 has a configuration corresponding to, for example, a wireless LAN or an Ethernet terminal.
[0029] <Software Configuration of WEB Server> The software configuration of the WEB server 101 according to Embodiment 1 will be described with reference to FIG. 4. FIG. 4 is a functional block diagram of the software executed on the WEB server 101. The software of the WEB server 101 includes a data request reception unit 401, a data acquisition unit 402, and a data transmission unit 403.
[0030] The data request reception unit 401 receives a data access request from the client terminal 104 via the network communication unit 207. The data acquisition unit 402 accesses the storage device 204 according to the request received by the data request reception unit 401 and acquires data.
[0031] The data transmission unit 403 transmits the following files to the client terminal 104 via the network communication unit 207. The files to be transmitted are an HTML file of the search screen acquired via the data acquisition unit 402, a JAVASCRIPT (registered trademark) program for search processing, a list file in which the domain names of the search target sites are stored, and a keyword language conversion list file. HTML is an abbreviation for HYPERTEXT MARKUP LANGUAGE.
[0032] <Software Configuration of Client Terminal> The software configuration of the client terminal 104 in Embodiment 1 will be described with reference to FIG. 5. FIG. 5 is a functional block diagram of the software executed on the client terminal 104. The software of the client terminal 104 includes a data request unit 501, a data reception unit 502, a display control unit 503, a query string generation unit 504, and a result processing unit 505.
[0033] The data request unit 501 requests access to data from an external server such as the WEB server 101 or the search engine server 102 via the network communication unit 307. The data request unit 501 requests access to a search screen from the WEB server 101. The data request unit 501 transmits a query string generated by a query string generation unit 504 to the search engine server 102 or the search engine server 103 to request search results.
[0034] The data receiving unit 502 receives data from an external server via the network communication unit 307. The data receiving unit 502 receives an HTML file of a search screen to be displayed on a web browser and a JAVASCRIPT program for search processing from the web server 101. The data receiving unit 502 receives search results including the total number of searches and thumbnail image URLs, titles, and link destination URLs of the content of each search result from the search engine server 102 or the search engine server 103. The data receiving unit 502 stores the search results received from the search engine server 102 or the search engine server 103 in the RAM 302.
[0035] The display control unit 503 displays the results of the OS, web browser, and application on the display unit 306. The query string generation unit 504 composes a query string to be sent to the search engine from the input value in the search word input field, the search start position, and the specified number of results. The result processing unit 505 performs a process of sorting the search results obtained via the data receiving unit 502 by site, and a process of summing the search results for each site. Sorting search results means rearranging the display order, and sorting to the top means displaying at the top. Sorting search results is similar in the following.
[0036] <About search engine servers> The search engine server 102 has a custom search API that allows users to customize the sites to be crawled. The search engine server 102 crawls each website according to the URL of the website registered in the custom search API.
[0037] Then, the search engine server 102 stores data including the URL of the thumbnail image of the content of the crawled website, the URL of the thumbnail image acquisition source, the title of the content, and the URL of the content page in the storage device 204.
[0038] When the search engine server 102 receives a "query" containing a search word, a search start position, and a specified number of matches via the custom search API, it performs a search process and returns search results from the search start position up to the specified number of matches to the search source. The search source may be the web server 101 or the client terminal 104.
[0039] The search engine server 103 has the same configuration as the search engine server 102, but may have a search processing method with a different algorithm from that of the search engine 102.
[0040] The operator of the search engine server 102 or the search engine server 103 may be different from the operator of the web server from which the query originates. In this embodiment, the operator of the web server 101 is charged at a fixed rate each time a query is made to the search engine server 102 or the search engine server 103 from a client terminal used by a user.
[0041] <Search process> The process of searching for content on a teaching material site according to the first embodiment will be described below with reference to Fig. 6 to Fig. 8. Fig. 6 is a sequence diagram showing an example of the process from accessing the search engine server 102 and the search engine server 103 with the web browser of the client terminal 104 to displaying search results.
[0042] The processing of the client terminal 104 in FIG. 6 is realized, for example, by the CPU 301 of the client terminal 104 reading out a program stored in the ROM 303 into the RAM 302 and executing it.
[0043] The processing of the web server 101 in FIG. 6 is realized, for example, by the CPU 201 of the web server 101 reading out a program stored in the ROM 203 into the RAM 202 and executing it.
[0044] The processing of the search engine server 102 in FIG. 6 is realized, for example, by the CPU 201 of the search engine server 102 reading out a program stored in the ROM 203 into the RAM 202 and executing it.
[0045] The processing of the search engine server 103 in FIG. 6 is realized, for example, by the CPU 201 of the search engine server 103 reading out a program stored in the ROM 203 into the RAM 202 and executing the program.
[0046] Note that part or all of the processing in FIG. 6 may be realized by hardware such as an ASIC (Application Specific Integrated Circuit) or an electronic circuit.
[0047] The subjects of the following processes are the CPUs provided in the client terminal 104, the web server 101, the search engine server 102, and the search engine server 103.
[0048] 7 is a diagram showing an initial display state of a search screen 702 displayed within a screen 701 by a web browser on the client terminal 104. The search screen 702 includes a search word input field (input area) 703 and a search button 704.
[0049] Fig. 8 is a diagram showing the state after the search results of the search screen 702 are displayed within the screen 701 by the web browser of the client terminal 104. Note that the screen of Fig. 8 may be displayed by a screen transition from the search screen 702.
[0050] 8 displays the following data. The search result screen 801 includes a search word input field 802, a search button 803, a search list title 804, thumbnail images 805 of the search results, content titles 806 of the search results, and a display next page button 807. However, the display next page button 807 is displayed when the total number of searches received by the client terminal 104 from the search engine server 102 exceeds the number of items displayed per page. In the first embodiment, the number of items displayed per page is set to 12.
[0051] The title 804 of the search list may also display the total number of searches received from the search engine server 102 or the search engine server 103. The content title 806 of the search results may display the domain name of the linked site on a new line. The next page display button 807 may display pagination according to the total number of searches and the number of results per page that display search results after the number of results per page. The grouping of thumbnail images 805 and content titles 806 for each piece of content may be drawn with a background color, background image, outer frame, etc. for each educational material site from which the search results originate.
[0052] 6 is started when a user operation is received on a screen 701 displayed by a web browser started by the user on the client terminal 104. The processing in Fig. 6 is realized, for example, by the CPU 301 of the client terminal 104 reading a program stored in the ROM 303 into the RAM 302 and executing the program.
[0053] In step S601, the client terminal 104 detects an access operation to the search screen 702, such as accepting input of the URL of the search screen 702 in the address input field of the screen 701 or clicking a hyperlink to the search screen 702. When the client terminal 104 detects an access operation to the search screen 702, the data request unit 501 of the client terminal 104 requests the search screen 702 from the web server 101.
[0054] In step S602, the data transmission unit 403 of the web server 101 returns the following files to the web browser of the client terminal 104. The files include the HTML file of the search screen 702 requested by the client terminal 104 and a JAVASCRIPT program for the search process.
[0055] The HTML file and the JAVASCRIPT program are stored in advance on the web server 101. Information about the site to be searched may be written into the JAVASCRIPT program or may be included from the JAVASCRIPT program.
[0056] In step S603, the data receiving unit 502 of the client terminal 104 receives the HTML file and the JAVASCRIPT program from the WEB server 101 in step S602 via the WEB browser. The display control unit 503 of the client terminal 104 displays the search screen 702 on the display unit 306 based on the HTML file and the JAVASCRIPT program. At this time, the search start position for the search engine server 102 and the search start position for the search engine server 103 are initialized with values obtained from the beginning. The search start position for the search engine server 102 is an example of a first search start position. The search start position for the search engine server 103 is an example of a second search start position.
[0057] In step S604, when the display control unit 503 of the client terminal 104 detects that the search button 803 has been pressed, the query string generation unit 504 of the client terminal 104 composes a query string in accordance with the notation defined by the search engine server 102. The query string includes the search keyword entered in the search word input field 704, the search start position in the search engine server 102, and the specified number of matches.
[0058] In step S605, the data request unit 501 of the client terminal 104 transmits the query string constructed in step S604 to the search engine server 102 via the web browser. In step S606, the data receiving unit 502 of the client terminal 104 receives data including the total number of searches and the thumbnail image URL, thumbnail image acquisition source URL, title, and link destination URL of the content for each search result from the search engine server 102. In step S607, the data receiving unit 502 of the client terminal 104 saves the data received from the search engine server 102 in step S606, and adds the number of search results obtained to the search start position for the search engine server 102.
[0059] The query string generation unit 504 of the client terminal 104 determines whether the number of results obtained in step S606 is less than or equal to the total search count and less than the specified number. If the query string generation unit 504 determines that the number of results obtained in step S606 is less than or equal to the total search count and less than the specified number, the processes from step S608 to step S613 onwards are executed. If the query string generation unit 504 determines that the number of results obtained in step S606 is not less than or equal to the total search count or is not less than the specified number, the processes from step S608 to step S61 are not executed, and the processes from step S613 onwards are executed.
[0060] In step S608, the query string generation unit 504 of the client terminal 104 constructs a query string in accordance with the notation defined by the search engine server 103. The query string includes the search keyword entered in the search word entry field 704, the search start position in the search engine server 103, and the specified number of matches.
[0061] In step S609, the data request unit 501 of the client terminal 104 transmits the query string constructed in step S608 to the search engine server 103 via the web browser. In step S610, the data receiving unit 502 of the client terminal 104 receives data including the total number of searches and the thumbnail image URL, thumbnail image acquisition source URL, title, and link destination URL of the content for each search result from the search engine server 103. In step S611, the data receiving unit 502 of the client terminal 104 saves the data received from the search engine server 103 in step S610.
[0062] In step S612, the result processing unit 505 of the client terminal 104 adds together the two search results obtained in steps S606 and S610. However, when adding together, the result processing unit 505 adds the result items of the search results obtained in step S610 to the list of search results obtained in step S606, from the top until the number of results reaches the number of results to be displayed. However, the result processing unit 505 does not add together results in which the thumbnail image source URL, title, and link destination URL in two search results match, as duplicate search results. In other words, when adding together, the result processing unit 505 excludes duplicate search results. Note that excluding duplicate search results means that only one of the duplicate search results is left in the combined result, and both duplicate search results are not left in the combined result. The same applies to the exclusion of duplicate search results below. The result processing unit 505 adds the number of results up to the last combined result item in the individual result list of the search results obtained in step S610 to the search start position for the search engine server 103.
[0063] In step S613, the result processing unit 505 of the client terminal 104 generates HTML data from the search results. The display control unit 503 of the client terminal 104 displays a screen 801 on the display unit 306 based on the generated HTML data.
[0064] After step S613, if the next page display button 807 is pressed, the process similarly starts from step S604, and the HTML data is displayed following the list of search results.
[0065] By making separate queries under specific conditions as in this embodiment, the number of queries can be reduced compared to simultaneously querying multiple search engines at once, which means that the amount of money charged to the search engines can be reduced, and furthermore, search results with high scores from other search engines can be presented to the user in addition to the results compared to when a single search engine is used.
[0066] Furthermore, depending on the timing of the crawling of the search engine server 102 or the search engine server 103 in step S612, the linked URL may contain or may not contain a query string such as a campaign code or dummy parameter, or the query string may be different. To the accessor, if the thumbnail image, title, and linked URL excluding the query string match, they will be recognized as the same search result. Therefore, if a match determination is made including the query string, there is a possibility that duplicate search results will be presented to the accessor. Therefore, the match determination of the linked URL may be made excluding the query string.
[0067] Furthermore, if there are result items included in both search results in step S612, the duplicates are removed. Result items included in multiple search engine servers are considered to be highly popular results, so placing them as high as possible in the combined search results is expected to increase user access. Therefore, if there are result items included in both search results, the order of the result items may be rearranged. For example, the order of the search results from search engine server 102 or the order of the search results from search engine server 103 may be rearranged at the top, and result items included in only one of the search results may be arranged after the group of result items included in both.
[0068] In this embodiment, an example in which two search engine servers are used has been described. The number of search engine servers used is not limited to two, and may be three or more. For example, when three search engine servers are used, if the sum of the search results obtained from search engine server 103 is less than the specified number, a third search engine server (not shown) may be used.
[0069] In addition, in this embodiment, the WEB server 101, the search engine server 102, the search engine server 103, and the client terminal 104 are described as being connected via the Internet, but the connection mode is not limited to this. For example, the WEB server 101, the search engine server 102, the search engine server 103, and the client terminal 104 may be locally connected to each other.
[0070] [Embodiment 2] In the first embodiment, an example was described in which the search result screen 801 was displayed by pressing the search button 803, and the search start position was changed and the next page display button 807 was pressed to search for lower-level results. However, depending on the search engine server, it is possible that the total number of search results from one of the search engine servers in the initial search using the search button 803 will be less than the specified number. In this case, even if the next page display button 807 is pressed after the search result screen 801 is displayed and a query is sent to that search engine server, it is clear that the number of search results returned will be zero. This poses a problem in that sending a query to that search engine server may result in unnecessary charges.
[0071] In the second embodiment, it is determined whether the total number of search results from the search engine server is greater than the specified number based on the query made by pressing the search button 803. In the second embodiment, an aspect will be described in which, depending on the result of this determination, queries to the search engine server can be suppressed when the next page display button 807 is pressed, thereby reducing the amount of charges.
[0072] In the second embodiment, differences from the first embodiment will be mainly described. Figures 9 and 10 are sequence diagrams showing an example of processing from when the client terminal 104 accesses the search engine server 102 and the search engine server 103 using a web browser until the search results are displayed. Figure 10 is a diagram following Figure 9.
[0073] The processing of the client terminal 104 in FIGS. 9 and 10 is realized, for example, by the CPU 301 of the client terminal 104 reading out a program stored in the ROM 303 into the RAM 302 and executing it.
[0074] The processing of the WEB server 101 in FIGS. 9 and 10 is realized, for example, by the CPU 201 of the WEB server 101 reading out a program stored in the ROM 203 into the RAM 202 and executing it.
[0075] The processing of the search engine server 102 in FIGS. 9 and 10 is realized, for example, by the CPU 201 of the search engine server 102 reading out a program stored in the ROM 203 into the RAM 202 and executing it.
[0076] The processing of the search engine server 103 in FIGS. 9 and 10 is realized, for example, by the CPU 201 of the search engine server 103 reading out a program stored in the ROM 203 into the RAM 202 and executing the program.
[0077] Note that some or all of the processes in FIGS. 9 and 10 may be implemented by hardware such as an ASIC or electronic circuit.
[0078] Hereinafter, the subject of each process is the CPU provided in the client terminal 104, the web server 101, the search engine server 102, and the search engine server 103.
[0079] The processing from step S901 to step S912 in FIG. 9 is the same as the processing from step S601 to step S612 in FIG. 6, and therefore a description of these processing will be omitted.
[0080] In step S913, the result processing unit 505 of the client terminal 104 generates HTML data from the search results. The display control unit 503 of the client terminal 104 displays a screen 801 on the display unit 306 based on the generated HTML data. Furthermore, if the total number of search results received in step S906 is less than the specified number and if the total number of search results received in step S910 is less than the specified number, the display control unit 503 of the client terminal 104 does not display the next page display button 807.
[0081] In step S914, when the display control unit 503 of the client terminal 104 detects that the next page display button 807 has been pressed, it determines whether the total number of searches in the search results received in step S906 is greater than the specified number. If the total number of searches is greater than the specified number, the query string generation unit 504 of the client terminal 104 composes and generates a query string in accordance with the notation defined by the search engine server 102. The query string includes the search keyword entered in the search word input field 704, the search start position in the search engine server 102, and the specified number of searches. If the total number of searches in the search results received in step S906 is less than the specified number, the query to the search engine server 102 is skipped, and the process proceeds to step S918.
[0082] The processing from step S915 to step S917 is the same as the processing from step S605 to step S607 in FIG. 6, so a description of those processing will be omitted.
[0083] In step S918 of FIG. 10 , the query string generation unit 504 of the client terminal 104 determines whether the total number of searches in the search results received in step S910 is greater than the specified number. If the query string generation unit 504 determines that the total number of searches is greater than the specified number, it determines whether the total number of searches in the search results received in step S906 is greater than the specified number. If the query string generation unit 504 determines that the total number of searches in the search results received in step S906 is greater than the specified number, it determines whether the number of acquired search results received in step S916 is less than or equal to the total number of searches and less than the specified number. If the number of acquired results is less than or equal to the total number of searches and less than the specified number, the query string generation unit 504 constructs a query string in accordance with the notation defined by the search engine server 103. The query string includes the search keyword entered in the search word input field 704, the search start position to the search engine server 103, and the specified number of searches. If the total number of search results received in step S906 is less than the specified number, the query string generation unit 504 proceeds to step S923. If the total number of search results received in step S910 is less than the specified number, the query string generation unit 504 proceeds to step S927.
[0084] The processing from step S919 to step S922 is the same as the processing from step S609 to step S612 in Fig. 6, so a description of those processing will be omitted. The processing from step S923 to step S925 is the same as the processing from step S608 to step S610 in Fig. 6, so a description of those processing will be omitted.
[0085] In step S926, the data receiving unit 502 of the client terminal 104 saves the data received from the search engine server 103 in step S925, and adds the number of acquired search results to the search start position for the search engine server 103.
[0086] The process in step S927 is the same as the process in step S613 in FIG. 6, so a description of the process will be omitted.
[0087] After step S927, if the next page display button 807 is pressed, the process similarly starts from step S918, and the client terminal 104 displays the HTML data following the search result list.
[0088] Furthermore, as described in the first embodiment, the combining process in steps S912 and S922 may exclude the query string when determining whether the linked URLs match, and the result items included in both search results may be rearranged to the top when combining.
[0089] As explained above, in this embodiment, the total number of searches is compared with the specified number of items in the initial query to each search engine server, and a query is not made to search engine servers where the total number of searches is less than the specified number, even if the next page display button 807 is pressed. This suppresses queries to search engine servers where the total number of searches is less than the specified number, making it possible to reduce the amount charged.
[0090] In this embodiment, an example in which two search engine servers are used has been described. The number of search engine servers used is not limited to two, and may be three or more. For example, when three search engine servers are used, if the sum of the search results obtained from search engine server 103 is less than the specified number, a third search engine server (not shown) may be used.
[0091] In addition, in this embodiment, the WEB server 101, the search engine server 102, and the client terminal 104 are described as being connected via the Internet, but the connection mode is not limited to this. For example, the WEB server 101, the search engine server 102, and the client terminal 104 may be connected to each other locally.
[0092] [Embodiment 3] In Embodiment 1, an example was described in which the client terminal 104 constructs a query string, communicates with the search engine servers 102 and 103 to obtain search results, and displays the search results. However, depending on the number of search results, the load of the aggregation process of the search results in step S612 and the process of converting the search results into HTML data for display in step S613 may increase. As a result, there is a possibility that the display process in step S613 is delayed in the client terminal 104.
[0093] In Embodiment 3, the WEB server 101 constructs a query string, communicates with the search engine servers 102 and 103 to obtain search results. Then, the WEB server 101 transmits the sorted search results to the client terminal 104. The client terminal 104 receives the sorted search results from the WEB server 101 and displays the received search results. This makes it possible to reduce the processing load of the client terminal 104. Hereinafter, a specific example of Embodiment 3 will be described. In Embodiment 3, the description will focus on the points different from Embodiment 1.
[0094] <Software Configuration of WEB Server> FIG. 11 is a functional block diagram of software executed by the WEB server 101 according to Embodiment 3. The software of the WEB server 101 includes the following functional blocks. The functional blocks are a data request reception unit 1001, a data acquisition unit 1002, a data transmission unit 1003, a data reception unit 1004, a query string generation unit 1005, a data request unit 1006, a result processing unit 1007, and a screen generation unit 1008.
[0095] The data request reception unit 1001 receives an access request for data from the client terminal 104 via the network communication unit 207. The data acquisition unit 1002 obtains data by communicating with the client terminal 104 in response to the request received by the data request reception unit 1001.
[0096] The data transmission unit 1003 transmits the following data to the client terminal 104 via the network communication unit 207. The data includes an HTML file of the search screen, a JAVASCRIPT program for the search process, a list file in which the domain names of sites to be searched are saved, a keyword wording conversion list file, and HTML data of the search result screen.
[0097] The data receiving unit 1004 receives data from the client terminal 104 and external servers such as the search engine server 102 via the network communication unit 207. Specifically, the data receiving unit 1004 receives the selected values in the pull-down list of search conditions and the input values in the search word input field from the client terminal 104. The data receiving unit 1004 also receives data from the search engine server 102 including the total number of searches and the thumbnail image URL, title, and link destination URL of the content for each search result.
[0098] The query string generation unit 1005 composes and generates a query string to be sent to the search engine server 102 .
[0099] The data request unit 1006 makes a data access request to an external server such as the search engine server 102 via the network communication unit 207. Specifically, the data request unit 1006 transmits the query string generated by the query string generation unit 1006 to the search engine server 102, and requests search results from the search engine server 102.
[0100] The result processing unit 1007 sorts the search results obtained from the search engine server 102 via the data receiving unit 1004 by site.
[0101] The screen generation unit 1008 generates HTML data for a search result screen from the search results processed by the result processing unit 1007 .
[0102] <Client terminal software configuration> 12 is a functional block diagram of software executed on the client terminal 104 according to embodiment 3. The software of the client terminal 104 includes a data request unit 1101, a data receiving unit 1102, a display control unit 1103, and a data transmitting unit 1104.
[0103] The data request unit 1101 requests data access to the web server 101 via the network communication unit 307. The data receiving unit 1102 receives data from an external server such as the web server 101 via the network communication unit 307. Specifically, the data receiving unit 1102 receives an HTML file for a search screen, a JAVASCRIPT program for search processing, a list file in which domain names of sites to be searched are saved, and a keyword wording conversion list file from the web server 101. In addition, the data receiving unit 1102 also receives HTML data for a search result screen from the web server 101.
[0104] A display control unit 1103 displays the results of the OS, the web browser, and the application on the display unit 306. A data transmission unit 1104 transmits the selected values in the pull-down list on the search screen of the web browser and the input values in the search word input field to the web server 101 via the network communication unit 307.
[0105] <Search process> FIG. 13 is a sequence diagram showing an example of processing from when the client terminal 104 accesses the search engine server 102 and the search engine server 103 using a web browser until the search results are displayed.
[0106] The processing of the client terminal 104 in FIG. 13 is realized, for example, by the CPU 301 of the client terminal 104 reading out a program stored in the ROM 303 into the RAM 302 and executing it.
[0107] The processing of the web server 101 in FIG. 13 is realized, for example, by the CPU 201 of the web server 101 reading out a program stored in the ROM 203 into the RAM 202 and executing it.
[0108] The processing of the search engine server 102 in FIG. 13 is realized, for example, by the CPU 201 of the search engine server 102 reading out a program stored in the ROM 203 into the RAM 202 and executing it.
[0109] The processing of the search engine server 103 in FIG. 13 is realized, for example, by the CPU 201 of the search engine server 103 reading out a program stored in the ROM 203 into the RAM 202 and executing the program.
[0110] Note that part or all of the processing in FIG. 13 may be realized by hardware such as an ASIC or electronic circuit.
[0111] The subjects of each process below are the CPUs provided in the client terminal 104, the web server 101, and the search engine server 102.
[0112] The processing of step S1201 is the same as the processing of step S601 in Fig. 6, so a description of the processing of step S1201 will be omitted. In step S1202, the WEB server 101 returns the HTML file of the search screen 702 requested by the client terminal 104 to the WEB browser of the client terminal 104. This HTML file has been saved in the WEB server 101 in advance.
[0113] In step S 1203 , the client terminal 104 reads the HTML file received from the web server 101 in step S 1202 using a web browser, and displays the search screen 702 .
[0114] In step S1204, when the data transmission unit 1104 of the client terminal 104 detects that the user has pressed the search button 704, it transmits the selected value of the pull-down list 703 and the input value of the search word input field 704 to the web server 101 via the web browser.
[0115] In step S1205, the query string generation unit 1005 of the web server 101 composes and generates a query string in accordance with the notation defined by the search engine server 102. The query string includes the search keyword entered in the search word entry field 704, the search start position in the search engine server 102, and the specified number of matches. At this time, the search start position in the search engine server 102 and the search start position in the search engine server 103 are initialized with values obtained from the beginning.
[0116] In step S1206, the data request unit 1006 of the WEB server 101 transmits the query string constructed in step S1205 to the search engine server 102. In step S1207, the data receiving unit 1004 of the WEB server 101 receives from the search engine server 102 data including the total number of searches, and the thumbnail image URL, thumbnail image acquisition source URL, title, and link destination URL of the content for each search result.
[0117] In step S1208, the data receiving unit 1004 of the Web server 101 saves the data received from the search engine server 102 in step S1207, and adds the number of search results obtained to the search start position for the search engine server 102.
[0118] In step S1209, the query string generation unit 1005 of the WEB server 101 determines whether the number of results obtained in step S1207 is less than or equal to the total number of searches and less than the specified number. Also, in step S1209, if the number of results obtained in step S1207 is less than or equal to the total number of searches and less than the specified number, the query string generation unit 1005 of the WEB server 101 composes a query string in accordance with the notation defined by the search engine server 103. The query string includes the search keyword entered in the search word input field 704, the search start position in the search engine server 103, and the specified number of results. Otherwise, the process proceeds to step S1214.
[0119] In step S1210, the data request unit 1006 of the WEB server 101 transmits the query string constructed in step S1209 to the search engine server 103. In step S1211, the data receiving unit 1004 of the WEB server 101 receives data including the total number of searches, and the thumbnail image URL, thumbnail image acquisition source URL, title, and link destination URL of the content for each search result from the search engine server 103. In step S1212, the data receiving unit 1004 of the WEB server 101 saves the data received from the search engine server 103 in step S1211.
[0120] In step S1213, the result processing unit 1007 of the web server 101 adds together the two search results obtained in steps S1207 and S1211. However, when adding together, the result processing unit 1007 adds the result items of the search result obtained in step S1211 to the end of the list of search results obtained in step S1207, from the top, until the number of items to be displayed is reached. However, the result processing unit 1007 does not add together results in two search results where the thumbnail image acquisition source URL, title, and link destination URL match, as they are duplicate search results. The result processing unit 1007 adds the number of results up to the last added result item in the individual result lists of the search results obtained in step S1211 to the search start position for the search engine server 103.
[0121] In step S1214, the screen generation unit 1008 of the Web server 101 generates and stores HTML data for a search result screen using the search results stored in step S1209. In step S1215, the data transmission unit 1003 of the Web server 101 transmits the HTML data generated in step S1214 to the data reception unit 1102 of the client terminal 104.
[0122] In step S1216, the display control unit 1103 of the client terminal 104 uses the HTML data of the search result screen received in step S1215 to display the search result screen 801. If the next page display button 807 is pressed after step S1216, the process similarly starts from step S1204, and the HTML data is displayed following the search result list.
[0123] Furthermore, as described in the first embodiment, the combining process in step S1213 may exclude the query string when determining whether the linked URLs match, and the result items included in both search results may be rearranged to the top when combining.
[0124] As described above, according to this embodiment, the WEB server 101 performs the construction of a query string, the communication with the search engine server 102, the communication with the search engine server 103, the process of combining search results, and the process of generating HTML data. Since the processes performed by the client terminal 104 are the communication with the WEB server and the screen display process, it is possible to reduce the processing load on the client terminal 104 compared to the first embodiment.
[0125] In this embodiment, an example in which two search engine servers are used has been described. The number of search engine servers used is not limited to two, and may be three or more. For example, when three search engine servers are used, if the sum of the search results obtained from search engine server 103 is less than the specified number, a third search engine server (not shown) may be used.
[0126] In addition, in this embodiment, the WEB server 101, the search engine server 102, the search engine server 103, and the client terminal 104 are described as being connected via the Internet, but the connection mode is not limited to this. For example, the WEB server 101, the search engine server 102, the search engine server 103, and the client terminal 104 may be locally connected to each other.
[0127] (Other embodiments) The present invention can also be realized by supplying a program that realizes one or more functions of the above-described embodiments to a system or device via a network or a storage medium, and having one or more processors in the computer of the system or device read and execute the program. It can also be realized by a circuit (e.g., ASIC) that realizes one or more functions.
[0128] Although the preferred embodiments of the present invention have been described above, the present invention is not limited to these embodiments and various modifications and changes are possible within the scope of the gist of the present invention.
[0129] The disclosure of this embodiment includes the following configuration. (Configuration 1) An information processing system for displaying search results by a search engine server, a first acquiring means for acquiring search results from a first search engine server; a second acquisition means for acquiring search results from a second search engine server when the number of search results acquired by the first search engine server is equal to or less than the total number of searches and is less than a specified number; a first display means for displaying the search results by the first search engine server when the number of search results obtained by the first search engine server is not less than the total number of searches or is not less than a specified number of results; a second display means for displaying the search results by the first search engine server and the search results by the second search engine server when the number of search results obtained by the first search engine server is equal to or less than the total number of searches and is less than a specified number; An information processing system comprising: (Configuration 2) the second display means excludes overlapping search results between the search results by the first search engine server and the search results by the second search engine server, and displays the combined search results. 2. The information processing system according to configuration 1, (Configuration 3) the second display means determines the duplication by excluding a query string when determining whether the linked URLs match; 3. The information processing system according to configuration 2. (Configuration 4) the second display means rearranges and displays the duplicated search results in a higher order. 4. The information processing system according to configuration 2 or 3. [Explanation of symbols]
[0130] 100 Internet 101 Web Server 102 Search Engine Server 103 Search Engine Server 104 client terminals
Claims
1. An information processing system for displaying search results by a search engine server, a first acquiring means for acquiring search results from a first search engine server; a second acquisition means for acquiring search results from a second search engine server when the number of search results acquired by the first search engine server is equal to or less than the total number of searches and is less than a specified number; a first display means for displaying the search results by the first search engine server when the number of search results obtained by the first search engine server is not less than the total number of searches or is not less than a specified number of results; a second display means for displaying the search results by the first search engine server and the search results by the second search engine server when the number of search results obtained by the first search engine server is equal to or less than the total number of searches and is less than a specified number; An information processing system comprising:
2. the second display means excludes overlapping search results between the search results by the first search engine server and the search results by the second search engine server, and displays the combined search results.
2. The information processing system according to claim 1, wherein:
3. the second display means determines the duplication by excluding a query string when determining whether the linked URLs match; 3. The information processing system according to claim 2.
4. the second display means rearranges and displays the duplicated search results in a higher order.
3. The information processing system according to claim 2.
Citation Information
Patent Citations
Information retrieving program
JP2003157283A
System and method for query refinement
JP2006209757A
Retrieval method, integrated retrieval server and computer program
JP2011238179A