Server device, proposed method, and program

The server device addresses the challenge of exceeding processing limits by suggesting search condition adjustments, particularly for target periods, to maintain record counts within allowable limits, enhancing data retrieval efficiency and reducing staff confusion.

JP7807503B1Active Publication Date: 2026-01-27RAKUTEN GROUP INC
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
JP2024173845
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-10-02
Publication Date
2026-01-27
Estimated Expiration
2044-10-02

AI Technical Summary

Technical Problem

Existing sales systems face challenges in handling search requests that exceed the processing and communication load limits, leading to confusion for shop staff when they are prompted to change search conditions without clear guidance on how to modify them to stay within the limits.

Method used

A server device that includes a suggestion unit to propose new search conditions by adjusting the target period, such as moving the end date or using binary search methods, to ensure the number of matching records does not exceed the upper limit, and provides a search screen with warnings and recommendations for condition changes.

Benefits of technology

The system effectively suggests search conditions that keep the number of records within the limit, reducing staff confusion and ensuring efficient data retrieval by automatically adjusting search parameters.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007807503000001_ABST
    Figure 0007807503000001_ABST
Patent Text Reader

Abstract

A server device capable of appropriately proposing recommended search conditions is provided. [Solution] In the server device 200, a receiving unit 242 receives search conditions for searching for records stored in a database 230 from a store terminal. An acquiring unit 243 acquires from the database 230 the sum of records that match the search conditions accepted by the accepting unit 242. A determining unit 244 determines whether the sum acquired by the acquiring unit 243 exceeds a predetermined upper limit. If the determining unit 244 determines that the sum does not exceed the upper limit, a creating unit 245 creates a file for download in which data of records that match the search conditions is written. On the other hand, if it determines that the sum exceeds the upper limit, a suggesting unit 246 proposes to the store terminal recommended search conditions that are new search conditions that are partial changes to the search conditions and in which the sum of matching records does not exceed the upper limit.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a server device, a proposal method, and a program. [Background technology]

[0002] In recent years, sales systems that conduct electronic commerce via the Internet have become popular. For example, large-scale sales systems consisting of many shops (virtual stores) not only handle a wide range of categories of products, but also engage in price competition among the shops, and are used by many users. In such a sales system, various information relating to the sale of exhibited products is provided to each shop.

