[go: up one dir, main page]

JP2023013646A - Information processing system and information processing method - Google Patents

Information processing system and information processing method Download PDF

Info

Publication number
JP2023013646A
JP2023013646A JP2021117981A JP2021117981A JP2023013646A JP 2023013646 A JP2023013646 A JP 2023013646A JP 2021117981 A JP2021117981 A JP 2021117981A JP 2021117981 A JP2021117981 A JP 2021117981A JP 2023013646 A JP2023013646 A JP 2023013646A
Authority
JP
Japan
Prior art keywords
search
information processing
search result
unit
query
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2021117981A
Other languages
Japanese (ja)
Other versions
JP7326387B2 (en
Inventor
知博 真鍋
Tomohiro Manabe
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2021117981A priority Critical patent/JP7326387B2/en
Publication of JP2023013646A publication Critical patent/JP2023013646A/en
Application granted granted Critical
Publication of JP7326387B2 publication Critical patent/JP7326387B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

To provide an information processing system capable of providing a user with proper search results.SOLUTION: An information processing system comprises a plurality of information processing devices which can communicate with a terminal device used by a user. Each information processing device holds some regions of a database on a search target. The information processing device comprises a reception unit, a search unit, and an estimation unit. The reception unit receives a search request on a search query from a terminal device. When the reception unit receives a search request, the search unit performs search processing on the search query about some regions held by an own device. The estimation unit estimates whether second search results, which are search results when search processing on the search query is performed about regions larger than some regions in the database, satisfy providable conditions for the user on the basis of first search results, which are search results of search processing performed by the search unit.SELECTED DRAWING: Figure 3

Description

本発明は、情報処理システム及び情報処理方法に関する。 The present invention relates to an information processing system and an information processing method.

従来、データベースを複数のサーバに分散させる技術が知られている。例えば、一つのテーブルをレコード単位で分割(水平分割)し、分割された各々のテーブルを複数のサーバのデータベース(シャードともいう)に分散して保持するシャーディングに関する技術が知られている。例えば、動的なシャーディングを提供する技術が提案されている。 Techniques for distributing a database to a plurality of servers are conventionally known. For example, a technique related to sharding is known, in which one table is divided (horizontally divided) in units of records, and each divided table is distributed and held in databases (also called shards) of a plurality of servers. For example, techniques have been proposed to provide dynamic sharding.

特開2016-62609号公報JP 2016-62609 A

しかしながら、上記の従来技術では、動的なシャーディングが開示されているに過ぎず、利用者に対して適切な検索結果を提供可能とすることができるとは言えない。 However, the above conventional technology merely discloses dynamic sharding, and it cannot be said that it is possible to provide appropriate search results to users.

本願は、上記に鑑みてなされたものであって、利用者に対して適切な検索結果を提供可能とすることができる情報処理システム及び情報処理方法を提供することを目的とする。 The present application has been made in view of the above, and an object thereof is to provide an information processing system and an information processing method capable of providing appropriate search results to users.

本願に係る情報処理システムは、利用者によって利用される端末装置と通信可能な複数の情報処理装置を備え、当該情報処理装置のそれぞれが検索対象に関するデータベースの一部領域を保持する情報処理システムであって、前記情報処理装置は、前記端末装置から検索クエリに関する検索要求を受信する受信部と、前記受信部が検索要求を受信した場合に、自装置が保持する前記一部領域について前記検索クエリに関する検索処理を実行する検索部と、前記検索部が実行した検索処理の検索結果である第1検索結果に基づいて、前記データベースのうち前記一部領域よりも大きい領域について前記検索クエリに関する検索処理を実行した場合の検索結果である第2検索結果が前記利用者に対する提供可能条件を満たすか否かを推定する推定部と、を備えることを特徴とする。 An information processing system according to the present application is an information processing system that includes a plurality of information processing devices that can communicate with a terminal device used by a user, and that each of the information processing devices holds a partial area of a database related to a search target. The information processing device includes a receiving unit that receives a search request related to a search query from the terminal device; and a search process related to the search query for an area larger than the partial area in the database based on a first search result that is a search result of the search process executed by the search unit and an estimating unit for estimating whether a second search result, which is a search result obtained by executing

実施形態の一態様によれば、利用者に対して適切な検索結果を提供可能とすることができるといった効果を奏する。 According to one aspect of the embodiment, it is possible to provide appropriate search results to the user.

図1は、実施形態に係る情報処理システムの構成例を示す図である。FIG. 1 is a diagram illustrating a configuration example of an information processing system according to an embodiment. 図2は、実施形態に係る情報処理の概要を示す図である。FIG. 2 is a diagram illustrating an overview of information processing according to the embodiment. 図3は、実施形態に係る情報処理の概要を示す図である。FIG. 3 is a diagram illustrating an overview of information processing according to the embodiment. 図4は、実施形態に係る情報処理装置の構成例を示す図である。FIG. 4 is a diagram illustrating a configuration example of an information processing apparatus according to the embodiment; 図5は、実施形態に係る情報処理システムによる情報処理手順を示すフローチャートである。FIG. 5 is a flowchart showing an information processing procedure by the information processing system according to the embodiment. 図6は、ハードウェア構成の一例を示す図である。FIG. 6 is a diagram illustrating an example of a hardware configuration;

以下に、本願に係る情報処理システム及び情報処理方法を実施するための形態(以下、「実施形態」と記載する)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理システム及び情報処理方法が限定されるものではない。また、以下の実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。 EMBODIMENT OF THE INVENTION Below, the form (it describes as "embodiment" hereafter) for implementing the information processing system and information processing method concerning this application is demonstrated in detail, referring drawings. The information processing system and information processing method according to the present application are not limited to this embodiment. Also, in the following embodiments, the same parts are denoted by the same reference numerals, and overlapping descriptions are omitted.

〔1.情報処理システムの構成例〕
図1は、実施形態に係る情報処理システム1の構成例を示す図である。情報処理システム1は、利用者によって利用される端末装置10と通信可能な複数の情報処理装置100を備える。複数の情報処理装置100は、分散型の検索システムを提供する。また、情報処理システム1は、利用者によって利用される端末装置10をさらに備えてよい。例えば、端末装置10と複数の情報処理装置100とは所定のネットワークNを介して、有線または無線により通信可能に接続される。なお、図1に示す情報処理システム1には、任意の数の端末装置10が含まれてもよい。また、図1に示す情報処理システム1には、複数の情報処理装置100による検索処理の負荷を分散するロードバランサ(負荷分散装置)が含まれてもよい。
[1. Configuration example of information processing system]
FIG. 1 is a diagram showing a configuration example of an information processing system 1 according to an embodiment. The information processing system 1 includes a plurality of information processing devices 100 capable of communicating with terminal devices 10 used by users. A plurality of information processing apparatuses 100 provide a distributed search system. Moreover, the information processing system 1 may further include a terminal device 10 used by a user. For example, the terminal device 10 and the plurality of information processing devices 100 are communicably connected via a predetermined network N by wire or wirelessly. Note that the information processing system 1 shown in FIG. 1 may include any number of terminal devices 10 . The information processing system 1 shown in FIG. 1 may also include a load balancer (load distribution device) that distributes the load of search processing by the plurality of information processing devices 100 .

また、以下では、複数の情報処理装置100を互いに区別する場合に、各情報処理装置100を情報処理装置100-1、100-2、…等として説明する。また、以下では、情報処理装置100-1、100-2、…等を互いに区別する必要の無い場合には、符号のうちハイフンから後ろを省略することにより、これらを情報処理装置100と総称する。 Further, hereinafter, when distinguishing the plurality of information processing apparatuses 100 from each other, each information processing apparatus 100 will be described as information processing apparatuses 100-1, 100-2, . . . Further, hereinafter, when the information processing apparatuses 100-1, 100-2, . .

端末装置10は、利用者によって利用される情報処理装置である。端末装置10は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップ型PCや、携帯電話機や、PDA(Personal Digital Assistant)や、ヘッドマウントディスプレイ等である。 The terminal device 10 is an information processing device used by a user. The terminal device 10 is, for example, a smart phone, a tablet terminal, a notebook PC (Personal Computer), a desktop PC, a mobile phone, a PDA (Personal Digital Assistant), a head mounted display, or the like.

また、端末装置10は、利用者の操作に応じて、検索クエリの入力を受け付ける。例えば、端末装置10は、電子商取引サービスが取り扱う取引対象を検索するための検索クエリの入力を受け付ける。続いて、端末装置10は、利用者の操作に応じて、複数の情報処理装置100の少なくともいずれか1つに対して検索クエリに関する検索要求を送信する。例えば、端末装置10は、複数の情報処理装置100の中から利用者が選択した情報処理装置100またはロードバランサが選択した情報処理装置100に対して検索要求を送信する。 In addition, the terminal device 10 receives an input of a search query according to user's operation. For example, the terminal device 10 receives input of a search query for searching for transaction targets handled by electronic commerce services. Subsequently, the terminal device 10 transmits a search request regarding the search query to at least one of the plurality of information processing devices 100 according to the user's operation. For example, the terminal device 10 transmits a search request to the information processing device 100 selected by the user or the information processing device 100 selected by the load balancer from among the plurality of information processing devices 100 .

複数の情報処理装置100それぞれは、検索対象に関するデータベースを分散保持する。例えば、情報処理装置100は、検索対象に関するデータベースの一例として、電子商取引サービスが取り扱う取引対象に関する商品コンテンツに関するデータベースを分散保持する。ここで、検索対象に関するデータベースをレコード単位で分割(水平分割)したもの(データベースの一部領域)を「シャード」と呼ぶ。また、同一シャードの複製を「レプリカ」と呼ぶ。情報処理システム1は、冗長性を担保するため、各シャードについて少なくとも1つのレプリカを備える。 Each of the plurality of information processing apparatuses 100 distributes and holds databases regarding search targets. For example, the information processing apparatus 100 distributes and holds, as an example of a database related to search targets, a database related to product contents related to transaction targets handled by electronic commerce services. Here, a database related to a search target is divided (horizontally divided) in record units (a partial area of the database) is called a "shard". A copy of the same shard is called a "replica". The information processing system 1 has at least one replica for each shard in order to ensure redundancy.

例えば、検索対象に関するデータベースが、2000万件のレコードを格納している場合について考える。このとき、2000万件のレコードを、例えば、1000万件ずつ、2つのシャード#1およびシャード#2に水平分割する。シャード#1は、検索対象に関するデータベースのうち半分の領域に相当する1000万件のレコードを保持する。シャード#2は、検索対象に関するデータベースのうち残り半分の領域に相当する1000万件のレコードを保持する。すなわち、検索対象に関するデータベースの全領域に含まれる全レコードは、シャード#1に含まれるレコードおよびシャード#2に含まれるレコードの和に等しい。 For example, consider a case where a database related to search targets stores 20 million records. At this time, 20 million records are horizontally split into two shards #1 and shard #2, for example, 10 million records each. Shard #1 holds 10,000,000 records corresponding to half the area of the search target database. Shard #2 holds 10,000,000 records corresponding to the remaining half area of the search target database. In other words, all records included in all areas of the database related to the search target are equal to the sum of the records included in shard #1 and the records included in shard #2.

また、冗長性を担保するため、シャード#1の複製であるレプリカ#1およびシャード#2の複製であるレプリカ#2を生成する。レプリカ#1は、シャード#1と同じ1000万件のレコードを保持する。レプリカ#2は、シャード#2と同じ1000万件のレコードを保持する。この場合、4つの情報処理装置100-1~100-4それぞれは、シャード#1、シャード#2、レプリカ#1およびレプリカ#2をそれぞれ分散保持する。このように、情報処理装置100のそれぞれは、検索対象に関するデータベースの一部領域であるシャードまたはレプリカを保持する。なお、以下では、レコードのことを、検索対象データと記載する場合がある。 Also, in order to ensure redundancy, replica #1, which is a copy of shard #1, and replica #2, which is a copy of shard #2, are generated. Replica #1 holds the same 10 million records as shard #1. Replica #2 holds the same 10 million records as shard #2. In this case, each of the four information processing apparatuses 100-1 to 100-4 distributes and holds shard #1, shard #2, replica #1, and replica #2. In this way, each of the information processing apparatuses 100 holds a shard or a replica, which is a partial area of the database related to search targets. In addition, below, a record may be described as data to be searched.

端末装置10から検索クエリに関する検索要求を受信した情報処理装置100を「サーチヘッド」と呼ぶ。サーチヘッドは、端末装置10から検索クエリに関する検索要求を受信した場合に、検索クエリに関する検索処理を実行する。また、サーチヘッドは、後述する図2及び図3に示す処理を実行する情報処理装置である。 The information processing device 100 that receives a search request for a search query from the terminal device 10 is called a "search head". When the search head receives a search request for a search query from the terminal device 10, the search head executes search processing for the search query. Also, the search head is an information processing device that executes processing shown in FIGS. 2 and 3, which will be described later.

なお、以下では、情報処理システム1が備える複数の情報処理装置100のうち、サーチヘッドのことを「情報処理装置100」、サーチヘッド以外の情報処理装置100のことを「他の情報処理装置100」と記載する。 Note that, hereinafter, among the plurality of information processing apparatuses 100 included in the information processing system 1, the search head is referred to as the "information processing apparatus 100", and the information processing apparatuses 100 other than the search head are referred to as the "other information processing apparatuses 100". ”.

また、以下では、検索対象に関するデータベースの一部領域のことを「一部領域」と略して記載する場合がある。これに対し、検索対象に関するデータベースの全領域のことを「全領域」と略して記載する場合がある。 Also, hereinafter, the partial area of the database related to the search target may be abbreviated as "partial area". On the other hand, the entire area of the database related to the search target may be abbreviated as "whole area".

〔2.情報処理の概要〕
図2及び図3は、実施形態に係る情報処理の概要を示す図である。図2及び図3では、理解しやすいように、情報処理システム1が備える複数の情報処理装置100が、情報処理装置100-1と情報処理装置100-2の2台である場合について説明する。また、図2及び図3では、サーチヘッドが情報処理装置100-1であり、サーチヘッド以外の他の情報処理装置100が情報処理装置100-2である場合について説明する。
[2. Overview of information processing]
2 and 3 are diagrams showing an overview of information processing according to the embodiment. 2 and 3, for ease of understanding, a case where the information processing system 1 includes two information processing apparatuses 100-1 and 100-2 will be described. 2 and 3, the case where the search head is the information processing device 100-1 and the information processing device 100 other than the search head is the information processing device 100-2 will be described.

また、図2及び図3では、検索対象に関するデータベースが、2000万件の検索対象データを格納している場合について考える。また、2000万件の検索対象データを、1000万件ずつ、2つのシャード#0およびシャード#1に水平分割する。また、情報処理装置100-1および情報処理装置100-2が、それぞれシャード#0およびシャード#1を分散して保持する。なお、図2及び図3では、各シャードのレプリカについては記載を省略する。 Also, in FIGS. 2 and 3, it is assumed that the database related to search targets stores 20 million search target data. Also, 20 million pieces of search target data are horizontally divided into two shards #0 and shard #1 by 10 million pieces. Further, the information processing device 100-1 and the information processing device 100-2 distribute and hold the shard #0 and the shard #1, respectively. 2 and 3, the description of replicas of each shard is omitted.

図2及び図3では、サーチヘッドである情報処理装置100-1が、自装置のシャードに含まれる検索対象データについて検索クエリに関する検索処理を実行し、検索クエリとマッチした検索対象データの件数(第1件数)を取得する。続いて、情報処理装置100-1は、第1件数に基づいて、自装置のシャードを含む全シャードに含まれる検索対象データのうち検索クエリとマッチする検索対象データの件数(第2件数)を推定する。 In FIGS. 2 and 3, the information processing device 100-1, which is the search head, executes a search process related to the search query for the search target data included in the shards of its own device, and the number of search target data matching the search query ( first number). Next, information processing device 100-1 calculates the number (second number) of search target data that matches the search query among the search target data contained in all shards including the shard of its own device, based on the first number. presume.

図2では、利用者U1の端末装置10が、情報処理装置100-1に対して検索クエリに関する検索要求を送信する(ステップS1)。端末装置10から送信された検索要求は、負荷分散のため、ロードバランサによってランダムに選択された情報処理装置100(サーチヘッド)に送信される。 In FIG. 2, the terminal device 10 of the user U1 transmits a search request regarding a search query to the information processing device 100-1 (step S1). A search request transmitted from the terminal device 10 is transmitted to the information processing device 100 (search head) randomly selected by the load balancer for load distribution.

情報処理装置100-1は、端末装置10から検索要求を受信する。情報処理装置100-1は、検索要求を受信した場合に、自装置が保持するシャード#0について検索クエリに関する検索処理を実行し、検索クエリとマッチした検索対象データの件数(第1件数)として例えば3件を取得する(ステップS2)。 The information processing device 100-1 receives a search request from the terminal device 10. FIG. When the information processing device 100-1 receives a search request, the information processing device 100-1 executes search processing related to the search query for shard #0 held by the device itself, and sets the number of search target data that match the search query (first number) as For example, three cases are obtained (step S2).

続いて、情報処理装置100-1は、第1件数に基づいて、自装置のシャード#0を含む全シャードに含まれる検索対象データのうち検索クエリとマッチする検索対象データの件数(第2件数)を推定する。ここで、検索対象に関するデータベースは、全シャードに分散して保持されているため、全シャードに含まれる検索対象データと検索対象に関するデータベースの全領域に含まれる検索対象データは、同じものである。すなわち、情報処理装置100-1は、第1件数に基づいて、検索対象に関するデータベースの全領域に含まれる検索対象データのうち検索クエリとマッチする検索対象データの件数(第2件数)を推定する(ステップS3)。 Subsequently, based on the first number of cases, the information processing apparatus 100-1 determines the number of search target data that matches the search query among the search target data contained in all shards including the shard #0 of the own apparatus (second number of cases). ). Here, since the search target database is distributed and held in all shards, the search target data included in all shards and the search target data included in the entire area of the search target database are the same. That is, based on the first number, information processing device 100-1 estimates the number (second number) of search target data that match the search query among the search target data included in the entire area of the search target database. (Step S3).

例えば、情報処理装置100-1は、自装置が保持するシャード#0に含まれる検索対象データの個数(以下、第1個数ともいう)が1000万件であり、情報処理システム1に含まれる情報処理装置100の個数が2個であるので、シャード#0とシャード#1を合わせた全シャードに含まれる検索対象データの個数(以下、第2個数ともいう)を1000万件×2個=2000万件と推定する。続いて、情報処理装置100-1は、第1個数(1000万件)に対する第2個数(2000万件)の割合は200%なので、第1件数(図2の例では、3件)に対する第2件数の割合も200%であると推定する。すなわち、情報処理装置100-1は、第1個数(1000万件)に対する第2個数(2000万件)の割合(200%)と第1件数(図2の例では、3件)とに基づいて、第2件数を200%×3件=6件と推定する。 For example, the information processing device 100-1 has 10,000,000 pieces of search target data (hereinafter also referred to as the first number) contained in the shard #0 held by the information processing device 100-1, and the information contained in the information processing system 1 Since the number of processing devices 100 is two, the number of pieces of search target data included in all shards including shard #0 and shard #1 (hereinafter also referred to as the second number) is 10 million x 2 = 2000. Estimated at 10,000. Subsequently, the information processing apparatus 100-1 determines that the ratio of the second number (20 million cases) to the first number (10 million cases) is 200%. We estimate that the proportion of 2 cases is also 200%. That is, the information processing device 100-1, based on the ratio (200%) of the second number (20 million cases) to the first number (10 million cases) and the first number (three cases in the example of FIG. 2) Therefore, the second number is estimated as 200%×3=6.

続いて、情報処理装置100-1は、推定した第2件数(図2の例では、6件)が第1閾値(例えば、10)以上であるか否かを判定する(ステップS4)。図2では、情報処理装置100-1は、推定した第2件数(図2の例では、6件)が第1閾値(例えば、10)未満であると判定する。続いて、情報処理装置100-1は、推定した第2件数が第1閾値未満である場合は、仮に全シャードについて検索処理を実行した場合であっても、利用者に対して提供できる検索結果の件数がわずかしかないため、検索結果が利用者に対する提供可能条件を満たさない(ゼロマッチともいう)と判定する。 Subsequently, the information processing device 100-1 determines whether or not the estimated second number of cases (6 cases in the example of FIG. 2) is greater than or equal to a first threshold value (eg, 10) (step S4). In FIG. 2, the information processing device 100-1 determines that the estimated second number of cases (6 cases in the example of FIG. 2) is less than the first threshold value (eg, 10). Subsequently, when the estimated second number of cases is less than the first threshold, the information processing device 100-1 provides search results that can be provided to the user even if the search process is executed for all shards. Since there are only a small number of search results, it is determined that the search results do not satisfy the conditions for providing them to the user (also called zero match).

ここで、ゼロマッチとは、検索結果が利用者に対する提供可能条件を満たさないことの総称である。すなわち、ゼロマッチとは、利用者に対して適切な検索結果を返せないことの総称である。例えば、検索クエリが長い(検索クエリ数が多い場合)には、検索結果としてヒットする件数が極端に少なくなる(10件以下等、実際に0である必要はない)。この場合、適切な検索結果を返せない。このように、ゼロマッチの一例は、利用者の検索要求に対して、全く検索結果を返せない場合や、わずかな検索結果しか返せないことである。 Here, "zero match" is a general term for search results that do not satisfy the conditions for providing the search results to the user. In other words, zero match is a general term for failure to return appropriate search results to the user. For example, when the search query is long (when the number of search queries is large), the number of hits as search results is extremely small (such as 10 or less, and does not actually need to be 0). In this case, the appropriate search results cannot be returned. Thus, an example of zero match is a case where no search results or only a few search results can be returned in response to a user's search request.

続いて、情報処理装置100-1は、検索結果が利用者に対する提供可能条件を満たさないと判定した場合、情報処理装置100-2に対して検索要求を送信しないように制御する。また、情報処理装置100-1は、利用者U1の端末装置10に対して検索結果が利用者に対する提供可能条件を満たさない(ゼロマッチ)であることを通知する(ステップS5)。 Subsequently, when the information processing device 100-1 determines that the search result does not satisfy the provisionable condition for the user, the information processing device 100-1 controls the information processing device 100-2 so as not to transmit the search request. In addition, the information processing device 100-1 notifies the terminal device 10 of the user U1 that the search result does not satisfy the provisionable conditions for the user (zero match) (step S5).

図2で述べたように、情報処理装置100は、サーチヘッドが保持する検索対象に関するデータベースの一部領域(図2の例では、シャード#0)について検索クエリに関する検索処理を実行し、検索クエリとマッチした検索対象データの件数(第1件数)を取得する。続いて、情報処理装置100は、検索対象に関するデータベースの全領域に含まれる検索対象データのうち検索クエリとマッチする検索対象データの件数(第2件数)を推定する。続いて、情報処理装置100は、第2件数が第1閾値未満である場合には、ゼロマッチであると判定して、他の情報処理装置100に対して検索要求を送信しないように制御する。このように、情報処理システム1は、サーチヘッドのシャードにおける検索結果に基づいて、全シャードにおける検索結果がゼロマッチであると推定される場合には、サーチヘッドからサーチヘッド以外の他の情報処理装置100に対して検索要求を送信しないように制御するとともに、他の情報処理装置100からサーチヘッドに対して検索結果を送信させないように制御することができる。これにより、情報処理システム1は、利用者に対して適切な検索結果を提供できそうにない場合に、無駄なネットワークアクセスの発生による通信コストや無駄な検索処理の実行による計算コストを生じさせないようにすることができる。 As described with reference to FIG. 2, the information processing apparatus 100 executes search processing related to a search query for a partial area (shard #0 in the example of FIG. 2) of a database related to a search target held by the search head. Acquire the number of search target data that match with (first number). Next, the information processing apparatus 100 estimates the number of pieces of search target data (second number) that match the search query among the search target data contained in the entire area of the database related to the search target. Subsequently, when the second number of cases is less than the first threshold, the information processing apparatus 100 determines that there is a zero match, and controls other information processing apparatuses 100 not to transmit search requests. In this way, when it is estimated that the search results in all shards are zero matches based on the search results in the shards of the search head, the information processing system 1 allows the search head to 100 can be controlled not to transmit a search request, and other information processing apparatuses 100 can be controlled not to transmit search results to the search head. As a result, the information processing system 1 can prevent communication costs due to useless network access and calculation costs due to useless execution of search processing when it is unlikely that appropriate search results can be provided to the user. can be

図3では、情報処理装置100-1が、推定した第2件数が第1閾値以上であると判定する点が図2と異なる。ステップS1において、情報処理装置100-1は、図2と同様の処理を実行する。 FIG. 3 is different from FIG. 2 in that information processing apparatus 100-1 determines that the estimated second number is greater than or equal to the first threshold. In step S1, the information processing device 100-1 executes the same process as in FIG.

情報処理装置100-1は、検索要求を受信した場合に、自装置が保持するシャード#0について検索クエリに関する検索処理を実行し、検索クエリとマッチした検索対象データの件数(第1件数)として例えば6件を取得する(ステップS2)。 When the information processing device 100-1 receives a search request, the information processing device 100-1 executes search processing related to the search query for shard #0 held by the device itself, and sets the number of search target data that match the search query (first number) as For example, 6 cases are acquired (step S2).

続いて、情報処理装置100-1は、第1件数に基づいて、検索対象に関するデータベースの全領域に含まれる検索対象データのうち検索クエリとマッチする検索対象データの件数(第2件数)を推定する(ステップS3)。 Subsequently, based on the first number, the information processing device 100-1 estimates the number (second number) of search target data that matches the search query among the search target data included in the entire area of the search target database. (step S3).

例えば、情報処理装置100-1は、図2と同様に、自装置が保持するシャード#0に含まれる検索対象データの個数(以下、第1個数ともいう)が1000万件であり、情報処理システム1に含まれる情報処理装置100の個数が2個であるので、シャード#0とシャード#1を合わせた全シャードに含まれる検索対象データの個数(以下、第2個数ともいう)を1000万件×2個=2000万件と推定する。続いて、情報処理装置100-1は、第1個数(1000万件)に対する第2個数(2000万件)の割合は200%なので、第1件数(図3の例では、6件)に対する第2件数の割合も200%であると推定する。すなわち、情報処理装置100-1は、第1個数(1000万件)に対する第2個数(2000万件)の割合(200%)と第1件数(図3の例では、6件)とに基づいて、第2件数を200%×6件=12件と推定する。 For example, the information processing device 100-1 has 10,000,000 pieces of search target data (hereinafter also referred to as the first number) contained in the shard #0 held by the information processing device 100-1, similarly to FIG. Since the number of information processing apparatuses 100 included in system 1 is two, the number of search target data included in all shards including shard #0 and shard #1 (hereinafter also referred to as the second number) is 10,000,000. Cases x 2 = 20 million cases. Subsequently, the information processing device 100-1 determines that the ratio of the second number (20 million cases) to the first number (10 million cases) is 200%. We estimate that the proportion of 2 cases is also 200%. That is, based on the ratio (200%) of the second number (20 million cases) to the first number (10 million cases) and the first number (6 cases in the example of FIG. 3), the information processing apparatus 100-1 Therefore, the second number is estimated as 200% x 6 = 12 cases.

続いて、情報処理装置100-1は、推定した第2件数(図3の例では、12件)が第1閾値(例えば、10)以上であるか否かを判定する(ステップS4)。図3では、情報処理装置100-1は、推定した第2件数(図3の例では、12件)が第1閾値(例えば、10)以上であると判定する。続いて、情報処理装置100-1は、推定した第2件数が第1閾値以上である場合は、仮に全シャードについて検索処理を実行した場合であっても、利用者に対して提供できる検索結果の件数が十分あるため、検索結果が利用者に対する提供可能条件を満たすと判定する。 Subsequently, the information processing device 100-1 determines whether or not the estimated second number of cases (12 cases in the example of FIG. 3) is greater than or equal to the first threshold value (eg, 10) (step S4). In FIG. 3, the information processing device 100-1 determines that the estimated second number of cases (12 cases in the example of FIG. 3) is greater than or equal to the first threshold value (eg, 10). Subsequently, when the estimated second number of cases is equal to or greater than the first threshold, the information processing device 100-1 provides search results that can be provided to the user even if the search process is executed for all shards. Since the number of search results is sufficient, it is determined that the search result satisfies the provision availability condition for the user.

続いて、情報処理装置100-1は、検索結果が利用者に対する提供可能条件を満たすと判定した場合、自装置とは異なる全ての他の情報処理装置100(図3に示す例では、情報処理装置100-2)に対して検索要求を送信する(ステップS5)。情報処理装置100-1は、全てのシャードが過不足なく含まれるように、他の情報処理装置100(図3に示す例では、情報処理装置100-2)に対して検索要求を送信する。 Subsequently, when the information processing device 100-1 determines that the search result satisfies the provision availability condition for the user, all other information processing devices 100 (in the example shown in FIG. 3, information processing in the example shown in FIG. 3) other than the own device. A search request is transmitted to the device 100-2 (step S5). The information processing device 100-1 transmits a search request to another information processing device 100 (in the example shown in FIG. 3, the information processing device 100-2) so that all shards are properly included.

情報処理装置100-2は、情報処理装置100-1から検索要求を受信した場合に、情報処理装置100-2が保持するシャード#1について検索クエリに関する検索処理を実行し、検索クエリとマッチした検索対象データの件数(第3件数)として例えば6件を取得する(ステップS6)。情報処理装置100-2は、検索クエリとマッチした検索対象データおよび第3件数を含む検索結果を情報処理装置100-1に対して送信する。 When the information processing device 100-2 receives a search request from the information processing device 100-1, the information processing device 100-2 executes a search process related to the search query for the shard #1 held by the information processing device 100-2, and finds a match with the search query. For example, 6 is obtained as the number of search target data (third number) (step S6). Information processing apparatus 100-2 transmits search results including the search target data matching the search query and the third number to information processing apparatus 100-1.

情報処理装置100-1は、検索クエリとマッチした検索対象データおよび第3件数を含む検索結果を情報処理装置100-2から受信する(ステップS7)。続いて、情報処理装置100-1は、自装置および情報処理装置100-2による検索結果を集約した検索結果である集約検索結果を生成する(ステップS8)。続いて、情報処理装置100-1は、集約検索結果を利用者U1の端末装置10に送信する(ステップS9)。 The information processing device 100-1 receives the search result including the search target data matching the search query and the third number from the information processing device 100-2 (step S7). Subsequently, the information processing device 100-1 generates an aggregated search result, which is a search result obtained by aggregating the search results of the information processing device 100-1 and the information processing device 100-2 (step S8). Subsequently, the information processing device 100-1 transmits the consolidated search result to the terminal device 10 of the user U1 (step S9).

図3で述べたように、情報処理装置100は、サーチヘッドが保持する検索対象に関するデータベースの一部領域(図3の例では、シャード#0)について検索クエリに関する検索処理を実行し、検索クエリとマッチした検索対象データの件数(第1件数)を取得する。続いて、情報処理装置100は、検索対象に関するデータベースの全領域に含まれる検索対象データのうち検索クエリとマッチする検索対象データの件数(第2件数)を推定する。続いて、情報処理装置100は、第2件数が第1閾値以上である場合には、仮に全シャードについて検索処理を実行した場合であっても、利用者に対して提供できる検索結果の件数が十分あるため、検索結果が利用者に対する提供可能条件を満たすと判定する。このように、情報処理システム1は、サーチヘッドのシャードにおける検索結果に基づいて、全シャードにおける検索結果が利用者に対する提供可能条件を満たすと推定される場合には、全シャードにおける検索結果を集約した検索結果を利用者に対して適切に提供することができる。 As described with reference to FIG. 3, the information processing apparatus 100 executes search processing related to a search query for a partial area (shard #0 in the example of FIG. 3) of a database related to search targets held by the search head, and Acquire the number of search target data that match with (first number). Next, the information processing apparatus 100 estimates the number of pieces of search target data (second number) that match the search query among the search target data contained in the entire area of the database related to the search target. Subsequently, when the second number of cases is equal to or greater than the first threshold, the information processing apparatus 100 determines that the number of search results that can be provided to the user is limited even if the search process is executed for all shards. Since there are enough search results, it is determined that the search result satisfies the provision availability condition for the user. In this way, the information processing system 1 aggregates the search results in all shards when it is estimated that the search results in all shards satisfy the provision availability condition for the user, based on the search results in the shards of the search head. It is possible to appropriately provide the user with the retrieved search results.

〔3.情報処理装置の構成例〕
図4は、実施形態に係る情報処理装置の構成例を示す図である。情報処理装置100は、通信部110と、記憶部120と、制御部130とを備える。なお、情報処理装置100は、情報処理装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示させるための表示部(例えば、液晶ディスプレイ等)を備えてもよい。
[3. Configuration example of information processing device]
FIG. 4 is a diagram illustrating a configuration example of an information processing apparatus according to the embodiment; Information processing apparatus 100 includes communication unit 110 , storage unit 120 , and control unit 130 . The information processing apparatus 100 includes an input unit (for example, a keyboard, a mouse, etc.) for receiving various operations from an administrator of the information processing apparatus 100, and a display unit (for example, a liquid crystal display) for displaying various information. You may prepare.

(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークNと有線または無線で接続され、例えば、端末装置10や他の情報処理装置100との間で情報の送受信を行う。
(Communication unit 110)
The communication unit 110 is realized by, for example, a NIC (Network Interface Card) or the like. The communication unit 110 is connected to the network N by wire or wirelessly, and transmits/receives information to/from the terminal device 10 or another information processing device 100, for example.

(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部120は、一部領域データベース121を備える。
(storage unit 120)
The storage unit 120 is realized by, for example, a RAM (Random Access Memory), a semiconductor memory device such as a flash memory, or a storage device such as a hard disk or an optical disk. The storage unit 120 also includes a partial area database 121 .

(一部領域データベース121)
一部領域データベース121は、検索対象に関するデータベースをレコード単位で分割(水平分割)したもの(データベースの一部領域)を格納する。例えば、一部領域データベース121は、検索対象に関するデータベースのシャードまたはレプリカである。
(Partial area database 121)
The partial area database 121 stores a database (partial area of the database) obtained by dividing (horizontally dividing) a database related to a search target in units of records. For example, partial area database 121 is a shard or replica of the database for search targets.

(制御部130)
制御部130は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置100内部の記憶装置に記憶されている各種プログラム(情報処理プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
(control unit 130)
The control unit 130 is a controller, and for example, various programs (information processing programs) stored in a storage device inside the information processing apparatus 100 are controlled by a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or the like. (equivalent to one example) is implemented by executing the RAM as a work area. Also, the control unit 130 is a controller, and is implemented by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).

図4に示すように、制御部130は、受信部131と、検索部132と、推定部133と、検索制御部134と、通知部135を有し、以下に説明する情報処理の作用を実現または実行する。なお、制御部130の内部構成は、図4に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。 As shown in FIG. 4, the control unit 130 has a reception unit 131, a search unit 132, an estimation unit 133, a search control unit 134, and a notification unit 135, and implements the information processing operation described below. or run. Note that the internal configuration of the control unit 130 is not limited to the configuration shown in FIG. 4, and may be another configuration as long as it performs information processing to be described later.

(受信部131)
受信部131は、端末装置10から検索クエリに関する検索要求を受信する。例えば、受信部131は、電子商取引サービスが取り扱う取引対象を検索するための検索クエリに関する検索要求を受信する。
(Receiver 131)
The receiving unit 131 receives a search request regarding a search query from the terminal device 10 . For example, the receiving unit 131 receives a search request regarding a search query for searching for transaction targets handled by the electronic commerce service.

(検索部132)
検索部132は、受信部131が検索要求を受信した場合に、自装置が保持する一部領域について検索クエリに関する検索処理を実行する。例えば、検索部132は、自装置が保持するシャードまたはレプリカに含まれる検索対象データについて検索クエリに関する検索処理を実行する。続いて、検索部132は、実行した検索処理の検索結果である第1検索結果を取得する。例えば、検索部132は、第1検索結果の一例として、自装置が保持するシャードまたはレプリカに含まれる検索対象データのうち検索クエリとマッチした検索対象データの件数である第1件数を取得する。
(Search unit 132)
When the receiving unit 131 receives a search request, the searching unit 132 executes search processing related to the search query for a partial area held by the own device. For example, the search unit 132 executes search processing related to a search query for search target data included in shards or replicas held by the device itself. Subsequently, the search unit 132 acquires the first search result, which is the search result of the executed search process. For example, the search unit 132 acquires, as an example of the first search result, the first number, which is the number of pieces of search target data that match the search query among the search target data included in the shards or replicas held by the device itself.

(推定部133)
推定部133は、検索部132が実行した検索処理の検索結果である第1検索結果に基づいて、データベースのうち一部領域よりも大きい領域について検索クエリに関する検索処理を実行した場合の検索結果である第2検索結果を推定する。具体的には、推定部133は、データベースのうち一部領域よりも大きい領域の一例として、データベースの全領域について検索クエリに関する検索処理を実行した場合の検索結果である第2検索結果を推定する。
(Estimation unit 133)
The estimating unit 133 performs the search processing related to the search query for an area larger than the partial area in the database based on the first search result, which is the search result of the search process executed by the search unit 132. Presume some second search result. Specifically, the estimating unit 133 estimates a second search result, which is a search result obtained when a search process related to a search query is executed for the entire area of the database, as an example of an area larger than a partial area of the database. .

より具体的には、推定部133は、第2検索結果の一例として、データベースの全領域に含まれる検索対象データのうち検索クエリとマッチする検索対象データの件数である第2件数を推定する。例えば、推定部133は、自装置が保持するシャードまたはレプリカに含まれる検索対象データの個数である第1個数と複数の情報処理装置100の装置個数とに基づいて、データベースの全領域に含まれる検索対象データの個数である第2個数を推定する。続いて、推定部133は、第1個数に対する推定した第2個数の割合に基づいて、第2件数を推定する。例えば、推定部133は、第1件数に対する第2件数の割合は、第1個数に対する第2個数の割合と同じであると推定する。続いて、推定部133は、第1個数に対する第2個数の割合と第1件数とに基づいて、第2件数を推定する。 More specifically, the estimation unit 133 estimates, as an example of the second search result, a second number of pieces of search target data that match the search query among the search target data included in the entire area of the database. For example, the estimating unit 133, based on the first number, which is the number of pieces of search target data included in the shards or replicas held by the own device, and the number of devices of the plurality of information processing devices 100, A second number, which is the number of search target data, is estimated. Subsequently, the estimation unit 133 estimates the second number based on the ratio of the estimated second number to the first number. For example, the estimation unit 133 estimates that the ratio of the second number to the first number is the same as the ratio of the second number to the first number. Subsequently, the estimation unit 133 estimates the second number based on the ratio of the second number to the first number and the first number.

続いて、推定部133は、推定した第2件数が第1閾値以上であるか否かを判定する。推定部133は、推定した第2件数が第1閾値以上であると判定した場合は、第2検索結果が利用者に対する提供可能条件を満たすと推定する。一方、推定部133は、推定した第2件数が第1閾値未満であると判定した場合は、第2検索結果が利用者に対する提供可能条件を満たさないと推定する。 Subsequently, the estimation unit 133 determines whether or not the estimated second number of cases is equal to or greater than the first threshold. When the estimation unit 133 determines that the estimated second number of cases is equal to or greater than the first threshold value, the estimation unit 133 estimates that the second search result satisfies the provision availability condition for the user. On the other hand, when the estimation unit 133 determines that the estimated second number of cases is less than the first threshold, it estimates that the second search result does not satisfy the provision availability condition for the user.

(検索制御部134)
検索制御部134は、推定部133による推定結果に基づいて、自装置とは異なる他の情報処理装置100による検索クエリに関する検索処理を制御する。具体的には、検索制御部134は、推定部133が提供可能条件を満たすと推定した場合には、他の情報処理装置100に対して検索要求を送信する。例えば、検索制御部134は、検索部132による検索処理の途中であっても、推定部133が提供可能条件を満たすと推定した場合には、他の情報処理装置100に対して検索要求を送信する。続いて、検索制御部134は、他の情報処理装置100が保持する一部領域について他の情報処理装置100が実行した検索クエリに関する検索処理の検索結果を受信する。続いて、検索制御部134は、自装置および他の情報処理装置100による検索結果を集約した検索結果である集約検索結果を生成する。
(Search control unit 134)
The search control unit 134 controls search processing related to a search query by another information processing apparatus 100 different from the own apparatus based on the estimation result by the estimation unit 133 . Specifically, the search control unit 134 transmits a search request to the other information processing apparatus 100 when the estimation unit 133 estimates that the provision availability condition is satisfied. For example, the search control unit 134 transmits a search request to another information processing apparatus 100 when the estimation unit 133 estimates that the provision availability condition is satisfied even during the search process by the search unit 132 . do. Subsequently, the search control unit 134 receives the search result of the search process related to the search query executed by the other information processing apparatus 100 for the partial area held by the other information processing apparatus 100 . Subsequently, the search control unit 134 generates an aggregated search result, which is a search result obtained by aggregating the search results of the own device and the other information processing devices 100 .

一方、検索制御部134は、推定部133が提供可能条件を満たさないと推定した場合には、他の情報処理装置100に対して検索要求を送信しないように制御する。 On the other hand, when the estimation unit 133 estimates that the provision availability condition is not satisfied, the search control unit 134 controls not to transmit the search request to the other information processing apparatuses 100 .

(通知部135)
通知部135は、端末装置10に対して通知を送信する。具体的には、通知部135は、検索制御部134が集約検索結果を生成した場合に、集約検索結果に関する通知を端末装置10に対して送信する。
(Notification unit 135)
The notification unit 135 transmits notification to the terminal device 10 . Specifically, when the search control unit 134 generates an aggregate search result, the notification unit 135 transmits a notification regarding the aggregate search result to the terminal device 10 .

また、通知部135は、検索制御部134が他の情報処理装置100に対して検索要求を送信しない場合に、第2検索結果が提供可能条件を満たさないことを示す通知を端末装置10に対して送信する。 In addition, when the search control unit 134 does not transmit a search request to the other information processing device 100, the notification unit 135 notifies the terminal device 10 that the second search result does not satisfy the provision availability condition. to send.

〔4.処理手順〕
図5は、実施形態に係る情報処理システム1による情報処理手順を示すフローチャートである。図5に示すように、情報処理装置100の受信部131は、端末装置10から検索クエリに関する検索要求を受信する(ステップS101)。
[4. Processing procedure]
FIG. 5 is a flowchart showing an information processing procedure by the information processing system 1 according to the embodiment. As shown in FIG. 5, the receiving unit 131 of the information processing device 100 receives a search request regarding a search query from the terminal device 10 (step S101).

情報処理装置100の検索部132は、受信部131が検索要求を受信した場合に、自装置が保持するデータベースの一部領域(以下、一部領域と記載する)について検索クエリに関する検索処理を実行する。続いて、検索部132は、一部領域について検索クエリに関する検索処理を実行した検索結果(第1検索結果)を取得する(ステップS102)。 When the receiving unit 131 receives a search request, the searching unit 132 of the information processing device 100 executes search processing related to the search query for a partial area (hereinafter referred to as a partial area) of the database held by the device itself. do. Subsequently, the search unit 132 acquires search results (first search results) obtained by executing the search process on the search query for the partial area (step S102).

情報処理装置100の推定部133は、検索部132が取得した第1検索結果に基づいて、データベースの全領域について検索クエリに関する検索処理を実行した場合の検索結果(第2検索結果)を推定する(ステップS103)。続いて、推定部133は、第2検索結果が利用者に対する提供可能条件を満たすか否かを判定する(ステップS104)。 The estimating unit 133 of the information processing device 100 estimates a search result (second search result) when a search process related to the search query is executed for the entire area of the database based on the first search result acquired by the search unit 132. (Step S103). Subsequently, the estimating unit 133 determines whether or not the second search result satisfies the provision availability condition for the user (step S104).

情報処理装置100の検索制御部134は、推定部133が提供可能条件を満たすと判定した場合に(ステップS104;Yes)、自装置とは異なる他の情報処理装置100に対して検索クエリに関する検索要求を送信する(ステップS105)。他の情報処理装置100は、情報処理装置100から検索要求を受信した場合に、自装置が保持する一部領域について検索クエリに関する検索処理を実行する。続いて、他の情報処理装置100は、一部領域について検索クエリに関する検索処理を実行した検索結果を情報処理装置100に対して送信する。 When the estimation unit 133 determines that the provision availability condition is satisfied (step S104; Yes), the search control unit 134 of the information processing device 100 performs a search related to the search query on another information processing device 100 different from the own device. A request is transmitted (step S105). When the other information processing device 100 receives a search request from the information processing device 100, the other information processing device 100 executes search processing related to the search query for a partial area held by the own device. Subsequently, the other information processing device 100 transmits to the information processing device 100 the search result of executing the search processing related to the search query for the partial area.

情報処理装置100の検索制御部134は、他の情報処理装置100が保持する一部領域について他の情報処理装置100が実行した検索クエリに関する検索処理の検索結果を他の情報処理装置100から取得する(ステップS106)。続いて、検索制御部134は、自装置および他の情報処理装置100による検索結果を集約した検索結果(集約検索結果)を生成する(ステップS107)。 The search control unit 134 of the information processing device 100 acquires from the other information processing device 100 the search result of the search processing related to the search query executed by the other information processing device 100 for the partial area held by the other information processing device 100. (step S106). Subsequently, the search control unit 134 generates a search result (aggregate search result) in which the search results of the own device and the other information processing devices 100 are aggregated (step S107).

情報処理装置100の通知部135は、検索制御部134が集約検索結果を生成した場合に、集約検索結果に関する通知を端末装置10に対して送信する(ステップS108)。 The notification unit 135 of the information processing device 100 transmits a notification regarding the aggregate search result to the terminal device 10 when the search control unit 134 generates the aggregate search result (step S108).

一方、情報処理装置100の検索制御部134は、推定部133が提供可能条件を満たさないと推定した場合に(ステップS104;No)、他の情報処理装置100に対して検索要求を送信しないように制御する(ステップS109)。 On the other hand, when the estimation unit 133 estimates that the provision availability condition is not satisfied (step S104; No), the search control unit 134 of the information processing device 100 does not transmit the search request to the other information processing devices 100. (step S109).

情報処理装置100の通知部135は、検索制御部134が他の情報処理装置100に対して検索要求を送信しない場合に、第2検索結果が提供可能条件を満たさないことを示す通知を端末装置10に対して送信する(ステップS110)。 If the search control unit 134 does not transmit a search request to the other information processing device 100, the notification unit 135 of the information processing device 100 sends a notification to the terminal device indicating that the second search result does not satisfy the provision availability condition. 10 (step S110).

〔5.変形例〕
上述した情報処理システム1は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、実施形態の変形例について説明する。
[5. Modification]
The information processing system 1 described above may be implemented in various different forms other than the above embodiment. So, below, the modification of embodiment is demonstrated.

〔5‐1.大きい領域の他の例〕
上述した実施形態では、推定部133が、第1検索結果に基づいて、データベースのうち一部領域よりも大きい領域(以下、「大きい領域」と記載する)の一例として、データベースの全領域について検索クエリに関する検索処理を実行した場合の検索結果である第2検索結果を推定する場合について説明したが、大きい領域は全領域に限られない。具体的には、推定部133は、大きい領域の一例として、データベースのうち一部領域と一部領域とは異なる他の領域を含む領域について検索クエリに関する検索処理を実行した場合の検索結果である第2検索結果を推定してよい。また、推定部133は、大きい領域の一例として、データベースのうち一部領域とは異なる他の領域を含む領域であって、一部領域のN倍(Nは2以上の自然数)の大きさの領域について検索クエリに関する検索処理を実行した場合の検索結果である第2検索結果を推定してよい。
[5-1. Other examples of large areas]
In the above-described embodiment, the estimating unit 133 searches the entire area of the database as an example of an area larger than a partial area of the database (hereinafter referred to as a "large area") based on the first search result. Although the case of estimating the second search result, which is the search result obtained when the search process related to the query is executed, has been described, the large area is not limited to the entire area. Specifically, as an example of a large area, the estimation unit 133 obtains a search result when performing a search process on a search query for an area including a partial area and another area different from the partial area in the database. A second search result may be estimated. Further, the estimating unit 133 determines, as an example of a large area, an area that includes another area different from the partial area in the database and that is N times as large as the partial area (N is a natural number of 2 or more). A second search result, which is a search result obtained when a search process related to the search query is executed for the region, may be estimated.

〔5‐2.検索対象の他の例〕
また、上述した実施形態では、データベースに格納された検索対象が電子商取引サービスの取引対象に関する商品コンテンツである場合について説明したが、検索対象は商品コンテンツに限られない。例えば、検索対象は、動画配信サービスの配信対象となる動画コンテンツ、または音楽配信サービスの配信対象となる音楽コンテンツであってもよい。
[5-2. Other examples of search targets]
Further, in the above-described embodiment, the search target stored in the database has been described as the product content related to the transaction target of the electronic commerce service, but the search target is not limited to the product content. For example, the search target may be video content to be distributed by a video distribution service or music content to be distributed by a music distribution service.

〔5‐3.第1検索結果と第2検索結果の他の例〕
また、上述した実施形態では、推定部133が、第1検索結果の一例として、自装置が保持する一部領域に含まれる検索対象に関する検索対象データのうち検索クエリとマッチした検索対象データの件数である第1件数を取得する。続いて、推定部133が、第2検索結果の一例として、第1件数に基づいて、データベースの全領域に含まれる検索対象データのうち検索クエリとマッチする検索対象データの件数である第2件数を推定する場合について説明したが、第1検索結果または第2検索結果は検索クエリとマッチする検索対象データの件数に限られない。
[5-3. Other examples of the first search result and the second search result]
In the above-described embodiment, the estimating unit 133 calculates, as an example of the first search result, the number of search target data that match the search query among the search target data related to the search target included in the partial area held by the device itself. Acquire the first number. Subsequently, the estimating unit 133 determines, as an example of the second search result, a second number of search target data matching the search query among the search target data contained in the entire area of the database, based on the first number of search results. Although the case of estimating is described, the first search result or the second search result is not limited to the number of pieces of search target data that match the search query.

〔5‐3‐1.実行待ちプロセスの平均数〕
具体的には、推定部133は、第1検索結果の一例として、自装置が保持する一部領域について実行した検索処理における実行待ちプロセスの平均数である第1プロセス数を取得する。続いて、推定部133は、第2検索結果の一例として、第1プロセス数に基づいて、データベースの全領域について検索処理を実行した場合における実行待ちプロセスの平均数である第2プロセス数を推定する。
[5-3-1. Average number of waiting processes]
Specifically, the estimation unit 133 acquires, as an example of the first search result, the first process count, which is the average number of processes waiting for execution in the search process executed for the partial area held by the own device. Subsequently, the estimating unit 133 estimates the second number of processes, which is the average number of processes waiting to be executed when the search process is executed for the entire area of the database, based on the first number of processes as an example of the second search result. do.

例えば、推定部133は、自装置が保持するシャードまたはレプリカに含まれる検索対象データの個数である第1個数と複数の情報処理装置100の装置個数とに基づいて、データベースの全領域に含まれる検索対象データの個数である第2個数を推定する。続いて、推定部133は、第1個数に対する第2個数の割合に基づいて、第2プロセス数を推定する。例えば、推定部133は、第1プロセス数に対する第2プロセス数の割合は、第1個数に対する第2個数の割合と同じであると推定する。続いて、推定部133は、第1個数に対する第2個数の割合と第1プロセス数とに基づいて、第2プロセス数を推定する。 For example, the estimating unit 133, based on the first number, which is the number of pieces of search target data included in the shards or replicas held by the own device, and the number of devices of the plurality of information processing devices 100, A second number, which is the number of search target data, is estimated. Subsequently, the estimation unit 133 estimates the second number of processes based on the ratio of the second number to the first number. For example, the estimation unit 133 estimates that the ratio of the second number of processes to the first number of processes is the same as the ratio of the second number to the first number. Subsequently, the estimation unit 133 estimates the second number of processes based on the ratio of the second number to the first number and the first number of processes.

続いて、推定部133は、推定した第2プロセス数が第2閾値未満であるか否かを判定する。推定部133は、推定した第2プロセス数が第2閾値未満であると判定した場合は、仮に全シャードについて検索処理を実行した場合であっても、利用者に対して検索結果を提供するまでに要する時間が許容範囲内であるため、第2検索結果が利用者に対する提供可能条件を満たすと推定する。一方、推定部133は、推定した第2プロセス数が第2閾値以上であると判定した場合は、仮に全シャードについて検索処理を実行した場合であっても、利用者に対して検索結果を提供するまでに要する時間が長すぎるため、第2検索結果が利用者に対する提供可能条件を満たさないと推定する。 Subsequently, the estimation unit 133 determines whether or not the estimated second number of processes is less than the second threshold. When the estimating unit 133 determines that the estimated number of second processes is less than the second threshold value, even if the search process is executed for all shards, the estimating unit 133 waits until the search results are provided to the user. Since the time required for the search is within the allowable range, it is estimated that the second search result satisfies the provision availability condition for the user. On the other hand, when the estimation unit 133 determines that the estimated number of second processes is equal to or greater than the second threshold value, the estimation unit 133 provides the search result to the user even if the search process is executed for all shards. It is estimated that the second search result does not satisfy the provisionability condition for the user because it takes too long to complete the search.

〔5‐3‐2.スコア〕
また、推定部133は、第1検索結果の一例として、自装置が保持する一部領域に含まれる検索対象に関する検索対象データと検索クエリとの適合度を示すスコアが高い方からN番目(Nは自然数)までのN個のスコアの平均である第1スコアを取得する。例えば、推定部133は、自身の検索結果の上位1~10位までの10個のスコアの平均である第1スコアを取得する。続いて、推定部133は、第2検索結果の一例として、データベースの全領域に含まれる検索対象データと検索クエリとの適合度を示すスコアが高い方からM番目(Mは自然数、M>N)のスコアである第2スコアを推定する。例えば、推定部133は、第1スコアから、データベースの全領域に含まれる検索対象データと検索クエリとの適合度を示す100位のスコアである第2スコアを予測する。例えば、推定部133は、任意の線形補完技術を用いて、第1スコアから第2スコアを予測する。
[5-3-2. Score〕
In addition, the estimating unit 133, as an example of the first search result, the Nth highest score indicating the degree of matching between the search target data regarding the search target included in the partial area held by the own device and the search query (N is a natural number). For example, the estimating unit 133 obtains the first score, which is the average of 10 scores from the top 1 to 10 of its own search results. Subsequently, the estimating unit 133 selects the M-th highest score (M is a natural number, M>N ) to estimate a second score. For example, from the first score, the estimation unit 133 predicts the second score, which is the 100th score indicating the degree of matching between the search target data included in the entire area of the database and the search query. For example, the estimation unit 133 predicts the second score from the first score using any linear interpolation technique.

まず、簡単のため、シャードが1つのみの場合について説明する。このとき、推定部133は、上位1位のスコアが「1.00」であり、上位10位のスコアが「0.97」である場合には、1位と10位との間の9位の差に相当するスコアの低下分を、両スコアの差分に相当する「1.00」‐「0.97」=「0.03」であると推定する。続いて、推定部133は、1位と100位との間の99位の差に相当するスコアの低下分を、「0.03」の(99/9)倍に相当する「(99/9)×0.03=0.33」であると推定する。続いて、推定部133は、100位のスコアである第2スコアを、1位のスコアから99位の差に相当するスコアの低下分を引いた「1.00」‐「0.33」=「0.67」であると推定する。 First, for simplicity, the case where there is only one shard will be described. At this time, if the score of the top 1st place is "1.00" and the score of the top 10th place is "0.97", the estimation unit 133 is estimated to be "1.00" - "0.97" = "0.03", which corresponds to the difference between both scores. Subsequently, the estimating unit 133 calculates the decrease in the score corresponding to the 99th difference between the 1st place and the 100th place as "(99/9 ) x 0.03 = 0.33". Subsequently, the estimation unit 133 calculates the second score, which is the score of 100th place, by subtracting the decrease in the score corresponding to the difference of 99th place from the score of 1st place, which is “1.00”−“0.33”= Assume that it is "0.67".

次に、シャードが複数の場合について説明する。簡単のため、シャードが全体で2つの場合について説明する。このとき、推定部133は、シャード1つあたりの9位の差は、シャード2つあたりの18位の差に相当すると推定する。すなわち、推定部133は、自身のシャードの上位1位のスコアが「1.00」であり、上位10位のスコアが「0.97」である場合には、シャード2つあたりの18位の差に相当するスコアの低下分を、両スコアの差分に相当する「1.00」‐「0.97」=「0.03」であると推定する。続いて、推定部133は、1位と100位との間の99位の差に相当するスコアの低下分を、「0.03」の(99/18)倍に相当する「(99/18)×0.03=0.165」であると推定する。続いて、推定部133は、100位のスコアである第2スコアを、1位のスコアから99位の差に相当するスコアの低下分を引いた「1.00」‐「0.165」=「0.835」であると推定する。 Next, a case where there are multiple shards will be described. For the sake of simplicity, a case where there are two shards in total will be described. At this time, the estimation unit 133 estimates that the difference of 9th place per shard corresponds to the difference of 18th place per 2 shards. That is, when the top 1 score of its own shard is "1.00" and the top 10 score is "0.97", the estimation unit 133 determines the 18th place per two shards. The decrease in score corresponding to the difference is estimated to be "1.00"-"0.97"="0.03" corresponding to the difference between both scores. Subsequently, the estimating unit 133 calculates the decrease in the score corresponding to the 99th difference between the 1st place and the 100th place as "(99/18 ) x 0.03 = 0.165". Subsequently, the estimation unit 133 calculates the second score, which is the score of 100th place, by subtracting the decrease in the score corresponding to the difference of 99th place from the score of 1st place, which is “1.00”−“0.165”= Assume that it is "0.835".

続いて、推定部133は、推定した第2スコアが第3閾値以上であるか否かを判定する。推定部133は、推定した第2スコアが第3閾値以上であると判定した場合は、仮に全シャードについて検索処理を実行した場合であっても、利用者に対して提供する検索結果が検索クエリとよくマッチしている(つまり、検索結果の質が高い)と考えられるため、第2検索結果が利用者に対する提供可能条件を満たすと推定する。一方、推定部133は、推定した第2スコアが第3閾値未満であると判定した場合は、仮に全シャードについて検索処理を実行した場合であっても、利用者に対して提供する検索結果が検索クエリとあまりマッチしていない(つまり、検索結果の質が低い)と考えられるため、第2検索結果が利用者に対する提供可能条件を満たさないと推定する。 Subsequently, the estimation unit 133 determines whether or not the estimated second score is equal to or greater than the third threshold. When the estimation unit 133 determines that the estimated second score is equal to or greater than the third threshold, even if the search process is executed for all shards, the search result provided to the user is the search query (that is, the quality of the search result is high), it is assumed that the second search result satisfies the provision availability condition for the user. On the other hand, when the estimating unit 133 determines that the estimated second score is less than the third threshold, even if the search processing is executed for all shards, the search result provided to the user is Since it is considered that the second search result does not match the search query very well (that is, the quality of the search result is low), it is presumed that the second search result does not satisfy the provision availability condition for the user.

〔5‐3‐3.価格〕
また、推定部133は、第1検索結果の一例として、自装置が保持する一部領域に含まれる検索対象に関する検索対象データと検索クエリとの適合度を示すスコアが高い方からL番目(Lは自然数)までのL個の検索対象に関する平均価格を算出する。続いて、推定部133は、算出した平均価格が第4閾値未満であるか否かを判定する。推定部133は、算出した平均価格が第4閾値未満であると判定した場合は、利用者に対して提供する検索結果に関する平均価格が許容範囲内の金額なので、第2検索結果が利用者に対する提供可能条件を満たすと推定する。一方、推定部133は、算出した平均価格が第4閾値以上であると判定した場合は、利用者に対して提供する検索結果に関する平均価格が高すぎる金額なので、第2検索結果が利用者に対する提供可能条件を満たさないと推定する。
[5-3-3. price〕
In addition, the estimating unit 133, as an example of the first search result, the Lth (L is a natural number). Subsequently, the estimation unit 133 determines whether the calculated average price is less than the fourth threshold. When the estimating unit 133 determines that the calculated average price is less than the fourth threshold, the average price of the search results provided to the user is within the allowable range. Presumed to meet the availability conditions. On the other hand, when the estimating unit 133 determines that the calculated average price is equal to or higher than the fourth threshold, the average price of the search results provided to the user is too high. We presume that the provision availability condition is not met.

〔5‐3‐4.販売促進率〕
また、推定部133は、第1検索結果の一例として、自装置が保持する一部領域に含まれる検索対象に関する検索対象データのうち検索クエリとマッチした検索対象データに対応する検索対象に設定された販売促進率が第5閾値以上である検索対象の数を算出する。続いて、推定部133は、算出した検索対象の数が第6閾値以上であるか否かを判定する。推定部133は、算出した検索対象の数が第6閾値以上であると判定した場合は、第2検索結果が利用者に対する提供可能条件を満たすと推定する。一方、推定部133は、算出した検索対象の数が第6閾値未満であると判定した場合は、第2検索結果が利用者に対する提供可能条件を満たさないと推定する。この場合、検索部132は、販売促進率が第5閾値以上である検索対象の数が増えるように、検索クエリを短くして再検索してもよい。
[5-3-4. Sales promotion rate]
Further, the estimating unit 133 sets, as an example of the first search result, the search target corresponding to the search target data that matches the search query among the search target data related to the search target included in the partial area held by the own device. The number of search targets whose sales promotion rate is greater than or equal to the fifth threshold is calculated. Subsequently, the estimation unit 133 determines whether or not the calculated number of search targets is equal to or greater than the sixth threshold. When the estimation unit 133 determines that the calculated number of search targets is equal to or greater than the sixth threshold, it estimates that the second search result satisfies the provision availability condition for the user. On the other hand, when the estimation unit 133 determines that the calculated number of search targets is less than the sixth threshold, it estimates that the second search result does not satisfy the provisionable condition for the user. In this case, the search unit 132 may shorten the search query and search again so that the number of search targets whose sales promotion rate is equal to or higher than the fifth threshold increases.

〔5‐4.変更クエリの生成と再検索〕
また、上述した実施形態では、推定部133が提供可能条件を満たさないと推定した場合に、通知部135が、第2検索結果が提供可能条件を満たさないことを示す通知を端末装置10に対して送信する場合について説明したが、推定部133が提供可能条件を満たさないと推定した場合の処理は、通知部135による通知に限られない。
[5-4. Change query generation and search again]
Further, in the above-described embodiment, when the estimating unit 133 estimates that the provisionable condition is not satisfied, the notification unit 135 notifies the terminal device 10 that the second search result does not satisfy the provisionable condition. However, the processing when the estimation unit 133 estimates that the provision availability condition is not satisfied is not limited to the notification by the notification unit 135 .

具体的には、検索部132は、推定部133が提供可能条件を満たさないと推定した場合に、検索クエリを変更した変更クエリを生成し、自装置が保持する一部領域について変更クエリに関する検索処理を実行する。推定部133は、検索部132が実行した検索処理の検索結果である第3検索結果に基づいて、データベースのうち一部領域よりも大きい領域について変更クエリに関する検索処理を実行した場合の検索結果である第4検索結果が利用者に対する提供可能条件を満たすか否かを推定する。 Specifically, when the estimating unit 133 estimates that the provisionable condition is not satisfied, the searching unit 132 generates a modified query by changing the search query, and performs a search related to the modified query for the partial area held by the own device. Execute the process. Based on the third search result, which is the search result of the search process executed by the search unit 132, the estimation unit 133 determines the search result when the search process for the change query is executed for an area larger than the partial area in the database. It is estimated whether or not a given fourth search result satisfies the provision availability condition for the user.

また、通知部135は、検索部132が生成した変更クエリを端末装置10に対して送信してよい。この場合、受信部131は、通知部135が通知した変更クエリの中から、利用者によって選択された変更クエリに関する検索要求を受信してよい。また、検索部132は、受信部131が変更クエリに関する検索要求を受信した場合に、自装置が保持する一部領域について変更クエリに関する検索処理を実行してよい。 Also, the notification unit 135 may transmit the change query generated by the search unit 132 to the terminal device 10 . In this case, the receiving unit 131 may receive a search request related to the modified query selected by the user from among the modified queries notified by the notification unit 135 . Further, when the receiving unit 131 receives a search request for a change query, the search unit 132 may execute search processing for the change query for a partial area held by the own device.

〔5‐5.データベースの一部領域の他の例〕
また、上述した実施形態では、複数の情報処理装置100が、データベースの一部領域の一例として、検索対象に関するデータベースをレコード単位で分割(水平分割)したものを分散保持する場合について説明したが、データベースの一部領域は、データベースをレコード単位で分割(水平分割)したものに限られない。例えば、複数の情報処理装置100が、データベースの一部領域の一例として、検索対象に関するデータベースをフィールド単位で分割(垂直分割)したものを分散保持してもよい。また、例えば、複数の情報処理装置100が、データベースの一部領域の一例として、検索対象に関するデータベースを任意の部分領域に分割したものを分散保持してもよい。
[5-5. Other examples of partial areas of the database]
In the above-described embodiment, a case has been described in which a plurality of information processing apparatuses 100 distribute and hold, as an example of a partial area of a database, a database related to a search target divided (horizontally divided) in record units. The partial area of the database is not limited to the division (horizontal division) of the database in units of records. For example, a plurality of information processing apparatuses 100 may distribute and hold, as an example of a partial area of a database, a database related to a search target divided (vertically divided) in units of fields. Further, for example, a plurality of information processing apparatuses 100 may distribute and hold, as an example of a partial area of a database, a database related to a search target divided into arbitrary partial areas.

〔5‐6.情報処理装置100が複数のシャードを有する場合〕
また、上述した実施形態では、各情報処理装置100がそれぞれ1つのシャードまたはレプリカを保持する場合について説明したが、各情報処理装置100は複数のシャードまたは複数のレプリカを保持してよい。例えば、情報処理装置100(サーチヘッド)が複数のシャードを保持する場合、検索部132は、受信部131が検索要求を受信した場合に、自装置が保持する複数のシャード全てについて検索クエリに関する検索処理を実行してもよいし、または、自装置が保持する複数のシャードの中からランダムに選択した1つのシャードのみについて検索クエリに関する検索処理を実行してもよい。
[5-6. Case where information processing apparatus 100 has a plurality of shards]
Further, in the above-described embodiment, each information processing device 100 has one shard or one replica, but each information processing device 100 may have multiple shards or multiple replicas. For example, when the information processing device 100 (search head) holds a plurality of shards, the search unit 132 searches all of the plurality of shards held by itself regarding a search query when the reception unit 131 receives a search request. Alternatively, the search processing for the search query may be executed for only one shard selected at random from among multiple shards held by the device itself.

〔6.効果〕
上述してきたように、本願に係る情報処理システム1は、利用者によって利用される端末装置10と通信可能な複数の情報処理装置100を備え、情報処理装置100のそれぞれが検索対象に関するデータベースの一部領域を保持する。情報処理装置100は、受信部131と、検索部132と、推定部133を備える。受信部131は、端末装置10から検索クエリに関する検索要求を受信する。検索部132は、受信部131が検索要求を受信した場合に、自装置が保持する一部領域について検索クエリに関する検索処理を実行する。推定部133は、検索部132が実行した検索処理の検索結果である第1検索結果に基づいて、データベースのうち一部領域よりも大きい領域について検索クエリに関する検索処理を実行した場合の検索結果である第2検索結果が利用者に対する提供可能条件を満たすか否かを推定する。
[6. effect〕
As described above, the information processing system 1 according to the present application includes a plurality of information processing devices 100 capable of communicating with the terminal device 10 used by the user. retain the partial area. The information processing apparatus 100 includes a receiving section 131 , a searching section 132 and an estimating section 133 . The receiving unit 131 receives a search request regarding a search query from the terminal device 10 . When the receiving unit 131 receives a search request, the searching unit 132 executes search processing related to the search query for a partial area held by the own device. The estimating unit 133 performs the search processing related to the search query for an area larger than the partial area in the database based on the first search result, which is the search result of the search process executed by the search unit 132. It is estimated whether or not a second search result satisfies the provision availability condition for the user.

このように、情報処理システム1は、分散型の検索システムを構成する複数の情報処理装置100のうちサーチヘッドの一部領域における検索結果に基づいて、検索対象に関するデータベースの全領域における検索結果が利用者に対する提供可能条件を満たすか否かを推定することができる。これにより、情報処理システム1は、検索対象に関するデータベースの全領域における検索処理を実行することなく、サーチヘッドの一部領域における検索処理の実行のみに基づいて、利用者に対して適切な検索結果を提供可能とすることができるか否かを短時間で効率よく推定することができる。したがって、情報処理システム1は、利用者に対して適切な検索結果を提供可能とすることができる。 In this way, the information processing system 1 provides search results in all areas of the database related to the search target based on the search results in a partial area of the search head among the plurality of information processing apparatuses 100 constituting the distributed search system. It is possible to estimate whether or not conditions for provision to the user are satisfied. As a result, the information processing system 1 can provide appropriate search results for the user based only on execution of search processing in a partial region of the search head without executing search processing in all regions of the database relating to the search target. can be efficiently estimated in a short time. Therefore, the information processing system 1 can provide appropriate search results to the user.

また、情報処理装置100は、推定部133による推定結果に基づいて、自装置とは異なる他の情報処理装置100による検索クエリに関する検索処理を制御する検索制御部134と、端末装置10に対して通知を送信する通知部135をさらに備える。検索制御部134は、推定部133が提供可能条件を満たすと推定した場合に、他の情報処理装置100に対して検索要求を送信し、他の情報処理装置100が保持する一部領域について他の情報処理装置100が実行した検索クエリに関する検索処理の検索結果を受信し、自装置および他の情報処理装置100による検索結果を集約した検索結果である集約検索結果を生成する。通知部135は、検索制御部134が集約検索結果を生成した場合に、集約検索結果に関する通知を端末装置10に対して送信する。検索制御部134は、推定部133が提供可能条件を満たさないと推定した場合に、他の情報処理装置100に対して検索要求を送信しないように制御する。通知部135は、検索制御部134が他の情報処理装置100に対して検索要求を送信しない場合に、第2検索結果が提供可能条件を満たさないことを示す通知を端末装置10に対して送信する。 Further, based on the estimation result of the estimation unit 133, the information processing apparatus 100 controls the search processing related to the search query by another information processing apparatus 100 different from the own apparatus, and to the terminal device 10 It further includes a notification unit 135 that transmits a notification. When the estimation unit 133 estimates that the provision availability condition is satisfied, the search control unit 134 transmits a search request to the other information processing device 100, and uses the partial area held by the other information processing device 100 as the other. The information processing apparatus 100 receives the search results of the search processing related to the search query executed by the information processing apparatus 100, and generates an aggregate search result that is a search result in which the search results of the own apparatus and the other information processing apparatuses 100 are aggregated. The notification unit 135 transmits a notification regarding the aggregate search result to the terminal device 10 when the search control unit 134 generates the aggregate search result. The search control unit 134 controls not to transmit a search request to other information processing apparatuses 100 when the estimation unit 133 estimates that the provision availability condition is not satisfied. If the search control unit 134 does not send a search request to the other information processing device 100, the notification unit 135 sends a notification to the terminal device 10 indicating that the second search result does not satisfy the provision availability condition. do.

これにより、情報処理システム1は、分散型の検索システムを構成する複数の情報処理装置100のうちサーチヘッドの一部領域における検索結果に基づいて、検索対象に関するデータベースの全領域における検索結果が利用者に対する提供可能条件を満たすと推定される場合には、サーチヘッド以外の他の情報処理装置100に対しても検索処理を実行させ、データベースの全領域における検索結果を集約した検索結果を利用者に対して適切に提供することができる。 As a result, the information processing system 1 uses the search results in the entire area of the database related to the search target based on the search results in a partial area of the search head among the plurality of information processing apparatuses 100 constituting the distributed search system. If it is presumed that the provision availability condition for the user is satisfied, the other information processing apparatus 100 other than the search head is also made to execute the search process, and the search result that aggregates the search results in all areas of the database is provided to the user. can be provided appropriately to

また、情報処理システム1は、分散型の検索システムを構成する複数の情報処理装置100のうちサーチヘッドの一部領域における検索結果に基づいて、検索対象に関するデータベースの全領域における検索結果が利用者に対する提供可能条件を満たさないと推定される場合には、サーチヘッドからサーチヘッド以外の他の情報処理装置100に対して検索要求を送信しないように制御するとともに、他の情報処理装置100からサーチヘッドに対して検索結果を送信させないように制御することができる。これにより、情報処理システム1は、利用者に対して適切な検索結果を提供できそうにない場合に、無駄なネットワークアクセスの発生による通信コストや無駄な検索処理の実行による計算コストを生じさせないようにすることができる。 Further, the information processing system 1 provides the user with the search results in the entire area of the database related to the search target based on the search results in a partial area of the search head among the plurality of information processing apparatuses 100 constituting the distributed search system. If it is estimated that the provision availability condition for the search head is not satisfied, the search head controls not to transmit a search request to information processing apparatuses 100 other than the search head, and the information processing apparatus 100 from the other information processing apparatus 100 searches It is possible to control the head not to send the search result. As a result, the information processing system 1 can prevent communication costs due to useless network access and calculation costs due to useless execution of search processing when it is unlikely that appropriate search results can be provided to the user. can be

また、検索部132は、推定部133が提供可能条件を満たさないと推定した場合に、検索クエリを変更した変更クエリを生成し、自装置が保持する一部領域について変更クエリに関する検索処理を実行する。推定部133は、検索部132が実行した検索処理の検索結果である第3検索結果に基づいて、データベースのうち一部領域よりも大きい領域について変更クエリに関する検索処理を実行した場合の検索結果である第4検索結果が利用者に対する提供可能条件を満たすか否かを推定する。 In addition, when the estimation unit 133 estimates that the provision availability condition is not satisfied, the search unit 132 generates a modified query by modifying the search query, and executes search processing related to the modified query for a partial area held by the own device. do. Based on the third search result, which is the search result of the search process executed by the search unit 132, the estimation unit 133 determines the search result when the search process for the change query is executed for an area larger than the partial area in the database. It is estimated whether or not a given fourth search result satisfies the provision availability condition for the user.

これにより、情報処理システム1は、利用者から受け付けた検索クエリに対して適切な検索結果を返すことできそうにない場合に、検索クエリを再調整して自動的に再検索を行うことができる。 As a result, the information processing system 1 can readjust the search query and automatically search again when it is unlikely that an appropriate search result can be returned for the search query received from the user. .

また、情報処理装置100は、端末装置10に対して通知を送信する通知部135をさらに備える。検索部132は、推定部133が提供可能条件を満たさないと推定した場合に、検索クエリを変更した変更クエリを生成する。通知部135は、検索部132が生成した変更クエリを端末装置10に対して送信する。 The information processing apparatus 100 further includes a notification unit 135 that transmits notifications to the terminal device 10 . When the estimating unit 133 estimates that the provisionable condition is not satisfied, the searching unit 132 generates a modified query obtained by changing the search query. The notification unit 135 transmits the change query generated by the search unit 132 to the terminal device 10 .

これにより、情報処理システム1は、利用者から受け付けた検索クエリに対して適切な検索結果を返すことできそうにない場合に、利用者に対して適切な検索結果を提供可能な変更クエリを通知して、再検索を促すことができる。 As a result, when the information processing system 1 is unlikely to return appropriate search results for a search query received from a user, the information processing system 1 notifies the user of a modified query that can provide appropriate search results. to prompt you to search again.

また、推定部133は、第1検索結果として、自装置が保持する一部領域に含まれる検索対象に関する検索対象データのうち検索クエリとマッチした検索対象データの件数である第1件数に基づいて、第2検索結果として、データベースのうち一部領域よりも大きい領域に含まれる検索対象データのうち検索クエリとマッチする検索対象データの件数である第2件数を推定し、推定した第2件数が第1閾値以上である場合は、第2検索結果が利用者に対する提供可能条件を満たすと推定し、推定した第2件数が第1閾値未満である場合は、第2検索結果が利用者に対する提供可能条件を満たさないと推定する。 In addition, the estimating unit 133, as the first search result, based on the first number, which is the number of search target data that match the search query among the search target data related to the search target included in the partial area held by the own device. , as a second search result, a second number of search target data matching the search query is estimated from among search target data contained in an area larger than a partial area of the database, and the estimated second number is If the number is equal to or greater than the first threshold, it is assumed that the second search result satisfies the condition for provision to the user, and if the estimated second number of cases is less than the first threshold, the second search result is provided to the user. Assume that the possible conditions are not satisfied.

これにより、情報処理システム1は、利用者に対して提供できる検索結果の件数が少なすぎる場合には、利用者に対して検索結果を提供しないようにすることができる。また、情報処理システム1は、利用者に対して提供できる検索結果の件数が許容範囲内である場合には、利用者に対して適切な検索結果を提供可能とすることができる。 Thereby, the information processing system 1 can avoid providing search results to the user when the number of search results that can be provided to the user is too small. Further, when the number of search results that can be provided to the user is within the allowable range, the information processing system 1 can provide appropriate search results to the user.

また、推定部133は、自装置が保持する一部領域に含まれる検索対象データの個数である第1個数と複数の情報処理装置100の装置個数とに基づいて、データベースのうち一部領域よりも大きい領域に含まれる検索対象データの個数である第2個数を推定し、第1個数に対する第2個数の割合に基づいて、第2件数を推定する。 In addition, the estimation unit 133 selects from the partial area of the database based on the first number, which is the number of pieces of search target data included in the partial area held by the own apparatus, and the number of the plurality of information processing apparatuses 100 . A second number, which is the number of pieces of search target data included in the region with the largest number, is estimated, and the second number of cases is estimated based on the ratio of the second number to the first number.

これにより、情報処理システム1は、各情報処理装置100が、データベース全体の検索対象データの個数の情報を取得せずとも、データベース全体の検索対象データの個数を大まかに推定することができる。したがって、情報処理システム1は、データベース全体の検索対象データの個数の情報を取得せずとも、適切に第2件数を推定することができる。 As a result, the information processing system 1 can roughly estimate the number of pieces of search target data in the entire database without each information processing device 100 acquiring information on the number of pieces of search target data in the entire database. Therefore, the information processing system 1 can appropriately estimate the second number of cases without acquiring information on the number of pieces of search target data in the entire database.

また、推定部133は、第1検索結果として、自装置が保持する一部領域について実行した検索処理における実行待ちプロセスの平均数である第1プロセス数に基づいて、第2検索結果として、データベースのうち一部領域よりも大きい領域について検索処理を実行した場合における実行待ちプロセスの平均数である第2プロセス数を推定し、推定した第2プロセス数が第2閾値未満である場合は、第2検索結果が利用者に対する提供可能条件を満たすと推定し、推定した第2プロセス数が第2閾値以上である場合は、第2検索結果が利用者に対する提供可能条件を満たさないと推定する。 Further, the estimating unit 133 obtains the database Estimate the second process number, which is the average number of processes waiting to be executed when the search process is executed for an area larger than the partial area, and if the estimated second process number is less than the second threshold, It is estimated that the second search result satisfies the conditions for provision to the user, and if the estimated number of second processes is equal to or greater than the second threshold, it is estimated that the second search result does not satisfy the conditions for provision to the user.

これにより、情報処理システム1は、利用者に対して検索結果を提供するまでに要する時間が長すぎる場合には、利用者に対して検索結果を提供しないようにすることができる。また、情報処理システム1は、利用者に対して検索結果を提供するまでに要する時間が許容範囲内である場合には、利用者に対して適切な検索結果を提供可能とすることができる。 Thereby, the information processing system 1 can avoid providing search results to the user when the time required to provide the search results to the user is too long. Further, the information processing system 1 can provide appropriate search results to the user when the time required to provide the search results to the user is within the allowable range.

また、推定部133は、第1検索結果として、自装置が保持する一部領域に含まれる検索対象に関する検索対象データと検索クエリとの適合度を示すスコアが高い方からN番目(Nは自然数)までのN個のスコアの平均である第1スコアに基づいて、第2検索結果として、データベースのうち一部領域よりも大きい領域に含まれる検索対象データと検索クエリとの適合度を示すスコアが高い方からM番目(Mは自然数、M>N)のスコアである第2スコアを推定し、推定した第2スコアが第3閾値以上である場合は、第2検索結果が利用者に対する提供可能条件を満たすと推定し、推定した第2スコアが第3閾値未満である場合は、第2検索結果が利用者に対する提供可能条件を満たさないと推定する。 In addition, the estimating unit 133 obtains the N-th highest score indicating the degree of matching between the search target data regarding the search target included in the partial area held by the own device and the search query as the first search result (N is a natural number). ), based on the first score, which is the average of N scores up to ), as the second search result, a score indicating the degree of matching between the search target data contained in an area larger than the partial area of the database and the search query Estimate the second score that is the M-th score from the highest (M is a natural number, M>N), and if the estimated second score is greater than or equal to the third threshold, the second search result is provided to the user It is estimated that the availability condition is satisfied, and if the estimated second score is less than the third threshold, it is estimated that the second search result does not satisfy the availability condition for the user.

これにより、情報処理システム1は、利用者に対して提供する検索結果が検索クエリとあまりマッチしていない(つまり、検索結果の質が低い)場合には、利用者に対して検索結果を提供しないようにすることができる。また、情報処理システム1は、利用者に対して提供する検索結果が検索クエリとよくマッチしている(つまり、検索結果の質が高い)場合には、利用者に対して適切な検索結果を提供可能とすることができる。 As a result, the information processing system 1 provides search results to the user when the search results provided to the user do not match the search query very well (that is, the quality of the search results is low). you can avoid it. In addition, when the search results provided to the user match well with the search query (that is, the search results are of high quality), the information processing system 1 provides appropriate search results to the user. can be provided.

また、推定部133は、第1検索結果として、自装置が保持する一部領域に含まれる検索対象に関する検索対象データと検索クエリとの適合度を示すスコアが高い方からL番目(Lは自然数)までのL個の検索対象に関する平均価格を算出し、算出した平均価格が第4閾値未満である場合は、第2検索結果が利用者に対する提供可能条件を満たすと推定し、算出した平均価格が第4閾値以上である場合は、第2検索結果が利用者に対する提供可能条件を満たさないと推定する。 Also, the estimating unit 133 selects the L-th highest score indicating the degree of matching between the search target data regarding the search target included in the partial area held by the own device and the search query as the first search result (L is a natural number). ), and if the calculated average price is less than the fourth threshold, it is assumed that the second search result satisfies the conditions for providing the user, and the calculated average price is equal to or greater than the fourth threshold value, it is estimated that the second search result does not satisfy the provision availability condition for the user.

これにより、情報処理システム1は、利用者に対して提供する検索結果に関する平均価格が高すぎる場合には、利用者に対して検索結果を提供しないようにすることができる。また、情報処理システム1は、利用者に対して提供する検索結果に関する平均価格が許容範囲内である場合には、利用者に対して適切な検索結果を提供可能とすることができる。 Thereby, the information processing system 1 can avoid providing the search results to the user when the average price of the search results provided to the user is too high. In addition, the information processing system 1 can provide appropriate search results to the user when the average price of the search results provided to the user is within the allowable range.

また、推定部133は、第1検索結果として、自装置が保持する一部領域に含まれる検索対象に関する検索対象データのうち検索クエリとマッチした検索対象データに対応する検索対象に設定された販売促進率が第5閾値以上である検索対象の数を算出し、算出した検索対象の数が第6閾値以上である場合は、第2検索結果が利用者に対する提供可能条件を満たすと推定し、算出した検索対象の数が第6閾値未満である場合は、第2検索結果が利用者に対する提供可能条件を満たさないと推定する。 In addition, the estimating unit 133 determines, as a first search result, sales data set as a search target corresponding to the search target data that matches the search query among the search target data related to the search target included in the partial area held by the own device. Calculate the number of search targets whose acceleration rate is equal to or higher than the fifth threshold, and if the calculated number of search targets is equal to or higher than the sixth threshold, presuming that the second search result satisfies the conditions for providing the user, If the calculated number of search targets is less than the sixth threshold, it is estimated that the second search result does not satisfy the provisionable condition for the user.

これにより、情報処理システム1は、利用者に対して提供する検索結果に設定された販売促進率の平均が低すぎる場合には、利用者に対して検索結果を提供しないようにすることができる。また、情報処理システム1は、利用者に対して提供する検索結果に設定された販売促進率の平均が許容範囲内である場合には、利用者に対して適切な検索結果を提供可能とすることができる。 As a result, the information processing system 1 can avoid providing the search results to the user when the average sales promotion rate set for the search results to be provided to the user is too low. . In addition, the information processing system 1 can provide appropriate search results to the user when the average sales promotion rate set for the search results to be provided to the user is within the allowable range. be able to.

また、検索対象は、電子商取引サービスの取引対象に関する商品コンテンツ、動画配信サービスの配信対象となる動画コンテンツ、または音楽配信サービスの配信対象となる音楽コンテンツである。 Also, the search target is product content related to the transaction target of the electronic commerce service, video content to be distributed by the video distribution service, or music content to be distributed by the music distribution service.

これにより、情報処理システム1は、電子商取引サービスの取引対象に関する商品コンテンツ、動画配信サービスの配信対象となる動画コンテンツ、または音楽配信サービスの配信対象となる音楽コンテンツに関する適切な検索結果を利用者に対して提供可能とすることができる。 As a result, the information processing system 1 provides the user with appropriate search results regarding product content related to transaction targets of the electronic commerce service, video content subject to distribution of the video distribution service, or music content subject to distribution of the music distribution service. can be provided to

〔7.ハードウェア構成〕
また、上述した実施形態に係る情報処理装置100は、例えば図6に示すような構成のコンピュータ1000によって実現される。以下、情報処理装置100を例に挙げて説明する。図6は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力I/F(Interface)1060、入力I/F1070、ネットワークI/F1080がバス1090により接続された形態を有する。
[7. Hardware configuration]
Also, the information processing apparatus 100 according to the above-described embodiment is implemented by a computer 1000 configured as shown in FIG. 6, for example. The information processing apparatus 100 will be described below as an example. FIG. 6 is a diagram illustrating an example of a hardware configuration; The computer 1000 is connected to an output device 1010 and an input device 1020, and an arithmetic device 1030, a primary storage device 1040, a secondary storage device 1050, an output I/F (Interface) 1060, an input I/F 1070, and a network I/F 1080 are buses. It has a form connected by 1090.

演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。演算装置1030は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等により実現される。 The arithmetic device 1030 operates based on programs stored in the primary storage device 1040 and the secondary storage device 1050, programs read from the input device 1020, and the like, and executes various processes. The arithmetic unit 1030 is implemented by, for example, a CPU (Central Processing Unit), MPU (Micro Processing Unit), ASIC (Application Specific Integrated Circuit), FPGA (Field Programmable Gate Array), or the like.

一次記憶装置1040は、RAM(Random Access Memory)等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等により実現される。二次記憶装置1050は、内蔵ストレージであってもよいし、外付けストレージであってもよい。また、二次記憶装置1050は、USBメモリやSD(Secure Digital)メモリカード等の取り外し可能な記憶媒体であってもよい。また、二次記憶装置1050は、クラウドストレージ(オンラインストレージ)やNAS(Network Attached Storage)、ファイルサーバ等であってもよい。 The primary storage device 1040 is a memory device such as a RAM (Random Access Memory) that temporarily stores data used for various calculations by the arithmetic device 1030 . The secondary storage device 1050 is a storage device in which data used for various calculations by the arithmetic device 1030 and various databases are registered. State Drive), flash memory, or the like. The secondary storage device 1050 may be an internal storage or an external storage. Also, the secondary storage device 1050 may be a removable storage medium such as a USB memory or an SD (Secure Digital) memory card. Also, the secondary storage device 1050 may be a cloud storage (online storage), a NAS (Network Attached Storage), a file server, or the like.

出力I/F1060は、ディスプレイ、プロジェクタ、及びプリンタ等といった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインターフェイスであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力I/F1070は、マウス、キーボード、キーパッド、ボタン、及びスキャナ等といった各種の入力装置1020から情報を受信するためのインターフェイスであり、例えば、USB等により実現される。 The output I/F 1060 is an interface for transmitting information to be output to the output device 1010 that outputs various information such as a display, a projector, and a printer. (Digital Visual Interface), HDMI (registered trademark) (High Definition Multimedia Interface), and other standardized connectors. Also, the input I/F 1070 is an interface for receiving information from various input devices 1020 such as a mouse, keyboard, keypad, buttons, scanner, etc., and is realized by, for example, USB.

また、出力I/F1060及び入力I/F1070はそれぞれ出力装置1010及び入力装置1020と無線で接続してもよい。すなわち、出力装置1010及び入力装置1020は、ワイヤレス機器であってもよい。 Also, the output I/F 1060 and the input I/F 1070 may be wirelessly connected to the output device 1010 and the input device 1020, respectively. That is, the output device 1010 and the input device 1020 may be wireless devices.

また、出力装置1010及び入力装置1020は、タッチパネルのように一体化していてもよい。この場合、出力I/F1060及び入力I/F1070も、入出力I/Fとして一体化していてもよい。 Also, the output device 1010 and the input device 1020 may be integrated like a touch panel. In this case, the output I/F 1060 and the input I/F 1070 may also be integrated as an input/output I/F.

なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、又は半導体メモリ等から情報を読み出す装置であってもよい。 Note that the input device 1020 includes, for example, optical recording media such as CDs (Compact Discs), DVDs (Digital Versatile Discs), PDs (Phase change rewritable discs), magneto-optical recording media such as MOs (Magneto-Optical discs), and tapes. It may be a device that reads information from a medium, a magnetic recording medium, a semiconductor memory, or the like.

ネットワークI/F1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。 Network I/F 1080 receives data from other devices via network N and sends the data to arithmetic device 1030, and also transmits data generated by arithmetic device 1030 via network N to other devices.

演算装置1030は、出力I/F1060や入力I/F1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。 Arithmetic device 1030 controls output device 1010 and input device 1020 via output I/F 1060 and input I/F 1070 . For example, arithmetic device 1030 loads a program from input device 1020 or secondary storage device 1050 onto primary storage device 1040 and executes the loaded program.

例えば、コンピュータ1000が情報処理装置100として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部130の機能を実現する。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器から取得したプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行してもよい。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器と連携し、プログラムの機能やデータ等を他の機器の他のプログラムから呼び出して利用してもよい。 For example, when the computer 1000 functions as the information processing device 100 , the arithmetic device 1030 of the computer 1000 implements the functions of the control unit 130 by executing a program loaded on the primary storage device 1040 . Arithmetic device 1030 of computer 1000 may load a program acquired from another device via network I/F 1080 onto primary storage device 1040 and execute the loaded program. Further, the arithmetic unit 1030 of the computer 1000 may cooperate with another device via the network I/F 1080, and call functions, data, etc. of the program from another program of the other device for use.

〔8.その他〕
以上、本願の実施形態を説明したが、これら実施形態の内容により本発明が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能である。さらに、前述した実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換又は変更を行うことができる。
[8. others〕
Although the embodiments of the present application have been described above, the present invention is not limited by the contents of these embodiments. In addition, the components described above include those that can be easily assumed by those skilled in the art, those that are substantially the same, and those within the so-called equivalent range. Furthermore, the components described above can be combined as appropriate. Furthermore, various omissions, replacements, or modifications of components can be made without departing from the gist of the above-described embodiments.

また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。 Further, among the processes described in the above embodiments, all or part of the processes described as being automatically performed can be manually performed, or the processes described as being performed manually can be performed manually. All or part of this can also be done automatically by known methods. In addition, information including processing procedures, specific names, various data and parameters shown in the above documents and drawings can be arbitrarily changed unless otherwise specified. For example, the various information shown in each drawing is not limited to the illustrated information.

また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。 Also, each component of each device illustrated is functionally conceptual, and does not necessarily need to be physically configured as illustrated. In other words, the specific form of distribution and integration of each device is not limited to the illustrated one, and all or part of them can be functionally or physically distributed and integrated in arbitrary units according to various loads and usage conditions. Can be integrated and configured.

例えば、上述した情報処理装置100は、複数のサーバコンピュータで実現してもよく、また、機能によっては外部のプラットホーム等をAPI(Application Programming Interface)やネットワークコンピューティング等で呼び出して実現するなど、構成は柔軟に変更できる。 For example, the information processing apparatus 100 described above may be implemented by a plurality of server computers, and depending on the function, may be implemented by calling an external platform or the like using an API (Application Programming Interface), network computing, or the like. can be changed flexibly.

また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。 Also, the above-described embodiments and modifications can be appropriately combined within a range that does not contradict the processing contents.

また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、検索部は、検索手段や検索回路に読み替えることができる。 Also, the above-mentioned "section, module, unit" can be read as "means" or "circuit". For example, the search unit can be read as search means or a search circuit.

1 情報処理システム
10 端末装置
100 情報処理装置
110 通信部
120 記憶部
121 一部領域データベース
130 制御部
131 受信部
132 検索部
133 推定部
134 検索制御部
135 通知部
1 information processing system 10 terminal device 100 information processing device 110 communication unit 120 storage unit 121 partial area database 130 control unit 131 reception unit 132 search unit 133 estimation unit 134 search control unit 135 notification unit

Claims (12)

利用者によって利用される端末装置と通信可能な複数の情報処理装置を備え、当該情報処理装置のそれぞれが検索対象に関するデータベースの一部領域を保持する情報処理システムであって、
前記情報処理装置は、
前記端末装置から検索クエリに関する検索要求を受信する受信部と、
前記受信部が検索要求を受信した場合に、自装置が保持する前記一部領域について前記検索クエリに関する検索処理を実行する検索部と、
前記検索部が実行した検索処理の検索結果である第1検索結果に基づいて、前記データベースのうち前記一部領域よりも大きい領域について前記検索クエリに関する検索処理を実行した場合の検索結果である第2検索結果が前記利用者に対する提供可能条件を満たすか否かを推定する推定部と、
を備えることを特徴とする情報処理システム。
An information processing system comprising a plurality of information processing devices capable of communicating with a terminal device used by a user, each of the information processing devices holding a partial area of a database related to a search target,
The information processing device is
a receiving unit that receives a search request related to a search query from the terminal device;
a search unit that, when the receiving unit receives a search request, executes a search process related to the search query for the partial area held by the device;
A first search result, which is a search result obtained by executing a search process related to the search query for an area larger than the partial area in the database, based on a first search result, which is a search result of the search process performed by the search unit. 2 an estimation unit for estimating whether or not the search result satisfies the provision availability condition for the user;
An information processing system comprising:
前記推定部による推定結果に基づいて、自装置とは異なる他の情報処理装置による前記検索クエリに関する検索処理を制御する検索制御部と、
前記端末装置に対して通知を送信する通知部と、
をさらに備え、
前記検索制御部は、前記推定部が前記提供可能条件を満たすと推定した場合に、前記他の情報処理装置に対して前記検索要求を送信し、当該他の情報処理装置が保持する前記一部領域について当該他の情報処理装置が実行した前記検索クエリに関する検索処理の検索結果を受信し、当該自装置および当該他の情報処理装置による検索結果を集約した検索結果である集約検索結果を生成し、
前記通知部は、
前記検索制御部が集約検索結果を生成した場合に、前記集約検索結果に関する通知を前記端末装置に対して送信し、
前記検索制御部は、
前記推定部が前記提供可能条件を満たさないと推定した場合に、前記他の情報処理装置に対して前記検索要求を送信しないように制御し、
前記通知部は、
前記検索制御部が前記他の情報処理装置に対して前記検索要求を送信しない場合に、前記第2検索結果が前記提供可能条件を満たさないことを示す通知を前記端末装置に対して送信する、
ことを特徴とする請求項1に記載の情報処理システム。
A search control unit that controls search processing for the search query by another information processing device different from the own device based on the estimation result by the estimation unit;
a notification unit that transmits a notification to the terminal device;
further comprising
The search control unit transmits the search request to the other information processing device when the estimation unit estimates that the provision availability condition is satisfied, and the part held by the other information processing device is configured to transmit the search request to the other information processing device. receiving the search results of the search processing related to the search query executed by the other information processing device for the area, and generating an aggregated search result that is a search result obtained by aggregating the search results of the own device and the other information processing device; ,
The notification unit
when the search control unit generates an aggregated search result, sending a notification regarding the aggregated search result to the terminal device;
The search control unit
controlling not to transmit the search request to the other information processing device when the estimation unit estimates that the provision availability condition is not satisfied;
The notification unit
When the search control unit does not send the search request to the other information processing device, sending a notification to the terminal device indicating that the second search result does not satisfy the provision availability condition;
The information processing system according to claim 1, characterized by:
前記検索部は、
前記推定部が前記提供可能条件を満たさないと推定した場合に、前記検索クエリを変更した変更クエリを生成し、自装置が保持する前記一部領域について当該変更クエリに関する検索処理を実行し、
前記推定部は、
前記検索部が実行した検索処理の検索結果である第3検索結果に基づいて、前記データベースのうち前記一部領域よりも大きい領域について前記変更クエリに関する検索処理を実行した場合の検索結果である第4検索結果が前記利用者に対する提供可能条件を満たすか否かを推定する、
ことを特徴とする請求項1または2に記載の情報処理システム。
The search unit is
when the estimation unit estimates that the provision availability condition is not satisfied, generates a modified query by modifying the search query, and executes a search process related to the modified query for the partial area held by the own device;
The estimation unit
Based on a third search result, which is a search result of the search process executed by the search unit, a search result obtained when the search process related to the change query is executed for an area larger than the partial area in the database. 4 Estimate whether the search result satisfies the provision availability condition for the user,
3. The information processing system according to claim 1, wherein:
前記端末装置に対して通知を送信する通知部をさらに備え、
前記検索部は、
前記推定部が前記提供可能条件を満たさないと推定した場合に、前記検索クエリを変更した変更クエリを生成し、
前記通知部は、
前記検索部が生成した変更クエリを前記端末装置に対して送信する、
ことを特徴とする請求項1~3のいずれか1つに記載の情報処理システム。
Further comprising a notification unit that transmits a notification to the terminal device,
The search unit is
generating a modified query obtained by modifying the search query when the estimation unit estimates that the provisionable condition is not satisfied;
The notification unit
transmitting the modified query generated by the search unit to the terminal device;
4. The information processing system according to any one of claims 1 to 3, characterized by:
前記推定部は、
前記第1検索結果として、自装置が保持する前記一部領域に含まれる前記検索対象に関する検索対象データのうち前記検索クエリとマッチした当該検索対象データの件数である第1件数に基づいて、前記第2検索結果として、前記データベースのうち前記一部領域よりも大きい領域に含まれる前記検索対象データのうち前記検索クエリとマッチする当該検索対象データの件数である第2件数を推定し、
推定した当該第2件数が第1閾値以上である場合は、当該第2検索結果が前記利用者に対する提供可能条件を満たすと推定し、
推定した当該第2件数が第1閾値未満である場合は、当該第2検索結果が前記利用者に対する提供可能条件を満たさないと推定する、
ことを特徴とする請求項1~4のいずれか1つに記載の情報処理システム。
The estimation unit
As the first search result, based on the first number, which is the number of search target data matching the search query among the search target data related to the search target included in the partial area held by the own device, estimating, as a second search result, a second number that is the number of pieces of search target data that match the search query among the search target data included in an area larger than the partial area of the database;
If the estimated second number of cases is equal to or greater than the first threshold, it is estimated that the second search result satisfies the provision availability condition for the user,
If the estimated second number is less than the first threshold, it is estimated that the second search result does not satisfy the provisionable condition for the user,
The information processing system according to any one of claims 1 to 4, characterized in that:
前記推定部は、
自装置が保持する前記一部領域に含まれる前記検索対象データの個数である第1個数と前記複数の情報処理装置の装置個数とに基づいて、前記データベースのうち前記一部領域よりも大きい領域に含まれる前記検索対象データの個数である第2個数を推定し、当該第1個数に対する当該第2個数の割合に基づいて、前記第2件数を推定する、
ことを特徴とする請求項5に記載の情報処理システム。
The estimation unit
an area of the database that is larger than the partial area based on a first number that is the number of pieces of the search target data contained in the partial area held by the own apparatus and the number of apparatuses of the plurality of information processing apparatuses; estimating a second number that is the number of the search target data contained in, and estimating the second number based on the ratio of the second number to the first number;
6. The information processing system according to claim 5, characterized by:
前記推定部は、
前記第1検索結果として、自装置が保持する前記一部領域について実行した前記検索処理における実行待ちプロセスの平均数である第1プロセス数に基づいて、前記第2検索結果として、前記データベースのうち前記一部領域よりも大きい領域について前記検索処理を実行した場合における実行待ちプロセスの平均数である第2プロセス数を推定し、
推定した当該第2プロセス数が第2閾値未満である場合は、当該第2検索結果が前記利用者に対する提供可能条件を満たすと推定し、
推定した当該第2プロセス数が第2閾値以上である場合は、当該第2検索結果が前記利用者に対する提供可能条件を満たさないと推定する、
ことを特徴とする請求項1~6のいずれか1つに記載の情報処理システム。
The estimation unit
out of the database as the second search result, based on the first process number, which is the average number of processes waiting to be executed in the search process executed for the partial area held by the own device, as the first search result; estimating a second process number, which is the average number of processes waiting to be executed when the search process is executed for an area larger than the partial area;
when the estimated number of second processes is less than a second threshold, estimating that the second search result satisfies the provision availability condition for the user;
If the estimated number of second processes is equal to or greater than a second threshold, it is estimated that the second search result does not satisfy the conditions for providing the user.
The information processing system according to any one of claims 1 to 6, characterized in that:
前記推定部は、
前記第1検索結果として、自装置が保持する前記一部領域に含まれる前記検索対象に関する検索対象データと前記検索クエリとの適合度を示すスコアが高い方からN番目(Nは自然数)までのN個のスコアの平均である第1スコアに基づいて、前記第2検索結果として、前記データベースのうち前記一部領域よりも大きい領域に含まれる前記検索対象データと前記検索クエリとの適合度を示すスコアが高い方からM番目(Mは自然数、M>N)のスコアである第2スコアを推定し、
推定した当該第2スコアが第3閾値以上である場合は、当該第2検索結果が前記利用者に対する提供可能条件を満たすと推定し、
推定した当該第2スコアが第3閾値未満である場合は、当該第2検索結果が前記利用者に対する提供可能条件を満たさないと推定する、
ことを特徴とする請求項1~7のいずれか1つに記載の情報処理システム。
The estimation unit
As the first search result, up to the Nth (N is a natural number) from the highest score indicating the degree of matching between the search target data related to the search target contained in the partial area held by the own device and the search query Based on a first score that is an average of N scores, a degree of matching between the search target data included in an area larger than the partial area of the database and the search query is calculated as the second search result. Estimate a second score that is the M-th score (M is a natural number, M>N) from the one with the highest score,
If the estimated second score is equal to or higher than the third threshold, it is estimated that the second search result satisfies the provision availability condition for the user,
If the estimated second score is less than the third threshold, it is estimated that the second search result does not satisfy the provisionable condition for the user,
The information processing system according to any one of claims 1 to 7, characterized by:
前記推定部は、
前記第1検索結果として、自装置が保持する前記一部領域に含まれる前記検索対象に関する検索対象データと前記検索クエリとの適合度を示すスコアが高い方からL番目(Lは自然数)までのL個の前記検索対象に関する平均価格を算出し、
算出した当該平均価格が第4閾値未満である場合は、当該第2検索結果が前記利用者に対する提供可能条件を満たすと推定し、
算出した当該平均価格が第4閾値以上である場合は、当該第2検索結果が前記利用者に対する提供可能条件を満たさないと推定する、
ことを特徴とする請求項1~8のいずれか1つに記載の情報処理システム。
The estimation unit
As the first search result, the Lth (L is a natural number) from the highest score indicating the degree of matching between the search target data related to the search target contained in the partial area held by the own device and the search query calculating an average price for the L search targets;
If the calculated average price is less than the fourth threshold, presuming that the second search result satisfies the provision availability condition for the user,
If the calculated average price is equal to or higher than the fourth threshold, it is estimated that the second search result does not satisfy the provisionable condition for the user,
The information processing system according to any one of claims 1 to 8, characterized by:
前記推定部は、
前記第1検索結果として、自装置が保持する前記一部領域に含まれる前記検索対象に関する検索対象データのうち前記検索クエリとマッチした当該検索対象データに対応する当該検索対象に設定された販売促進率が第5閾値以上である当該検索対象の数を算出し、
算出した当該検索対象の数が第6閾値以上である場合は、当該第2検索結果が前記利用者に対する提供可能条件を満たすと推定し、
算出した当該検索対象の数が第6閾値未満である場合は、当該第2検索結果が前記利用者に対する提供可能条件を満たさないと推定する、
ことを特徴とする請求項1~9のいずれか1つに記載の情報処理システム。
The estimation unit
Sales promotion set for the search target corresponding to the search target data matching the search query among the search target data related to the search target included in the partial area held by the own device as the first search result Calculate the number of search targets whose ratio is equal to or higher than the fifth threshold,
If the calculated number of search targets is equal to or greater than a sixth threshold, presuming that the second search result satisfies the provision availability condition for the user,
If the calculated number of search targets is less than the sixth threshold, it is estimated that the second search result does not satisfy the conditions for providing the user,
10. The information processing system according to any one of claims 1 to 9, characterized by:
前記検索対象は、電子商取引サービスの取引対象に関する商品コンテンツ、動画配信サービスの配信対象となる動画コンテンツ、または音楽配信サービスの配信対象となる音楽コンテンツである、
ことを特徴とする請求項1~10のいずれか1つに記載の情報処理システム。
The search target is product content related to a transaction target of an electronic commerce service, video content to be distributed by a video distribution service, or music content to be distributed by a music distribution service.
11. The information processing system according to any one of claims 1 to 10, characterized by:
利用者によって利用される端末装置と通信可能な複数の情報処理装置を備え、当該情報処理装置のそれぞれが検索対象に関するデータベースの一部領域を保持する情報処理システムが実行する情報処理方法であって、
前記情報処理方法は、
前記端末装置から検索クエリに関する検索要求を受信する受信工程と、
前記受信工程が検索要求を受信した場合に、自装置が保持する前記一部領域について前記検索クエリに関する検索処理を実行する検索工程と、
前記検索工程が実行した検索処理の検索結果である第1検索結果に基づいて、前記データベースのうち前記一部領域よりも大きい領域について前記検索クエリに関する検索処理を実行した場合の検索結果である第2検索結果が前記利用者に対する提供可能条件を満たすか否かを推定する推定工程と、
を含むことを特徴とする情報処理方法。
An information processing method executed by an information processing system comprising a plurality of information processing devices capable of communicating with a terminal device used by a user, each of the information processing devices holding a partial area of a database relating to a search target, ,
The information processing method includes:
a receiving step of receiving a search request for a search query from the terminal device;
a search step of executing a search process related to the search query for the partial area held by the device when the receiving step receives a search request;
Based on the first search result, which is the search result of the search process executed in the search step, the second search result, which is the search result when the search process for the search query is executed for an area larger than the partial area in the database. 2 an estimating step of estimating whether or not the search result satisfies the provision availability condition for the user;
An information processing method comprising:
JP2021117981A 2021-07-16 2021-07-16 Information processing system and information processing method Active JP7326387B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021117981A JP7326387B2 (en) 2021-07-16 2021-07-16 Information processing system and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021117981A JP7326387B2 (en) 2021-07-16 2021-07-16 Information processing system and information processing method

Publications (2)

Publication Number Publication Date
JP2023013646A true JP2023013646A (en) 2023-01-26
JP7326387B2 JP7326387B2 (en) 2023-08-15

Family

ID=85128999

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021117981A Active JP7326387B2 (en) 2021-07-16 2021-07-16 Information processing system and information processing method

Country Status (1)

Country Link
JP (1) JP7326387B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09153058A (en) * 1995-11-30 1997-06-10 N T T Data Tsushin Kk Data base selection system
US20020174093A1 (en) * 2001-05-17 2002-11-21 Fabio Casati Method of identifying and analyzing business processes from workflow audit logs
JP2005115514A (en) * 2003-10-06 2005-04-28 Ibm Japan Ltd Database search system, search method thereof, and program
JP2006040081A (en) * 2004-07-29 2006-02-09 Mitsubishi Electric Corp Information search apparatus, database search preprocessing circuit, and information search method
JP2016194865A (en) * 2015-04-01 2016-11-17 富士通株式会社 Search result prediction program, search result prediction method, and search result prediction apparatus

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09153058A (en) * 1995-11-30 1997-06-10 N T T Data Tsushin Kk Data base selection system
US20020174093A1 (en) * 2001-05-17 2002-11-21 Fabio Casati Method of identifying and analyzing business processes from workflow audit logs
JP2005115514A (en) * 2003-10-06 2005-04-28 Ibm Japan Ltd Database search system, search method thereof, and program
JP2006040081A (en) * 2004-07-29 2006-02-09 Mitsubishi Electric Corp Information search apparatus, database search preprocessing circuit, and information search method
JP2016194865A (en) * 2015-04-01 2016-11-17 富士通株式会社 Search result prediction program, search result prediction method, and search result prediction apparatus

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
田辺 雅則、外2名: "異種分散環境におけるエージェントを用いた情報検索方式", アドバンスト・データベースシステム・シンポジウム ’95, vol. 第95巻,第9号, JPN6023016464, 5 December 1995 (1995-12-05), JP, pages 215 - 222, ISSN: 0005045324 *

Also Published As

Publication number Publication date
JP7326387B2 (en) 2023-08-15

Similar Documents

Publication Publication Date Title
EP3455746B1 (en) Distributed data access control
CN106294497B (en) Information recommendation method and device
JP6587725B1 (en) Information processing program, information processing apparatus, and information processing method
US8799467B2 (en) Storage and communication de-duplication
EP2590130A1 (en) Similarity and relatedness of content
US20230388388A1 (en) Methods and apparatus for user identification via community detection
WO2024193582A9 (en) Data query method and apparatus, and electronic device
JP7078561B2 (en) Association device, association method and association program
US10666707B2 (en) Nonconsecutive file downloading
US9912746B2 (en) Content distribution system
CN113747200A (en) Video processing method and device, electronic equipment and readable storage medium
JP7326387B2 (en) Information processing system and information processing method
WO2016191053A1 (en) Predictive peer determination for peer-to-peer digital content download
WO2024193586A1 (en) Information query method and apparatus, and electronic device
WO2024240020A1 (en) Multimedia stream rearrangement method and apparatus, medium and electronic device
CN116955271A (en) Method and device for storing data copy, electronic equipment and storage medium
JP7096093B2 (en) Learning equipment, learning methods and learning programs
US20150379522A1 (en) Modifiable sharing of received content
JP6548621B2 (en) Delivery device, delivery method and delivery program
JP7320659B1 (en) Information processing system and information processing method
JP7443432B2 (en) Determination device, determination method and determination program
JP7231026B2 (en) Device estimation device, device estimation method, and device estimation program
JP2018036885A (en) Information processing apparatus, information processing system, information processing program, and information processing method
JP2023158742A (en) Information processing device, information processing method, and information processing program
JP2023104738A (en) Provision device, provision method and provision program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230425

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230626

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230711

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230802

R150 Certificate of patent or registration of utility model

Ref document number: 7326387

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350