Server device, proposed method, and program
The server device addresses the challenge of exceeding processing limits by suggesting modified search conditions, ensuring efficient file creation by automatically adjusting search criteria to stay within load limits, thereby enhancing user experience and system efficiency.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-10-02
- Publication Date
- 2026-04-14
AI Technical Summary
Existing server devices in e-commerce sales systems face challenges in handling search criteria that exceed processing and communication load limits, leading to the need for users to repeatedly adjust search conditions through trial and error to avoid file creation warnings.
A server device equipped with a reception unit, acquisition unit, determination unit, and proposal unit that suggests modified search conditions to keep the number of matching records below a predetermined limit, using methods like binary search to adjust the target period or other search criteria components.
The system effectively suggests appropriate search conditions, reducing user frustration and efficiently creating downloadable files by automatically adjusting search parameters to stay within processing limits.
Smart Images

Figure 2026064871000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a server device, a proposal method, and a program.
Background Art
[0002] In recent years, sales systems for conducting e-commerce transactions through the Internet have become popular. For example, in a large-scale sales system composed of many shops (virtual stores), not only does it handle a wide range of categories of products as a whole, but there may also be price competition between shops, and it is used by many users. In such a sales system, various types of information related to the sale of listed products are provided to each shop.
[0003] For example, Patent Document 1 discloses an invention of a purchase analysis system capable of analyzing purchase situations and the like from various types of information regarding products listed on a mall-type shopping site. In the invention described in Patent Document 1, the purchase situation of a product is analyzed based on the sales history of the product, indicators related to the advertisement of the product, and the degree of attention of the product, etc., and the analysis result is output to a user terminal (terminal such as a shop).
Prior Art Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] Recently, due to the desire of shops to perform free analysis, a mechanism has been constructed that can provide data on listed products stored in the database of the sales system to the shop side upon request. For example, when a customer enters desired search criteria from a shop terminal, the sales system's server device searches the database for records that match those criteria and creates a file containing the search results in a predetermined format. Since creating the file takes some time, the server device sends an email to the shop terminal containing a link to download the file after it has been created.
[0006] Since the server device creates these files according to the search criteria from each shop, certain limitations are imposed to account for processing load and communication load. For example, the server device sets an upper limit on the number of records that can be written to a single file. If the number of records matching the search criteria exceeds this limit, it will not create the file and will instead warn the terminal to change the search criteria. In other words, the server device will not create the downloadable file until the number of records matching the search criteria falls below the upper limit.
[0007] However, when a warning is issued to change the search criteria, shop staff are often unsure of what criteria to change them to. In such cases, the shop staff typically have to repeatedly change the search criteria through trial and error before finally finding a search condition that keeps the number of records below the upper limit.
[0008] Given this situation, there was a need for technology that not only issued warnings but also suggested search conditions that would keep the number of records below the upper limit.
[0009] This 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 the first aspect of the present invention is A reception unit that receives search criteria from user terminals to search for records stored in the database, An acquisition unit obtains from the database the sum of records that match the search criteria received by the reception unit, A determination unit that determines whether the sum obtained by the acquisition unit exceeds a predetermined upper limit, If the discrimination unit determines that the sum does not exceed the upper limit, the creation unit creates a downloadable file containing the data of the records that match the search criteria. If the discrimination unit determines that the sum exceeds the upper limit, the proposal unit proposes to the user terminal a new search condition which is a modified version of the search condition, and in which the sum of matching records does not exceed the upper limit. It is characterized by being equipped with [the following features].
[0011] Furthermore, in the server device relating to the above viewpoint, The suggestion unit may, if the search conditions include a target period, suggest to the user terminal the recommended conditions, which are modified to a new target period in which only the end date is moved forward while the start date of the target period remains the same.
[0012] Furthermore, in the server device relating to the above viewpoint, The suggestion unit may repeatedly set a new target period ending at the point in time when the target period is divided in half, and set a new target period ending at the point in time when either of the two divided periods is further divided in half, and calculate the sum of records that match the modified recommended conditions for each new target period, so as to propose the recommended conditions to the user terminal that do not exceed the upper limit and are closest to the upper limit.
[0013] Furthermore, in the server device relating to the above viewpoint, The proposal unit may set new target periods by bringing the end date of the target period forward by one unit period for each new target period, and in the process of sequentially calculating the sum of records that match the modified recommended conditions for each new target period, propose to the user terminal the recommended condition for which the sum of the matching records first falls below the upper limit.
[0014] Furthermore, the server device relating to the above viewpoint is The system further comprises a screen generation unit that generates a search screen for inputting the aforementioned search criteria, allowing the user to arbitrarily edit multiple items placed in the search criteria field, and displays this screen on the user terminal. If the screen generation unit determines that the sum exceeds the upper limit, it displays a warning message on the search screen indicating that the file cannot be created. The proposed function may also prompt the user to change any of the items in the search criteria field.
[0015] Furthermore, in the server device relating to the above viewpoint, The proposal unit may, when the determination unit determines that the sum exceeds the upper limit, further propose difference conditions for searching for the difference between records that match the search conditions and records that match the recommendation conditions.
[0016] Furthermore, in the server device relating to the above viewpoint, The suggestion unit may also suggest the difference conditions to the user terminal after the file has been downloaded from the user terminal.
[0017] The proposed method according to a second aspect of the present invention is: A proposed method to be performed by a server device, A reception step that receives search criteria from the user terminal to search for records stored in the database, A retrieval step which retrieves from the database the sum of records that match the search criteria received in the reception step, A determination step of determining whether or not the sum obtained in the acquisition step exceeds a predetermined upper limit value; When it is determined in the determination step that the sum does not exceed the upper limit value, a creation step of creating a download file in which the data of the records that match the search condition is written; When it is determined in the determination step that the sum exceeds the upper limit value, a recommendation step of proposing, to the user terminal, a new search condition in which a part of the search condition is changed and a recommended condition in which the sum of the matching records does not exceed the upper limit value; It is characterized by comprising the above.
[0018] The program according to the third aspect of the present invention is to a computer a reception step of receiving, from a user terminal, a search condition for searching records stored in a database; an acquisition step of acquiring, from the database, the sum of the records that match the search condition received in the reception step; a determination step of determining whether or not the sum obtained in the acquisition step exceeds a predetermined upper limit value; When it is determined in the determination step that the sum does not exceed the upper limit value, a creation step of creating a download file in which the data of the records that match the search condition is written; When it is determined in the determination step that the sum exceeds the upper limit value, a recommendation step of proposing, to the user terminal, a new search condition in which a part of the search condition is changed and a recommended condition in which the sum of the matching records does not exceed the upper limit value; characterized by causing the above to be executed.
[0019] The above program can be distributed and 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 disks, flexible disks, hard disks, magneto-optical disks, digital video disks, magnetic tapes, and semiconductor memory. A transient recording medium refers to the transmission medium (propagated signal) itself. Examples of transient 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 like RAM (Random Access Memory). [Effects of the Invention]
[0020] According to the present invention, recommended search conditions can be appropriately suggested. [Brief explanation of the drawing]
[0021] [Figure 1] This is a block diagram showing an example of the overall configuration of the sales support system according to this embodiment. [Figure 2] This block diagram shows an example of a typical overview configuration of an information processing device in which a server device, etc., according to this embodiment is implemented. [Figure 3] This block diagram shows an example of the functional configuration of the server device according to this embodiment. [Figure 4] This is a schematic diagram illustrating an example of product management information stored in a database. [Figure 5] This is a schematic diagram showing an example of a search screen. [Figure 6] This is a schematic diagram showing an example of a file created by writing data in a predetermined format. [Figure 7] This is a schematic diagram illustrating how a binary search method is used to find a new target period with an earlier end date for the existing target period. [Figure 8]This is a schematic diagram illustrating how to determine a new target period by bringing forward the end date of the target period using other methods. [Figure 9] This is a schematic diagram illustrating an example of recommended conditions for prompting users to change the end date of the target period on the search screen. [Figure 10] This is a flowchart illustrating the proposed process according to this embodiment. [Figure 11] This is a schematic diagram showing an example of a search screen that suggests difference searching. [Figure 12] This is a schematic diagram illustrating an example of recommended conditions for prompting changes to items outside the target period. [Modes for carrying out the invention]
[0022] Embodiments of the present invention are described below. In the embodiments of the present invention, a sales support system that provides information about listed products to stores (shops) will be described in which recommended search conditions (recommended conditions) are suggested to the store terminal where search conditions are entered. However, this is just one example, and the invention can be appropriately applied to suggesting recommended search conditions 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, those skilled in the art may adopt embodiments in which each or all of these elements are replaced with equivalents, and these embodiments are also included within the scope of the present invention.
[0023] (Overall structure) As shown in Figure 1, the sales support system 100 according to an embodiment of the present invention comprises 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 connected to each other via the Internet 900, which is an example of a network. Although Figure 1 shows only a few store terminals 400, this is for the purpose of making the invention easier to understand. In reality, the number of store terminals 400 will be larger, depending on the number of stores using the sales support system 100.
[0024] The server device 200 is, for example, a computer for servers, which stores information about products sold by the sales server 300 (products of the stores that have stores online) in a database (database 230, described later), and provides (allows download) a file containing data of records that match the search information entered from the store terminal 400 to the store terminal 400.
[0025] The sales server 300 is, for example, a computer for servers that manages the sales site where products are sold. The sales server 300 manages the sales and inventory status of store products, and for example, when the sales or inventory status changes, it sends that information to the server device 200. In addition, if the store's products are also outsourced for logistics, the sales server 300 also sends information about the products managed in the warehouse and information about the shipment of products to the customer who purchased them to the server device 200.
[0026] The store terminal 400 is, for example, a smartphone, tablet, or PC (personal computer), and is used by stores (shops) that list products for sale on the sales server 300. In the sales support system 100, the store or the store's 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 the search screen described later, enters search criteria on that screen, and searches the database on the server device 200 for records that match the search criteria. Then, it downloads a file containing the data of the searched records.
[0027] (Overview of the information processing device configuration) A typical information processing device 500, which implements the server device 200 and the like according to this embodiment, will be described.
[0028] As shown in Figure 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 storage unit 507, an interface 508, an operation unit 509, and a display unit 510.
[0029] The CPU 501 controls the operation of the entire information processing unit 500, and is connected to each component to exchange control signals and data.
[0030] The ROM 502 stores the IPL (Initial Program Loader), which is executed immediately after power-on. When this is executed, the program stored in the auxiliary storage unit 507 is read into the RAM 503, and the CPU 501 begins executing that program.
[0031] RAM 503 is for temporarily storing data and programs, and it 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 unit 500 to computer communication networks such as the Internet. It consists of components such as those conforming to the 10BASE-T / 100BASE-T standard used when configuring a LAN (Local Area Network), analog modems for connecting to the Internet using telephone lines, ISDN (Integrated Services Digital Network) modems, ADSL (Asymmetric Digital Subscriber Line) modems, and cable modems for connecting to the Internet using cable television lines.
[0033] The image processing unit 505 processes the image data read from the auxiliary storage unit 507, etc., using the CPU 501 and an image processing processor (not shown) provided in the image processing unit 505, and then records it 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 synchronization timing and output to the display unit 510 via the interface 508, etc. In other words, under the control of the CPU 501, the image processing unit 505 generates the images necessary as the processing performed by the information processing device 500 progresses and displays those images on the display unit 510.
[0034] The audio processing unit 506 converts audio data read from the auxiliary storage unit 507, etc., into an audio signal and outputs it, for example, to an external speaker. In other words, under the control of the CPU 501, the audio processing unit 506 generates the audio that should be produced during the processing performed by the information processing device 500 and outputs that audio from the speaker.
[0035] The auxiliary storage unit 507 is a hard disk or the like, and stores various programs and data necessary for the overall operation control of the information processing device 500. For example, the auxiliary storage unit 507 stores a program for realizing the server device 200, etc., according to this embodiment. Then, under the control of the CPU 501, the auxiliary storage unit 507 reads the stored programs and data as appropriate and temporarily stores them in the RAM 503, etc.
[0036] The interface 508 is connected to the operation unit 509 and the display unit 510. The interface 508 may also send and receive necessary information with other connected external devices.
[0037] The operation unit 509 receives operation input from workers and others using the information processing device 500.
[0038] The display unit 510 draws an image corresponding to the image data output by the image processing unit 505 and presents it to the worker or other person using the information processing device 500.
[0039] In addition, the information processing device 500 may be equipped 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 programs and data from the DVD-ROM or the like installed in 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 Figures 3 to 9. This server device 200 is realized by the information processing device 500 described above. For example, when power is turned on to the information processing device 500, a program that enables it to function as a server device 200 is executed, and the server device 200 according to this embodiment is realized.
[0041] (Server device functional configuration) Figure 3 is a block diagram showing an example of the functional configuration of a server device 200 according to an embodiment. As shown in the figure, the server device 200 includes a transmission unit 210, a reception 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 the search screen, etc., generated by the control unit 240 (more specifically, the screen generation unit 241, which will be described later) to the store terminal 400. Furthermore, the transmission unit 210 transmits (allows download) files and other data generated by the control unit 240 (more specifically, the creation unit 245, which will be described later) to the store terminal 400.
[0043] Furthermore, the aforementioned NIC 504, etc., can function as such a transmitting 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 the products of each store sent from the sales server 300. Furthermore, the receiving unit 220 receives search conditions and other information for searching records in the database 230, which are sent from the store terminal 400 from which the transmitting unit 210 sent the search screen.
[0045] Furthermore, the aforementioned NIC 504, etc., can function as such a receiving unit 220.
[0046] Database 230 stores various types of information managed by the sales server 300. For example, database 230 stores product management information 231 for managing products at each store.
[0047] Specifically, the database 230 stores product management information 231 as shown in Figure 4. This product management information 231 includes, as an example, store ID 231a, product number 231b, arrival date and time 231c, receiving 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. Furthermore, product management information 231 may also include data such as SKU (Stock Keeping Unit) number, sales price, and point multiplier.
[0048] In addition, database 230 also stores store information for each store (store name, address, email address, etc.).
[0049] Furthermore, the auxiliary storage unit 507 and other components mentioned above can function as such a database 230.
[0050] The control unit 240 controls the entire server device 200. This control unit 240 includes, for example, a screen generation unit 241, a reception unit 242, an acquisition unit 243, a discrimination 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 Figure 5. When this search screen SG1 is displayed on the store terminal 400, it is a screen where the store staff member enters search conditions to search for records stored in the database 230. The search screen SG1 has multiple editable fields IM in the search criteria field FD. Among the fields IM are date fields DS1 and DS2, which are used to specify the target period. Date field DS1 is used to set the start date of the target period, and date field DS2 is used to set the end date of the target period. When these date fields DS1 and DS2 are manipulated (e.g., by touch), a calendar screen (not shown in the illustration) pops up, and the start or end date can be set from that calendar screen. When button BT is pressed, the search conditions (search condition information) corresponding to each item IM set in the search condition field FD are sent to the server device 200.
[0052] Returning to Figure 3, the reception unit 242 receives the search conditions sent from the store terminal 400 via the receiving unit 220. In other words, when the button BT is pressed while the search screen SG1 shown in Figure 5 is displayed on the store terminal 400, the reception unit 242 receives the search conditions corresponding to each item IM set in the search conditions field FD.
[0053] The acquisition unit 243 retrieves the number of records from the database 230 that match the search criteria received by the reception unit 242. For example, the retrieval unit 243 obtains the number of records returned from the database 230 by sending a command to the database 230 that counts the number of records that match the search criteria (for example, a COUNT statement specifying the search criteria in the case of an SQL query).
[0054] The discrimination unit 244 determines whether the number of records acquired by the acquisition unit 243 exceeds a predetermined upper limit. For example, if the upper limit is set at 50,000 records, the discrimination unit 244 determines whether the number of records acquired by the acquisition unit 243 (the number of records that match the search criteria) is greater than 50,000 or less than or equal to 50,000.
[0055] The creation unit 245, when it is determined by the discrimination unit 244 that the number of records (the number of records that match the search criteria) does not exceed the upper limit (for example, 50,000 records), creates a downloadable file 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 records that match the search criteria is written in a predetermined format. Specifically, the creation unit 245 writes the data DT, which has been processed into CSV (Comma-Separated Values) format as shown in Figure 6, to create a file. However, it is not limited to this CSV format; the creation unit 245 may also write the data, which has been processed into other formats such as JSON (JavaScript® Object Notation) format or XML (Extensible Markup Language) format, to create a file.
[0056] Returning to Figure 3, if the discrimination unit 244 determines that the number of records exceeds the upper limit, the suggestion unit 246 proposes to the store terminal 400 recommended search conditions, which are new search conditions with some of the search conditions modified. In this case, the suggestion unit 246 proposes to the store terminal 400 recommended conditions in which the number of matching records does not exceed the upper limit. For example, if the search criteria include a target period, the suggestion unit 246 suggests to the store terminal 400 a new target period in which the start date of the original target period is kept the same but the end date is moved forward.
[0057] Specifically, the suggestion unit 246 uses a binary search method to find recommended conditions that are close to the upper limit without exceeding it, and proposes the found recommended conditions to the store terminal 400. This method will be explained in detail with reference to Figure 7. First, since the number of matching records exceeds the upper limit for the target period PD1 (the period from the start time SP to the end time EP) included in the search conditions, the suggestion unit 246 sets a new target period PD2 with point Pt1, which is obtained by dividing target period PD1 in half, as the end date, and retrieves the number of records that match the recommended conditions changed to this target period PD2 from the database 230. Note that the suggestion unit 246 may retrieve the number of matching records directly from the database 230, or it may retrieve them indirectly through the retrieval unit 243. Next, if the number of records matching the recommended conditions changed to target period PD2 does not exceed the upper limit, the proposal unit 246 sets a new target period PD3 with an end date of Pt2, which is the point in time obtained by further dividing range Rd1 (i.e., the second half of target period PD1) into two halves, and retrieves the number of records matching the recommended conditions changed to this target period PD3 from database 230. Note that if the number of records matching the recommended conditions changed to target period PD2 exceeds the upper limit, a new target period will be set with an end date of the point in time obtained by further dividing target period PD2 (i.e., the first half of target period PD1) into two halves. Next, if the number of records matching the recommended conditions changed to target period PD3 does not exceed the upper limit, the proposal unit 246 sets a new target period PD4 with point Pt3 as the end date, which is obtained by further dividing range Rd2 (i.e., the second half of range Rd1) into two halves, and retrieves the number of records matching the recommended conditions changed to target period PD4 from database 230. If the number of records matching the recommended conditions changed to target period PD3 exceeds the upper limit, a new target period will be set with a point in time as the end date, which is obtained by further dividing the range from point Pt1 to point Pt2 (i.e., the first half of range Rd1) into two halves. After repeating this binary search method a predetermined number of times, for example, the suggestion unit 246 suggests to the store 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] Furthermore, proposal section 246 may use a method different from this binary search method to find recommended conditions that are close to the upper limit, but do not exceed the upper limit. Other methods will be explained in detail with reference to Figure 8. First, since the number of matching records in the target period PD1 included in the search criteria exceeds the upper limit, the proposal unit 246 sets a new target period PD5 by bringing the end date of target period PD1 forward by the unit period Cd, and retrieves the number of records that match this revised recommended condition for target period PD5 from the database 230. Next, if the number of records matching the recommended conditions changed to target period PD5 exceeds the upper limit, the proposal unit 246 sets a new target period PD6 by further advancing the end date of target period PD5 by one unit period Cd, and retrieves the number of records matching the recommended conditions changed to this target period PD6 from the database 230. Next, if the number of records matching the recommended conditions changed to target period PD6 exceeds the upper limit, the proposal unit 246 sets a new target period PD7 by further advancing the end date of target period PD6 by one unit period Cd, and retrieves the number of records matching the recommended conditions changed to this target period PD7 from the database 230. In this way, the proposal unit 246 advances the end date of the new target period by a unit period Cd, and proposes to the store terminal 400 the recommendation condition for which the number of records that meet the recommendation condition first falls below the upper limit.
[0059] In order to propose the recommended conditions obtained by the methods shown in Figure 7 or Figure 8 to the store terminal 400, the proposal unit 246 specifically proposes the recommended conditions RC1 to prompt a change in the date item DS2 of the search condition field FD in the search screen SG2, as shown in Figure 9. Furthermore, 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, for example, by the screen generation unit 241. Therefore, the store staff member understands from the warning message MS that they need to modify the search criteria, and then, prompted by the recommended condition RC1, they manipulate the date field DS2 to change the end date of the target period to "2024 / 01 / 10". Then, when the staff member operates button BT, the search criteria including the modified target period are sent to the server device 200. With the modified search criteria, the number of matching records does not exceed the upper limit, so the creation unit 245 will create a file for download.
[0060] Furthermore, the CPU 501 and other components mentioned above can function as a control unit 240 with 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 Figure 10. Figure 10 is a flowchart showing the flow of the proposal processing performed by the server device 200. This proposal processing is initiated, for example, in response to an access request from the store terminal 400 to the server device 200.
[0062] First, the server device 200 displays the generated search screen on the store terminal 400 (step S11). For example, the control unit 240 (screen generation unit 241) generates a search screen SG1 as shown in Figure 5, and transmits it to the store terminal 400 via the transmission unit 210 for display. When the search screen SG1 is displayed on the store terminal 400 and button BT is pressed, the search conditions corresponding to each item IM set in the search conditions field FD are sent to the server device 200.
[0063] The server device 200 receives the search conditions sent from the store terminal 400 (step S12). In other words, the control unit 240 (reception unit 242) receives the search conditions sent from the store terminal 400 via the receiving unit 220. That is, when the button BT on the search screen SG1 shown in Figure 5 is operated, the control unit 240 receives the search conditions corresponding to each item IM set in the search conditions field FD.
[0064] The server device 200 obtains the number of records that match the search criteria (step S13). In other words, the control unit 240 (acquisition unit 243) retrieves the number of records that match the accepted search conditions from the database 230. 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 criteria.
[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 at 50,000 records, the control unit 240 (discrimination unit 244) determines whether the number of records acquired in step S13 above is greater than 50,000 or 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 recommended conditions to the store terminal 400 that will prevent the number of matching records from exceeding the upper limit. For example, if the control unit 240 (proposal unit 246) includes a target period in the search criteria, it proposes to the store terminal 400 a recommended condition that changes the target period to a new one, maintaining the start date of the original target period while only advancing the end date (step S15).
[0067] Specifically, the control unit 240 uses a binary search method to find recommended conditions that are close to the upper limit without exceeding it, and proposes the found recommended conditions to the store terminal 400. For example, as shown in Figure 7, the control unit 240 first sets a new target period PD2 with point Pt1, which is the end point of the target period PD1, and then retrieves the number of records from the database 230 that match the revised recommended conditions for this target period PD2. Next, the control unit 240 sets a new target period PD3 with Pt2 as the end point, which is obtained by further dividing range Rd1, if the number of records that match the recommended conditions changed to target period PD2 does not exceed the upper limit, and retrieves the number of records that match the recommended conditions changed to target period PD3 from the database 230. Note that if the number of records that match the recommended conditions changed to target period PD2 exceeds the upper limit, a new target period will be set with the end point as the point, which is obtained by further dividing target period PD2. Next, the control unit 240 sets a new target period PD4 with point Pt3 as the end date, which is obtained by further dividing the range Rd2, if the number of records that match the recommended conditions changed to target period PD3 does not exceed the upper limit, and retrieves the number of records that match the recommended conditions changed to target period PD4 from the database 230. If the number of records that match the recommended conditions changed to target period PD3 exceeds the upper limit, a new target period will be set with a point in time as the end date, which is obtained by further dividing the range from point Pt1 to point Pt2. After repeating this binary search method a predetermined number of times, for example, the control unit 240 proposes to the store terminal 400 a recommended condition 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 also use a method different from this binary search method to find recommended conditions that are close to the upper limit, but within a range that does not exceed the upper limit. For example, as shown in Figure 8, the control unit 240 first sets a new target period PD5 by bringing the end date of the target period PD1 forward by the unit period Cd, and then retrieves the number of records that match the recommended conditions changed to this target period PD5 from the database 230. Next, if the number of records matching the recommended conditions changed to target period PD5 exceeds the upper limit, the control unit 240 sets a new target period PD6 by further advancing the end date of target period PD5 by one unit period Cd, and retrieves the number of records matching the recommended conditions changed to this target period PD6 from the database 230. Next, if the number of records matching the recommended conditions changed to target period PD6 exceeds the upper limit, the control unit 240 sets a new target period PD7 by further advancing the end date of target period PD6 by one unit period Cd, and retrieves the number of records matching the recommended conditions changed to this target period PD7 from the database 230. In this way, the control unit 240 advances the end date of the new target period by a unit period Cd, and proposes to the store terminal 400 the recommended condition for which the number of records that meet the recommended condition 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 specifically proposes the recommended condition RC1, which prompts the user to change the date item DS2 in the search condition field FD on the search screen SG2, as shown in Figure 9. The server device 200 then returns the process to step S12 described above.
[0070] On the other hand, if step S14 determines that the number of records obtained does not exceed the upper limit (step S14; No), the server device 200 creates a download file containing 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 records that match the search criteria is written in a predetermined format. Specifically, the control unit 240 writes the data DT, which has been processed into CSV format as shown in Figure 6, to create a file. However, it is not limited to this CSV format; the creation unit 245 may also write the data, which has been processed into other formats such as JSON or XML, to create a file.
[0071] Since creating the file takes some time, the server device 200 will send an email to the store terminal 400 containing a link to download the file after the file creation is complete.
[0072] Then, the server device 200 terminates the proposal processing.
[0073] Through this suggestion process, if the number of records matching the search criteria entered from the store terminal 400 exceeds the upper limit, a new set of recommended criteria is suggested to the store terminal 400, which changes the target period by only advancing the end date of the target period for the search criteria. Therefore, store staff can change their search criteria to one that is below the upper limit, without hesitation, prompted by the recommended conditions. As a result, we can appropriately suggest recommended search criteria.
[0074] (Other embodiments) In the above embodiment, when the number of records matching the search criteria exceeds the upper limit, the system only suggests recommended criteria. However, it is also possible to further suggest difference criteria to search for the difference between records that match the initial search criteria and records that match the recommended criteria. For example, the suggestion unit 246 stores the target period for the search conditions and the new target period for the recommended conditions. After suggesting the recommended conditions to the store terminal 400, if the same search conditions as the suggested conditions are received from the store terminal 400, once the file download is complete, it displays the search screen SG3 shown in Figure 11 on the store terminal 400 and suggests differential conditions RC2 and RC3 to prompt the user to change the date items DS1 and DS2 in the search conditions field FD. By modifying the date fields DS1 and DS2 according to these difference conditions RC2 and RC3, it becomes possible to search for the differences between records that match the original search criteria and records that match the recommended criteria.
[0075] In the above embodiment, we described suggesting a recommended condition that shortens the end date of the target period included in the search criteria when the number of records matching the search criteria exceeds the upper limit. However, it is also possible to suggest a recommended condition that modifies other items besides the target period. In other words, the proposal unit 246 modifies other items other than the target period to find recommended conditions that do not exceed the upper limit, and proposes the obtained recommended conditions to the store terminal 400. For example, the proposal unit 246 displays a search screen SG4, as shown in Figure 12, on the store terminal 400 and proposes recommended conditions RC4 to prompt changes to items other than the target period in the search criteria field FD. In this case as well, it becomes possible to suggest recommended conditions that do not exceed the upper limit in terms of the number of matching records.
[0076] In the above embodiment, we described a case where an upper limit is set on the number of records that match the search criteria, 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 amount of data (number of bytes, etc.) of records that match the search criteria. In this case, the acquisition unit 243 acquires the total amount of data of records that match the search criteria received by the reception unit 242 from the database 230. The discrimination unit 244 then determines whether the total amount of data of the records acquired by the acquisition unit 243 exceeds a predetermined upper limit (for example, 1 GB). In this case as well, the creation unit 245 creates a downloadable file containing the data of the records that match the search criteria, if the discrimination unit 244 determines that the total amount of data for the records (the total amount of data for records that match the search criteria) does not exceed the upper limit (for example, 1 GB). Similarly, if the discrimination unit 244 determines that the total data volume of a record exceeds the upper limit, the suggestion unit 246 suggests to the store terminal 400 recommended conditions that ensure the total data volume of matching records does not exceed the upper limit. In other words, the sum of records that match the search criteria represents either the number of records found using the search criteria, or the total amount of data from the records found using the search criteria. Therefore, the acquisition unit 243 retrieves the sum of records that match the search criteria received by the reception unit 242 from the database 230. The discrimination unit 244 then determines whether the sum retrieved by the acquisition unit 243 exceeds the upper limit. If the discrimination unit 244 determines that the sum of records exceeds the upper limit, 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.
[0077] As described above, the present invention provides a server device, a suggestion method, and a program that can appropriately suggest recommended search conditions. [Explanation of symbols]
[0078] 100 Sales Support Systems 200 Server Devices 210 Transmitter 220 Receiver 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 servers 400 store terminals 500 Information Processing Devices 501 CPU 502 ROM 503 RAM 504 NIC 505 Image Processing Unit 506 Audio Processing Unit 507 Auxiliary storage 508 Interface 509 Control Unit 510 Display Unit 900 Internet
Claims
1. A reception unit that receives search criteria from user terminals to search for records stored in the database, An acquisition unit obtains from the database the sum of records that match the search criteria received by the reception unit, A determination unit that determines whether the sum obtained by the acquisition unit exceeds a predetermined upper limit, If the discrimination unit determines that the sum does not exceed the upper limit, the creation unit creates a downloadable file containing the data of the records that match the search criteria. If the discrimination unit determines that the sum exceeds the upper limit, the proposal unit proposes to the user terminal a new search condition which is a modified version of the search condition, and in which the sum of matching records does not exceed the upper limit. A server device characterized by being equipped with the following features.
2. If the search criteria include a target period, the suggestion unit proposes to the user terminal the recommended criteria, which are modified to a new target period in which only the end date is brought forward while the start date of the target period remains the same. The server device according to claim 1.
3. The proposal unit repeatedly sets a new target period ending at the point in time when the target period is divided in half, and sets a new target period ending at the point in time when either of the two divided periods is further divided in half. By calculating the sum of records that match the modified recommended conditions for each new target period, the proposal unit proposes to the user terminal the recommended conditions that do not exceed the upper limit and are closest to the upper limit. The server device according to claim 2.
4. The proposal unit sets new target periods by bringing the end date of the target period forward by one unit period, and in the process of sequentially calculating the sum of records that match the modified recommended conditions for each new target period, proposes to the user terminal the recommended condition for which the sum of matching records first falls below the upper limit. The server device according to claim 2.
5. The system further comprises a screen generation unit that generates a search screen for inputting the aforementioned search criteria, allowing the user to arbitrarily edit multiple items placed in the search criteria field, and displays this screen on the user terminal. If the screen generation unit determines that the sum exceeds the upper limit, it displays a warning message on the search screen indicating that the file cannot be created. The proposal section prompts the user to change any of the items in the search criteria field. The server device according to claim 1 or 2.
6. If the determination unit determines that the sum exceeds the upper limit, the proposal unit further proposes difference conditions for searching for the difference between records that match the search conditions and records that match the recommendation conditions. The server device according to claim 1 or 2.
7. The proposal unit proposes the difference conditions to the user terminal after the file has been downloaded from the user terminal. The server device according to claim 6.
8. A proposed method to be performed by a server device, A reception step that receives search criteria from the user terminal to search for records stored in the database, A retrieval step which retrieves from the database the sum of records that match the search criteria received in the reception step, A determination step to determine whether the sum obtained in the acquisition step exceeds a predetermined upper limit, If the determination step determines that the sum does not exceed the upper limit, a creation step is made to create a downloadable file containing the data of the records that match the search criteria. If the determination step determines that the sum exceeds the upper limit, the proposal step proposes to the user terminal a new search condition which is a modified version of the search condition, in which the sum of matching records does not exceed the upper limit. A proposed method characterized by comprising the following features.
9. On the computer, A reception step that receives search criteria from a user terminal to search for records stored in the database. A retrieval step which retrieves the sum of records matching the search criteria received in the reception step from the database. A determination step to determine whether the sum obtained in the acquisition step exceeds a predetermined upper limit, If the determination step determines that the sum does not exceed the upper limit, a creation step is performed to create a downloadable file containing the data of the records that match the search criteria. If the determination step determines that the sum exceeds the upper limit, the proposal step proposes to the user terminal a new search condition which is a modified version of the search condition, and in which the sum of matching records does not exceed the upper limit. A program characterized by causing the execution of a specific action.
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
System and Method for Intermediating Job Offer and JobHunting
KR1020030084059A