[0003] For example, Patent Document 1 discloses an invention of a purchase analysis system that can analyze the purchasing status and the like from multifaceted information regarding products exhibited on a shopping mall site. The invention described in Patent Document 1 analyzes product purchasing behavior based on product buying and selling history, product advertising indicators, and product attention, and outputs the analysis results to a user terminal (a terminal such as a shop terminal). [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Patent No. 7009719 Summary of the Invention [Problem to be solved by the invention]

[0005] Recently, in response to requests from shops to conduct their own analyses, a system has been established that allows data on listed items stored in the sales system database to be provided to shops upon request. For example, when desired search criteria are entered from a shop terminal, the sales system's server searches the database for records that match the search criteria and creates a file containing the search result data in a specified format. Since creating the file takes some time, after the server has completed creating the file, it sends an email to the shop terminal containing a link to download the file.

[0006] The server device creates such files in response to the search conditions from each shop, so certain limitations are imposed in consideration of the processing load and communication load. For example, the server device sets an upper limit on the number of records that can be written to one file, and if the number of records that match the search criteria exceeds that limit, the server device does not create the file and issues a warning to the terminal to change the search criteria. In other words, the server device does not create a file for download until the number of records that match the search criteria falls below the upper limit.

[0007] However, when a warning is issued to change the search conditions, shop staff are often confused about what search conditions to change to. In such cases, the shop staff often end up changing the search conditions repeatedly through trial and error before finally finding search conditions that keep the number of records below the upper limit.

[0008] Given this situation, there was a need for technology that not only issued a warning but also suggested search conditions that would keep the number of records below the upper limit.

[0009] The present invention has been made in view of the above circumstances, and aims to provide a server device, a suggestion method, and a program that can appropriately suggest recommended search conditions (recommended conditions). [Means for solving the problem]

[0010] A server device according to a first aspect of the present invention comprises: a reception unit that receives search conditions for searching records stored in the database from a user terminal; an acquisition unit that acquires from the database a total of records that match the search conditions accepted by the acceptance unit; a determination unit that determines whether the sum acquired by the acquisition unit exceeds a predetermined upper limit value; a creating unit that creates a file for downloading into which data of records that match the search conditions is written when the determining unit determines that the sum does not exceed the upper limit value; a suggestion unit that, when the determination unit determines that the sum exceeds the upper limit, proposes to the user terminal new search conditions that are obtained by partially changing the search conditions, such that the sum of matching records does not exceed the upper limit; and The present invention is characterized by comprising:

[0011] In addition, in the server device according to the above aspect, When the search conditions include a target period, the suggestion unit may suggest to the user terminal the recommended conditions that have been changed to a new target period by moving up only the end date while maintaining the start date of the target period.

[0012] In addition, in the server device according to the above aspect, The suggestion unit may set a new target period whose end point is the point at which the target period is divided in half, repeat the process of setting a new target period whose end point is the point at which either of the divided periods is further divided in half, and calculate the sum of records that match the recommended conditions that have been changed for each new target period, so that the sum of the matching records does not exceed the upper limit value and proposes to the user terminal the recommended conditions that are closest to the upper limit value.

[0013] In addition, in the server device according to the above aspect, The suggestion unit may set new target periods by advancing the end of the target period by a unit period, and in the process of sequentially calculating the sum of records that match the recommended conditions changed for each new target period, may suggest to the user terminal the recommended conditions for which the sum of the matching records first falls below the upper limit value.

[0014] Furthermore, the server device according to the above aspect comprises: a screen generating unit that generates a search screen for inputting the search conditions, the search screen allowing a user to arbitrarily edit a plurality of items arranged in a search condition field, and displays the search screen on the user terminal; when the determination unit determines that the sum exceeds the upper limit value, the screen generation unit displays a warning message on the search screen notifying that the file cannot be created; The suggestion unit may prompt the user to change any of the items in the search condition field.

[0015] In addition, in the server device according to the above aspect, The suggestion unit may further suggest a difference condition for searching for a difference between a record that matches the search condition and a record that matches the recommendation condition when the discrimination unit determines that the sum exceeds the upper limit value.

[0016] In addition, in the server device according to the above aspect, The suggestion unit may suggest the difference condition to the user terminal after the file is downloaded from the user terminal.

[0017] The proposed method according to the second aspect of the present invention comprises: A proposed method executed by a server device, a receiving step of receiving search conditions for searching for records stored in the database from a user terminal; an acquisition step of acquiring from the database the total number of records that match the search criteria received in the receiving step; a determining step of determining whether the sum acquired in the acquiring step exceeds a predetermined upper limit value; a creating step of creating a file for downloading into which data of records that match the search conditions is written when it is determined in the determining step that the sum does not exceed the upper limit value; a proposing step of proposing to the user terminal new search conditions obtained by partially changing the search conditions, when it is determined in the determining step that the sum exceeds the upper limit, the new search conditions being recommended conditions such that the sum of matching records does not exceed the upper limit; The present invention is characterized by comprising:

[0018] A program according to a third aspect of the present invention comprises: On the computer, a receiving step of receiving, from a user terminal, search conditions for searching for records stored in the database; an acquisition step of acquiring from the database the total number of records that match the search conditions received in the receiving step; a determining step of determining whether the sum acquired in the acquiring step exceeds a predetermined upper limit value; a creating step of creating a file for downloading into which data of records that match the search conditions is written when it is determined in the determining step that the sum does not exceed the upper limit value; a proposing step of proposing to the user terminal new search conditions obtained by partially changing the search conditions, when it is determined in the determining step that the sum exceeds the upper limit value, wherein the new search conditions are recommended conditions such that the sum of matching records does not exceed the upper limit value; The present invention is characterized in that the following is executed.

[0019] The above program may be distributed or sold via a computer communication network independently of the computer on which the program is executed. Furthermore, the information recording medium on which the above program is recorded is a non-transitory recording medium and can be distributed and sold independently of the computer. Here, a non-transitory recording medium refers to a tangible recording medium. Examples of non-transitory recording media include compact discs, flexible disks, hard disks, magneto-optical disks, digital video disks, magnetic tapes, and semiconductor memories. A transitory recording medium refers to the transmission medium (propagation signal) itself. Examples of transitory recording media include electrical signals, optical signals, and electromagnetic waves. A temporary storage area is an area for temporarily storing data and programs, such as volatile memory such as RAM (Random Access Memory). [Effects of the Invention]

[0020] According to the present invention, recommended search conditions can be appropriately proposed. [Brief explanation of the drawings]

[0021] [Figure 1] 1 is a block diagram showing an example of the overall configuration of a sales support system according to an embodiment of the present invention; [Figure 2] 1 is a block diagram showing an example of a schematic configuration of a typical information processing device in which a server device or the like according to an embodiment of the present invention is realized; [Figure 3] FIG. 2 is a block diagram illustrating an example of a functional configuration of a server device according to the present embodiment. [Figure 4] FIG. 2 is a schematic diagram illustrating an example of product management information stored in a database. [Figure 5] FIG. 10 is a schematic diagram illustrating an example of a search screen. [Figure 6] FIG. 2 is a schematic diagram illustrating an example of a file created by writing data in a predetermined format. [Figure 7] FIG. 10 is a schematic diagram for explaining how a new target period is obtained by advancing the end date of the target period using a binary search method. [Figure 8]FIG. 10 is a schematic diagram for explaining how a new target period is obtained by advancing the end of the target period using another method. [Figure 9] FIG. 10 is a schematic diagram showing an example of recommended conditions for prompting a user to change the end date of a target period on a search screen. [Figure 10] 10 is a flowchart illustrating a proposal process according to the present embodiment. [Figure 11] FIG. 10 is a schematic diagram illustrating an example of a search screen that proposes a difference search. [Figure 12] FIG. 10 is a schematic diagram showing an example of a recommendation condition that prompts a user to change an item other than the target period. DETAILED DESCRIPTION OF THE INVENTION

[0022] An embodiment of the present invention will be described below. In the embodiment of the present invention, a case will be described in which recommended search conditions (recommended conditions) are proposed to a store terminal that inputs search conditions in a sales support system that provides information on exhibited products to a store (shop). However, this is just one example, and the present invention can also be applied as appropriate to cases in which recommended search conditions are proposed to terminals (user terminals, etc.) that use various systems that provide information. In other words, the following embodiments are for illustrative purposes only and do not limit the scope of the present invention. Therefore, a person skilled in the art may adopt embodiments in which each or all of the elements are replaced with equivalents, and these embodiments are also included in the scope of the present invention.

[0023] (Overall composition) 1, a sales support system 100 according to an embodiment of the present invention includes a server device 200, a sales server 300, and a store terminal 400. The server device 200, the sales server 300, and the store terminal 400 are communicably connected via the Internet 900, which is an example of a network. Although FIG. 1 shows only a few store terminals 400, this is to make it easier to understand the invention, and in reality, the sales support system 100 will include a large number of store terminals 400 depending on the number of stores that use the system.

[0024] The server device 200 is, for example, a server computer, and stores information on products sold by the sales server 300 (products sold at stores) in a database (database 230, described later), and provides (allows downloading by) the store terminal 400 a file containing data on records that match the search information entered from the store terminal 400.

[0025] The sales server 300 is, for example, a server computer, and manages a sales site that sells products. The sales server 300 manages the sales status and inventory status of products in the store, and when the sales status or inventory status changes, for example, it transmits the information to the server device 200. In addition, if the product is from a store that also outsources logistics services, the sales server 300 also transmits to the server device 200 information about the product managed in the warehouse and information about shipping the product to the customer who purchased it.

[0026] The store terminal 400 is, for example, a smartphone, tablet, or PC (personal computer), and is used in a store (shop) that exhibits products for sale through the sales server 300. In the sales support system 100, the store or a store staff member is the user, and the store terminal 400 is the user terminal. The store terminal 400 accesses the URL of the server device 200 to display a search screen (described later), inputs search conditions on the search screen, and searches for records that match the search conditions from the database provided in the server device 200. Then, the store terminal 400 downloads a file containing data of the searched records.

[0027] (General configuration of information processing device) A typical information processing device 500 in which the server device 200 according to this embodiment is realized will be described.

[0028] As shown in FIG. 2, the information processing device 500 includes a CPU (Central Processing Unit) 501, a ROM (Read Only Memory) 502, a RAM (Random Access Memory) 503, a NIC (Network Interface Card) 504, an image processing unit 505, an audio processing unit 506, an auxiliary memory unit 507, an interface 508, an operation unit 509, and a display unit 510.

[0029] The CPU 501 controls the overall operation of the information processing device 500, and is connected to each component to exchange control signals and data.

[0030] ROM 502 stores an IPL (Initial Program Loader) that is executed immediately after power is turned on. When this IPL is executed, a program stored in auxiliary memory unit 507 is read into RAM 503, and execution of the program by CPU 501 begins.

[0031] The RAM 503 is used to temporarily store data and programs, and holds programs and data read from the auxiliary storage unit 507, as well as other data necessary for communication.

[0032] The NIC 504 is used to connect the information processing device 500 to a computer communication network such as the Internet, and may be configured as a device conforming to the 10BASE-T / 100BASE-T standard used in constructing a LAN (Local Area Network), an analog modem for connecting to the Internet using a telephone line, an ISDN (Integrated Services Digital Network) modem, an ADSL (Asymmetric Digital Subscriber Line) modem, or a cable modem for connecting to the Internet using a cable television line.

[0033] The image processing unit 505 processes image data read from the auxiliary storage unit 507 or the like using an image calculation processor (not shown) provided in the CPU 501 or the image processing unit 505, and then records this in a frame memory (not shown) provided in the image processing unit 505. The image information recorded in the frame memory is converted into a video signal at a predetermined synchronous timing and output to the display unit 510 via the interface 508 or the like. In other words, under the control of the CPU 501, the image processing unit 505 generates images required in the progress of processing performed by the information processing device 500, and displays the images on the display unit 510.

[0034] The audio processing unit 506 converts audio data read from the auxiliary storage unit 507 or the like into an audio signal and outputs it to, for example, an external speaker. That is, under the control of the CPU 501, the audio processing unit 506 generates audio to be generated during the progress of processing performed by the information processing device 500 and outputs the audio from the speaker.

[0035] The auxiliary storage unit 507 is a hard disk or the like, and stores various programs and various data necessary for controlling the overall operation of the information processing device 500. For example, the auxiliary storage unit 507 stores programs for realizing the server device 200 according to the present embodiment, etc. Then, under the control of the CPU 501, the auxiliary storage unit 507 reads out the stored programs and data as appropriate, and temporarily stores them in the RAM 503 or the like.

[0036] An operation unit 509 and a display unit 510 are connected to the interface 508. Note that the interface 508 may also transmit and receive necessary information to and from other connected external devices.

[0037] The operation unit 509 accepts operation inputs from a worker or the like who uses the information processing device 500 .

[0038] The display unit 510 renders an image according to the image data output by the image processing unit 505 and displays it to a worker or the like who uses the information processing device 500 .

[0039] Additionally, the information processing device 500 may be provided with a drive unit such as a DVD (Digital Versatile Disc)-ROM instead of the auxiliary storage unit 507. In this case, the information processing device 500 reads out programs and data from a DVD-ROM or the like attached to the drive unit and operates in the same manner as described above.

[0040] (Embodiment) The server device 200 according to this embodiment will be described below with reference to Fig. 3 to Fig. 9. This server device 200 is realized by the above-mentioned information processing device 500. For example, when the information processing device 500 is powered on, a program that causes it to function as the server device 200 is executed, and the server device 200 according to this embodiment is realized.

[0041] (Functional configuration of server device) 3 is a block diagram showing an example of a functional configuration of the server device 200 according to the embodiment. As shown in the figure, the server device 200 includes a transmitting unit 210, a receiving unit 220, a database 230, and a control unit 240.

[0042] The transmitting unit 210 transmits various information to the store terminal 400. For example, the transmission unit 210 transmits to the store terminal 400 a search screen or the like generated by the control unit 240 (more specifically, a screen generation unit 241, which will be described later). Furthermore, the transmission unit 210 transmits (causes downloading of) to the store terminal 400 files and the like generated by the control unit 240 (more specifically, the generation unit 245, which will be described later).

[0043] The above-mentioned NIC 504 or the like can function as such a transmission unit 210.

[0044] The receiving unit 220 receives various information sent from the store terminal 400 or the sales server 300 . For example, the receiving unit 220 receives information about products of each store sent from the sales server 300. The receiving unit 220 also receives search conditions and the like for searching records in the database 230 sent from the store terminal 400 to which the sending unit 210 has sent the search screen.

[0045] The above-mentioned NIC 504 or the like can function as such a receiving unit 220.

[0046] The database 230 stores various information managed by the sales server 300 . For example, the database 230 stores product management information 231 for managing products in each store.

[0047] Specifically, the database 230 stores product management information 231 as shown in Fig. 4. This product management information 231 includes, for example, a store ID 231a, a product number 231b, arrival date and time 231c, storage date and time 231d, picking date and time 231e, inspection date and time 231f, packing date and time 231g, shipping date and time 231h, and delivery completion date and time 231i. The product management information 231 may further include data such as an SKU (Stock Keeping Unit) number, a sales price, and a point scaling factor.

[0048] In addition, the database 230 also stores store information (store name, address, email address, etc.) about each store.

[0049] The above-mentioned auxiliary storage unit 507 or the like can function as such a database 230.

[0050] The control unit 240 controls the entire server device 200. The control unit 240 includes, for example, a screen generation unit 241, a reception unit 242, an acquisition unit 243, a determination unit 244, a creation unit 245, and a proposal unit 246.

[0051] The screen generation unit 241 generates a search screen and the like, and transmits it to the store terminal 400 via the transmission unit 210 for display. For example, the screen generation unit 241 generates a search screen SG1 as shown in Fig. 5. This search screen SG1 is a screen that, when displayed on the store terminal 400, allows the store staff member to input search conditions for searching for records stored in the database 230. On the search screen SG1, multiple items IM are arranged in an editable manner in the search condition field FD. The items IM also include date items DS1 and DS2 for specifying the target period. The date item DS1 is an item for setting the start date of the target period, and the date item DS2 is an item for setting the end date of the target period. When these date items DS1 and DS2 are operated (by touch operation or the like), a calendar screen (not shown) pops up, and the start date or end date can be set from the calendar screen. When the button BT is operated, search conditions (search condition information) corresponding to the items IM set in the search condition field FD are transmitted to the server device 200.

[0052] 3, the reception unit 242 receives the search conditions sent from the store terminal 400 through the receiving unit 220. That is, when the button BT is operated while the search screen SG1 as shown in Fig. 5 described above is displayed on the store terminal 400, the reception unit 242 receives the search conditions according to the items IM set in the search condition field FD.

[0053] The acquiring unit 243 acquires from the database 230 the number of records that match the search conditions accepted by the accepting unit 242. For example, the acquisition unit 243 acquires the number of records returned from the database 230 by sending a command to the database 230 to count the number of records that match the search conditions (for example, in the case of an SQL query, a COUNT statement specifying the search conditions).

[0054] The determination unit 244 determines whether or not the number of records acquired by the acquisition unit 243 exceeds a predetermined upper limit. For example, if the upper limit is set to 50,000, the discrimination unit 244 determines whether the number of records acquired by the acquisition unit 243 (the number of records that match the search conditions) is more than 50,000 or less than 50,000.

[0055] If the determination unit 244 determines that the number of records (number of records that match the search criteria) does not exceed the upper limit (for example, 50,000), the creation unit 245 creates a file for download containing the data of the records that match the search criteria. For example, the creation unit 245 creates a file in which the data of the records that match the search conditions are written in a predetermined format. Specifically, the creation unit 245 creates a file by writing the processed data DT in a CSV (Comma-Separated Values) format as shown in Fig. 6. Note that the format is not limited to this CSV format, and the creation unit 245 may create a file by writing the processed data in another format such as a JSON (JavaScript (registered trademark) Object Notation) format or an XML (Extensible Markup Language) format.

[0056] 3, when the determination unit 244 determines that the number of records exceeds the upper limit, the suggestion unit 246 proposes recommended conditions that are new search conditions obtained by partially changing the search conditions to the shop terminal 400. In this case, the suggestion unit 246 proposes recommended conditions to the shop terminal 400 that do not cause the number of matching records to exceed the upper limit. For example, when a target period is included in the search conditions, the suggestion unit 246 proposes to the store terminal 400 recommended conditions that are changed to a new target period by moving up only the end date while maintaining the start date of the target period.

[0057] Specifically, the suggestion unit 246 uses a binary search method to find recommended conditions that are close to the upper limit value but do not exceed the upper limit value, and suggests the found recommended conditions to the shop terminal 400. This technique will be described in detail with reference to FIG. First, since the number of matching records in the target period PD1 (the period from the start time SP to the end time EP) included in the search conditions exceeds the upper limit, the proposing unit 246 sets a new target period PD2 whose end time is the time point Pt1 obtained by dividing the target period PD1 in half, and acquires the number of records that match the recommendation conditions changed to this target period PD2 from the database 230. Note that the proposing unit 246 may acquire the number of matching records directly from the database 230, or may acquire it indirectly via the acquiring unit 243. Next, if the number of records that match the recommendation conditions changed to the target period PD2 does not exceed the upper limit, the proposing unit 246 sets a new target period PD3 whose end point is a time point Pt2 obtained by further dividing the range Rd1 (i.e., the latter half of the target period PD1), and acquires the number of records that match the recommendation conditions changed to this target period PD3 from the database 230. Note that if the number of records that match the recommendation conditions changed to the target period PD2 exceeds the upper limit, a new target period will be set whose end point is a time point obtained by further dividing the target period PD2 (i.e., the first half of the target period PD1). Next, if the number of records that match the recommendation conditions changed to the target period PD3 does not exceed the upper limit, the proposing unit 246 sets a new target period PD4 whose end point is time Pt3, which is obtained by further dividing the range Rd2 (i.e., the latter half of the range Rd1), and acquires the number of records that match the recommendation conditions changed to this target period PD4 from the database 230. Note that if the number of records that match the recommendation conditions changed to the target period PD3 exceeds the upper limit, a new target period will be set whose end point is the point obtained by further dividing the range from time Pt1 to time Pt2 (i.e., the first half of the range Rd1). After repeating such a binary search method a predetermined number of times, the suggestion unit 246 proposes to the shop terminal 400 the recommended conditions in which the number of matching records does not exceed the upper limit and is closest to the upper limit.

[0058] The proposing unit 246 may use a method other than the binary search method to find recommended conditions that are close to the upper limit value but do not exceed the upper limit value. Another technique will be described in detail with reference to FIG. First, since the number of matching records in the target period PD1 included in the search conditions exceeds the upper limit, the suggestion unit 246 sets a new target period PD5 by advancing (pulling forward) the end of the target period PD1 by the unit period Cd, and obtains from the database 230 the number of records that match the recommendation conditions changed to this target period PD5. Next, if the number of records that match the recommendation conditions changed to the target period PD5 exceeds the upper limit, the suggestion unit 246 sets a new target period PD6 that advances the end of the target period PD5 by another unit period Cd, and obtains from the database 230 the number of records that match the recommendation conditions changed to this target period PD6. Next, if the number of records that match the recommendation conditions changed to the target period PD6 exceeds the upper limit, the suggestion unit 246 sets a new target period PD7 that advances the end of the target period PD6 by another unit period Cd, and obtains from the database 230 the number of records that match the recommendation conditions changed to this target period PD7. In this way, the proposing unit 246 advances the end of the new target period by the unit period Cd, and proposes to the shop terminal 400 the recommended conditions for which the number of records matching the recommended conditions first falls below the upper limit.

[0059] In order to propose the recommended conditions obtained by the method shown in Figure 7 or Figure 8 to the store terminal 400, the proposal unit 246 proposes recommended conditions RC1 to encourage a change to the date item DS2 in the search condition field FD on the search screen SG2 as shown in Figure 9. The search screen SG2 also displays a warning message MS informing the user that the file cannot be created because the number of matching records exceeds the upper limit. This warning message MS is added by the screen generator 241, for example. Therefore, the store clerk understands from the warning message MS that the search conditions need to be revised, and then, prompted by the recommended conditions RC1, operates the date item DS2 to change the end of the target period to "2024 / 01 / 10." When the clerk then operates the button BT, the search conditions including the revised target period are sent to the server device 200. With the changed search conditions, the number of matching records does not exceed the upper limit, so the creation unit 245 creates a file for download.

[0060] The above-mentioned CPU 501 and the like can function as the control unit 240 having such a configuration.

[0061] (Operation of the server device according to the embodiment) The operation of the server device 200 will be described below with reference to Fig. 10. Fig. 10 is a flowchart showing the flow of proposal processing executed by the server device 200. This proposal processing is started in response to access from the store terminal 400 to the server device 200, for example.

[0062] First, the server device 200 displays the generated search screen on the shop terminal 400 (step S11). For example, the control unit 240 (screen generation unit 241) generates a search screen SG1 as shown in FIG. 5, and transmits it to the store terminal 400 via the transmission unit 210 to be displayed. When the button BT is operated while this search screen SG1 is displayed on the shop terminal 400, search conditions corresponding to the items IM set in the search condition field FD are transmitted to the server device 200.

[0063] The server device 200 receives the search conditions sent from the store terminal 400 (step S12). That is, the control unit 240 (accepting unit 242) accepts the search conditions sent from the store terminal 400 through the receiving unit 220. That is, when the button BT on the search screen SG1 as shown in Fig. 5 is operated, the control unit 240 accepts the search conditions according to each item IM set in the search condition field FD.

[0064] The server device 200 acquires the number of records that match the search conditions (step S13). That is, the control unit 240 (acquisition unit 243) acquires from the database 230 the number of records that match the received search conditions. For example, the control unit 240 obtains the number of records returned from the database 230 by sending a command to the database 230 to count the number of records that match the search conditions.

[0065] The server device 200 determines whether the number of acquired records exceeds the upper limit (step S14). For example, if the upper limit is set to 50,000, the control unit 240 (determination unit 244) determines whether the number of records acquired in step S13 above is more than 50,000 or is 50,000 or less.

[0066] If the server device 200 determines that the number of acquired records exceeds the upper limit (step S14; Yes), it proposes to the shop terminal 400 recommended conditions that do not exceed the upper limit of the number of matching records. For example, when a target period is included in the search conditions, the control unit 240 (proposal unit 246) proposes to the store terminal 400 recommended conditions that change the target period to a new one by moving up the end date while maintaining the start date of the target period (step S15).

[0067] Specifically, the control unit 240 uses a binary search method to find recommended conditions that are close to the upper limit value but do not exceed the upper limit value, and proposes the found recommended conditions to the shop terminal 400. For example, as shown in Figure 7, the control unit 240 first sets a new target period PD2 whose end point is the point Pt1 obtained by dividing the target period PD1 in half, and obtains from the database 230 the number of records that match the recommendation conditions changed to this target period PD2. Next, if the number of records that match the recommendation conditions changed to the target period PD2 does not exceed the upper limit, the control unit 240 sets a new target period PD3 whose end point is a point Pt2 obtained by further dividing the range Rd1 in half, and acquires the number of records that match the recommendation conditions changed to this target period PD3 from the database 230. Note that if the number of records that match the recommendation conditions changed to the target period PD2 exceeds the upper limit, a new target period whose end point is the point obtained by further dividing the target period PD2 in half will be set. Next, if the number of records that match the recommendation conditions changed to the target period PD3 does not exceed the upper limit, the control unit 240 sets a new target period PD4 whose end point is time Pt3, which is obtained by further dividing the range Rd2 in half, and acquires the number of records that match the recommendation conditions changed to this target period PD4 from the database 230. Note that if the number of records that match the recommendation conditions changed to the target period PD3 exceeds the upper limit, a new target period will be set whose end point is the point obtained by further dividing the range from time Pt1 to time Pt2 in half. After repeating such a binary search method a predetermined number of times, the control unit 240 proposes to the shop terminal 400 the recommended conditions in which the number of matching records does not exceed the upper limit and is closest to the upper limit.

[0068] The control unit 240 may use a method other than the binary search method to find recommended conditions that are close to the upper limit value but do not exceed the upper limit value. For example, as shown in Figure 8, the control unit 240 first sets a new target period PD5 by moving the end of the target period PD1 forward by a unit period Cd, and then obtains from the database 230 the number of records that match the recommendation conditions changed to this target period PD5. Next, if the number of records that match the recommendation conditions changed to the target period PD5 exceeds the upper limit, the control unit 240 sets a new target period PD6 that advances the end of the target period PD5 by another unit period Cd, and obtains from the database 230 the number of records that match the recommendation conditions changed to this target period PD6. Next, if the number of records that match the recommendation conditions changed to the target period PD6 exceeds the upper limit, the control unit 240 sets a new target period PD7 that advances the end of the target period PD6 by another unit period Cd, and obtains from the database 230 the number of records that match the recommendation conditions changed to this target period PD7. In this way, the control unit 240 advances the end of the new target period by the unit period Cd, and proposes to the shop terminal 400 the recommended conditions for which the number of records matching the recommended conditions first falls below the upper limit.

[0069] In order to propose the recommended conditions obtained by the methods shown in Figure 7 or Figure 8, the server device 200 proposes recommended conditions RC1 to encourage a change to the date item DS2 in the search condition field FD on the search screen SG2 as shown in Figure 9. Then, the server device 200 returns the process to step S12 described above.

[0070] On the other hand, if it is determined in step S14 that the number of retrieved records does not exceed the upper limit (step S14; No), the server device 200 creates a file for downloading that contains the data of the records that match the search criteria (step S16). For example, the control unit 240 (creation unit 245) creates a file in which the data of the records that match the search conditions are written in a predetermined format. Specifically, the control unit 240 writes the data DT processed in the CSV format as shown in Fig. 6 to create a file. Note that the format is not limited to this CSV format, and the creation unit 245 may write the data processed in another format such as JSON format or XML format to create a file.

[0071] Since it takes some time to create the file, the server device 200 sends an email containing a link to download the file to the store terminal 400 after the file creation is complete.

[0072] Then, the server device 200 ends the proposal process.

[0073] If the number of records matching the search conditions entered from the store terminal 400 exceeds the upper limit due to this proposal process, the store terminal 400 is proposed with recommended conditions that change the target period of the search conditions to a new one by moving up only the end date of the target period. Therefore, the store staff can be prompted by the recommended conditions and change the search conditions to bring the number of records below the upper limit without any confusion. As a result, it is possible to appropriately propose recommended search conditions.

[0074] (Other embodiments) In the above embodiment, when the number of records matching the search criteria exceeds an upper limit, the recommended criteria are only suggested. However, it is also possible to further suggest difference criteria for searching for the differences between the records matching the initial search criteria and the records matching the recommended criteria. For example, the suggestion unit 246 stores the target period of the search conditions and the new target period of the recommended conditions, and after proposing the recommended conditions to the store terminal 400, if search conditions that are the same as the recommended conditions are received from the store terminal 400 to which the suggestion is made, once the file download is complete, a search screen SG3 such as that shown in Figure 11 is displayed on the store terminal 400, and difference conditions RC2 and RC3 are suggested to prompt changes to the date items DS1 and DS2 in the search condition field FD. By changing the date items DS1 and DS2 in accordance with these difference conditions RC2 and RC3, it becomes possible to search for the differences between the records that match the original search conditions and the records that match the recommended conditions.

[0075] In the above embodiment, it was explained that when the number of records matching the search criteria exceeds the upper limit, recommended conditions are proposed that bring forward the end date of the target period included in the search criteria, but it is also possible to propose recommended conditions that change other items other than the target period. That is, the proposing unit 246 modifies items other than the target period to obtain recommended conditions that do not exceed the upper limit value, and proposes the obtained recommended conditions to the shop terminal 400. For example, the suggestion unit 246 displays a search screen SG4 as shown in FIG. 12 on the store terminal 400 and suggests recommended conditions RC4 for prompting the user to change items other than the target period in the search condition field FD. In this case, it is also possible to propose recommended conditions that do not exceed the upper limit of the number of matching records.

[0076] In the above embodiment, an upper limit is set for the number of records that match the search conditions, but an upper limit other than the number of records may also be set. For example, an upper limit may be set on the total data amount (number of bytes, etc.) of records that match the search conditions. In this case, the acquiring unit 243 acquires from the database 230 the total data amount of records that match the search conditions accepted by the accepting unit 242. Then, the determining unit 244 determines whether or not the total data amount of the records obtained by the obtaining unit 243 exceeds a predetermined upper limit (for example, 1 GB). In this case, too, if the determination unit 244 determines that the total data volume of the records (the total data volume of the records that match the search criteria) does not exceed the upper limit (for example, 1 GB), the creation unit 245 creates a file for download that contains the data of the records that match the search criteria. Similarly, when the determination unit 244 determines that the total data amount of the records exceeds the upper limit, the proposal unit 246 proposes to the store terminal 400 recommended conditions under which the total data amount of the matching records does not exceed the upper limit. That is, the total number of records that match the search conditions indicates the number of records found using the search conditions, or the total amount of data in the records found using the search conditions. Therefore, the acquisition unit 243 acquires the sum of records that match the search conditions accepted by the acceptance unit 242 from the database 230. Furthermore, the determination unit 244 determines whether the sum acquired by the acquisition unit 243 exceeds an upper limit value. Then, when the determination unit 244 determines that the sum of records exceeds the upper limit value, the suggestion unit 246 proposes to the store terminal 400 recommended conditions in which the sum of matching records does not exceed the upper limit value.

[0077] As described above, according to the present invention, it is possible to provide a server device, a suggestion method, and a program that can appropriately suggest recommended search conditions. [Explanation of symbols]

[0078] 100 Sales Support System 200 Server device 210 Transmitter 220 Receiving unit 230 databases 231 Product management information 240 Control Unit 241 Screen generation section 242 Reception Department 243 Acquisition Department 244 Discrimination part 245 Creation Department 246 Proposal Department 300 Sales Server 400 store terminals 500 Information processing equipment 501 CPU 502 ROM 503 RAM 504 NIC 505 Image Processing Unit 506 Audio Processing Unit 507 Auxiliary storage 508 Interface 509 Operation Unit 510 Display Unit 900 Internet

Claims

1. a reception unit that receives search conditions for searching records stored in the database from a user terminal; an acquisition unit that acquires from the database a total of records that match the search conditions accepted by the acceptance unit; a determination unit that determines whether the sum acquired by the acquisition unit exceeds a predetermined upper limit value; a creating unit that creates a file for downloading into which data of records that match the search conditions is written when the determining unit determines that the sum does not exceed the upper limit value; a suggestion unit that, when the determination unit determines that the sum exceeds the upper limit, proposes to the user terminal new search conditions that are obtained by partially changing the search conditions, such that the sum of matching records does not exceed the upper limit; When a target period is included in the search conditions, the suggestion unit proposes to the user terminal the recommended conditions obtained by changing the target period to a new target period by moving up only the end date while maintaining the start date of the target period. A server device characterized by:

2. the proposing unit sets a new target period whose end point is the point at which the target period is divided in half, repeats the process of setting a new target period whose end point is the point at which either of the divided periods is further divided in half, and calculates the sum of records that match the recommendation conditions changed for each new target period, and proposes to the user terminal the recommendation conditions whose sum of matching records does not exceed the upper limit value and is closest to the upper limit value. The server device according to claim 1 .

3. the proposal unit sets new target periods by advancing the end of the target period by a unit period, and in the process of sequentially calculating the sum of records that match the recommendation conditions changed for each new target period, proposes to the user terminal the recommendation conditions for which the sum of records that match first becomes equal to or less than the upper limit value. The server device according to claim 1 .

4. a screen generating unit that generates a search screen for inputting the search conditions, the search screen allowing a user to arbitrarily edit a plurality of items arranged in a search condition field, and displays the search screen on the user terminal; when the determination unit determines that the sum exceeds the upper limit value, the screen generation unit displays a warning message on the search screen notifying that the file cannot be created; the suggestion unit prompts the user to change any of the items in the search condition field; 3. The server device according to claim 1 or 2.

5. the suggestion unit, when the determination unit determines that the sum exceeds the upper limit, further proposes a difference condition for searching for a difference between a record that matches the search condition and a record that matches the recommendation condition.

3. The server device according to claim 1 or 2.

6. the suggestion unit suggests the difference condition to the user terminal after the file is downloaded from the user terminal; The server device according to claim 5 .

7. A proposed method executed by a server device, a receiving step of receiving search conditions for searching for records stored in the database from a user terminal; an acquisition step of acquiring from the database the total number of records that match the search criteria received in the receiving step; a determining step of determining whether the sum acquired in the acquiring step exceeds a predetermined upper limit value; a creating step of creating a file for downloading into which data of records that match the search conditions is written when it is determined in the determining step that the sum does not exceed the upper limit value; a proposing step of proposing to the user terminal, when it is determined in the determining step that the sum exceeds the upper limit, new search conditions that are obtained by partially changing the search conditions, and in which the sum of matching records does not exceed the upper limit; In the proposing step, when a target period is included in the search conditions, the recommended conditions are changed to a new target period in which only the end date is advanced while maintaining the start date of the target period, and are proposed to the user terminal. The proposed method is characterized by:

8. On the computer, a receiving step of receiving, from a user terminal, search conditions for searching for records stored in the database; an acquisition step of acquiring from the database the total number of records that match the search conditions received in the receiving step; a determining step of determining whether the sum acquired in the acquiring step exceeds a predetermined upper limit value; a creating step of creating a file for downloading into which data of records that match the search conditions is written when it is determined in the determining step that the sum does not exceed the upper limit value; a proposing step of proposing to the user terminal new search conditions that are obtained by partially changing the search conditions, and in which the total sum of matching records does not exceed the upper limit value, when it is determined in the determining step that the total sum exceeds the upper limit value; In the proposing step, when a target period is included in the search conditions, the recommended conditions are changed to a new target period in which only the end date is advanced while maintaining the start date of the target period, and are proposed to the user terminal. A program characterized by being executed in such a manner.

Citation Information

Patent Citations

  • Information retrieval support device

    JP2004246422A

  • Apparatus and method for document search

    JP2006164123A

  • Call center system, call center, and program

    JP2019165388A

  • Information processor, information processing method, and information processing program

    JP2023005247A

  • Purchase analysis system, purchase analysis method, and computer program

    JP7009719B1