JP2023013646A - Information processing system and information processing method - Google Patents
Information processing system and information processing method Download PDFInfo
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
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.
しかしながら、上記の従来技術では、動的なシャーディングが開示されているに過ぎず、利用者に対して適切な検索結果を提供可能とすることができるとは言えない。 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.
以下に、本願に係る情報処理システム及び情報処理方法を実施するための形態(以下、「実施形態」と記載する)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理システム及び情報処理方法が限定されるものではない。また、以下の実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。 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
また、以下では、複数の情報処理装置100を互いに区別する場合に、各情報処理装置100を情報処理装置100-1、100-2、…等として説明する。また、以下では、情報処理装置100-1、100-2、…等を互いに区別する必要の無い場合には、符号のうちハイフンから後ろを省略することにより、これらを情報処理装置100と総称する。
Further, hereinafter, when distinguishing the plurality of
端末装置10は、利用者によって利用される情報処理装置である。端末装置10は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップ型PCや、携帯電話機や、PDA(Personal Digital Assistant)や、ヘッドマウントディスプレイ等である。
The
また、端末装置10は、利用者の操作に応じて、検索クエリの入力を受け付ける。例えば、端末装置10は、電子商取引サービスが取り扱う取引対象を検索するための検索クエリの入力を受け付ける。続いて、端末装置10は、利用者の操作に応じて、複数の情報処理装置100の少なくともいずれか1つに対して検索クエリに関する検索要求を送信する。例えば、端末装置10は、複数の情報処理装置100の中から利用者が選択した情報処理装置100またはロードバランサが選択した情報処理装置100に対して検索要求を送信する。
In addition, the
複数の情報処理装置100それぞれは、検索対象に関するデータベースを分散保持する。例えば、情報処理装置100は、検索対象に関するデータベースの一例として、電子商取引サービスが取り扱う取引対象に関する商品コンテンツに関するデータベースを分散保持する。ここで、検索対象に関するデータベースをレコード単位で分割(水平分割)したもの(データベースの一部領域)を「シャード」と呼ぶ。また、同一シャードの複製を「レプリカ」と呼ぶ。情報処理システム1は、冗長性を担保するため、各シャードについて少なくとも1つのレプリカを備える。
Each of the plurality of
例えば、検索対象に関するデータベースが、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
また、冗長性を担保するため、シャード#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,
端末装置10から検索クエリに関する検索要求を受信した情報処理装置100を「サーチヘッド」と呼ぶ。サーチヘッドは、端末装置10から検索クエリに関する検索要求を受信した場合に、検索クエリに関する検索処理を実行する。また、サーチヘッドは、後述する図2及び図3に示す処理を実行する情報処理装置である。
The
なお、以下では、情報処理システム1が備える複数の情報処理装置100のうち、サーチヘッドのことを「情報処理装置100」、サーチヘッド以外の情報処理装置100のことを「他の情報処理装置100」と記載する。
Note that, hereinafter, among the plurality of
また、以下では、検索対象に関するデータベースの一部領域のことを「一部領域」と略して記載する場合がある。これに対し、検索対象に関するデータベースの全領域のことを「全領域」と略して記載する場合がある。 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
また、図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
図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
情報処理装置100-1は、端末装置10から検索要求を受信する。情報処理装置100-1は、検索要求を受信した場合に、自装置が保持するシャード#0について検索クエリに関する検索処理を実行し、検索クエリとマッチした検索対象データの件数(第1件数)として例えば3件を取得する(ステップS2)。
The information processing device 100-1 receives a search request from the
続いて、情報処理装置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
続いて、情報処理装置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
図2で述べたように、情報処理装置100は、サーチヘッドが保持する検索対象に関するデータベースの一部領域(図2の例では、シャード#0)について検索クエリに関する検索処理を実行し、検索クエリとマッチした検索対象データの件数(第1件数)を取得する。続いて、情報処理装置100は、検索対象に関するデータベースの全領域に含まれる検索対象データのうち検索クエリとマッチする検索対象データの件数(第2件数)を推定する。続いて、情報処理装置100は、第2件数が第1閾値未満である場合には、ゼロマッチであると判定して、他の情報処理装置100に対して検索要求を送信しないように制御する。このように、情報処理システム1は、サーチヘッドのシャードにおける検索結果に基づいて、全シャードにおける検索結果がゼロマッチであると推定される場合には、サーチヘッドからサーチヘッド以外の他の情報処理装置100に対して検索要求を送信しないように制御するとともに、他の情報処理装置100からサーチヘッドに対して検索結果を送信させないように制御することができる。これにより、情報処理システム1は、利用者に対して適切な検索結果を提供できそうにない場合に、無駄なネットワークアクセスの発生による通信コストや無駄な検索処理の実行による計算コストを生じさせないようにすることができる。
As described with reference to FIG. 2, the
図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
続いて、情報処理装置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
情報処理装置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
図3で述べたように、情報処理装置100は、サーチヘッドが保持する検索対象に関するデータベースの一部領域(図3の例では、シャード#0)について検索クエリに関する検索処理を実行し、検索クエリとマッチした検索対象データの件数(第1件数)を取得する。続いて、情報処理装置100は、検索対象に関するデータベースの全領域に含まれる検索対象データのうち検索クエリとマッチする検索対象データの件数(第2件数)を推定する。続いて、情報処理装置100は、第2件数が第1閾値以上である場合には、仮に全シャードについて検索処理を実行した場合であっても、利用者に対して提供できる検索結果の件数が十分あるため、検索結果が利用者に対する提供可能条件を満たすと判定する。このように、情報処理システム1は、サーチヘッドのシャードにおける検索結果に基づいて、全シャードにおける検索結果が利用者に対する提供可能条件を満たすと推定される場合には、全シャードにおける検索結果を集約した検索結果を利用者に対して適切に提供することができる。
As described with reference to FIG. 3, the
〔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;
(通信部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
(記憶部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
(一部領域データベース121)
一部領域データベース121は、検索対象に関するデータベースをレコード単位で分割(水平分割)したもの(データベースの一部領域)を格納する。例えば、一部領域データベース121は、検索対象に関するデータベースのシャードまたはレプリカである。
(Partial area database 121)
The
(制御部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
図4に示すように、制御部130は、受信部131と、検索部132と、推定部133と、検索制御部134と、通知部135を有し、以下に説明する情報処理の作用を実現または実行する。なお、制御部130の内部構成は、図4に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
As shown in FIG. 4, the
(受信部131)
受信部131は、端末装置10から検索クエリに関する検索要求を受信する。例えば、受信部131は、電子商取引サービスが取り扱う取引対象を検索するための検索クエリに関する検索要求を受信する。
(Receiver 131)
The receiving unit 131 receives a search request regarding a search query from the
(検索部132)
検索部132は、受信部131が検索要求を受信した場合に、自装置が保持する一部領域について検索クエリに関する検索処理を実行する。例えば、検索部132は、自装置が保持するシャードまたはレプリカに含まれる検索対象データについて検索クエリに関する検索処理を実行する。続いて、検索部132は、実行した検索処理の検索結果である第1検索結果を取得する。例えば、検索部132は、第1検索結果の一例として、自装置が保持するシャードまたはレプリカに含まれる検索対象データのうち検索クエリとマッチした検索対象データの件数である第1件数を取得する。
(Search unit 132)
When the receiving unit 131 receives a search request, the searching
(推定部133)
推定部133は、検索部132が実行した検索処理の検索結果である第1検索結果に基づいて、データベースのうち一部領域よりも大きい領域について検索クエリに関する検索処理を実行した場合の検索結果である第2検索結果を推定する。具体的には、推定部133は、データベースのうち一部領域よりも大きい領域の一例として、データベースの全領域について検索クエリに関する検索処理を実行した場合の検索結果である第2検索結果を推定する。
(Estimation unit 133)
The estimating
より具体的には、推定部133は、第2検索結果の一例として、データベースの全領域に含まれる検索対象データのうち検索クエリとマッチする検索対象データの件数である第2件数を推定する。例えば、推定部133は、自装置が保持するシャードまたはレプリカに含まれる検索対象データの個数である第1個数と複数の情報処理装置100の装置個数とに基づいて、データベースの全領域に含まれる検索対象データの個数である第2個数を推定する。続いて、推定部133は、第1個数に対する推定した第2個数の割合に基づいて、第2件数を推定する。例えば、推定部133は、第1件数に対する第2件数の割合は、第1個数に対する第2個数の割合と同じであると推定する。続いて、推定部133は、第1個数に対する第2個数の割合と第1件数とに基づいて、第2件数を推定する。
More specifically, the
続いて、推定部133は、推定した第2件数が第1閾値以上であるか否かを判定する。推定部133は、推定した第2件数が第1閾値以上であると判定した場合は、第2検索結果が利用者に対する提供可能条件を満たすと推定する。一方、推定部133は、推定した第2件数が第1閾値未満であると判定した場合は、第2検索結果が利用者に対する提供可能条件を満たさないと推定する。
Subsequently, the
(検索制御部134)
検索制御部134は、推定部133による推定結果に基づいて、自装置とは異なる他の情報処理装置100による検索クエリに関する検索処理を制御する。具体的には、検索制御部134は、推定部133が提供可能条件を満たすと推定した場合には、他の情報処理装置100に対して検索要求を送信する。例えば、検索制御部134は、検索部132による検索処理の途中であっても、推定部133が提供可能条件を満たすと推定した場合には、他の情報処理装置100に対して検索要求を送信する。続いて、検索制御部134は、他の情報処理装置100が保持する一部領域について他の情報処理装置100が実行した検索クエリに関する検索処理の検索結果を受信する。続いて、検索制御部134は、自装置および他の情報処理装置100による検索結果を集約した検索結果である集約検索結果を生成する。
(Search control unit 134)
The
一方、検索制御部134は、推定部133が提供可能条件を満たさないと推定した場合には、他の情報処理装置100に対して検索要求を送信しないように制御する。
On the other hand, when the
(通知部135)
通知部135は、端末装置10に対して通知を送信する。具体的には、通知部135は、検索制御部134が集約検索結果を生成した場合に、集約検索結果に関する通知を端末装置10に対して送信する。
(Notification unit 135)
The notification unit 135 transmits notification to the
また、通知部135は、検索制御部134が他の情報処理装置100に対して検索要求を送信しない場合に、第2検索結果が提供可能条件を満たさないことを示す通知を端末装置10に対して送信する。
In addition, when the
〔4.処理手順〕
図5は、実施形態に係る情報処理システム1による情報処理手順を示すフローチャートである。図5に示すように、情報処理装置100の受信部131は、端末装置10から検索クエリに関する検索要求を受信する(ステップS101)。
[4. Processing procedure]
FIG. 5 is a flowchart showing an information processing procedure by the
情報処理装置100の検索部132は、受信部131が検索要求を受信した場合に、自装置が保持するデータベースの一部領域(以下、一部領域と記載する)について検索クエリに関する検索処理を実行する。続いて、検索部132は、一部領域について検索クエリに関する検索処理を実行した検索結果(第1検索結果)を取得する(ステップS102)。
When the receiving unit 131 receives a search request, the searching
情報処理装置100の推定部133は、検索部132が取得した第1検索結果に基づいて、データベースの全領域について検索クエリに関する検索処理を実行した場合の検索結果(第2検索結果)を推定する(ステップS103)。続いて、推定部133は、第2検索結果が利用者に対する提供可能条件を満たすか否かを判定する(ステップS104)。
The estimating
情報処理装置100の検索制御部134は、推定部133が提供可能条件を満たすと判定した場合に(ステップS104;Yes)、自装置とは異なる他の情報処理装置100に対して検索クエリに関する検索要求を送信する(ステップS105)。他の情報処理装置100は、情報処理装置100から検索要求を受信した場合に、自装置が保持する一部領域について検索クエリに関する検索処理を実行する。続いて、他の情報処理装置100は、一部領域について検索クエリに関する検索処理を実行した検索結果を情報処理装置100に対して送信する。
When the
情報処理装置100の検索制御部134は、他の情報処理装置100が保持する一部領域について他の情報処理装置100が実行した検索クエリに関する検索処理の検索結果を他の情報処理装置100から取得する(ステップS106)。続いて、検索制御部134は、自装置および他の情報処理装置100による検索結果を集約した検索結果(集約検索結果)を生成する(ステップS107)。
The
情報処理装置100の通知部135は、検索制御部134が集約検索結果を生成した場合に、集約検索結果に関する通知を端末装置10に対して送信する(ステップS108)。
The notification unit 135 of the
一方、情報処理装置100の検索制御部134は、推定部133が提供可能条件を満たさないと推定した場合に(ステップS104;No)、他の情報処理装置100に対して検索要求を送信しないように制御する(ステップS109)。
On the other hand, when the
情報処理装置100の通知部135は、検索制御部134が他の情報処理装置100に対して検索要求を送信しない場合に、第2検索結果が提供可能条件を満たさないことを示す通知を端末装置10に対して送信する(ステップS110)。
If the
〔5.変形例〕
上述した情報処理システム1は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、実施形態の変形例について説明する。
[5. Modification]
The
〔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
〔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
〔5‐3‐1.実行待ちプロセスの平均数〕
具体的には、推定部133は、第1検索結果の一例として、自装置が保持する一部領域について実行した検索処理における実行待ちプロセスの平均数である第1プロセス数を取得する。続いて、推定部133は、第2検索結果の一例として、第1プロセス数に基づいて、データベースの全領域について検索処理を実行した場合における実行待ちプロセスの平均数である第2プロセス数を推定する。
[5-3-1. Average number of waiting processes]
Specifically, the
例えば、推定部133は、自装置が保持するシャードまたはレプリカに含まれる検索対象データの個数である第1個数と複数の情報処理装置100の装置個数とに基づいて、データベースの全領域に含まれる検索対象データの個数である第2個数を推定する。続いて、推定部133は、第1個数に対する第2個数の割合に基づいて、第2プロセス数を推定する。例えば、推定部133は、第1プロセス数に対する第2プロセス数の割合は、第1個数に対する第2個数の割合と同じであると推定する。続いて、推定部133は、第1個数に対する第2個数の割合と第1プロセス数とに基づいて、第2プロセス数を推定する。
For example, the estimating
続いて、推定部133は、推定した第2プロセス数が第2閾値未満であるか否かを判定する。推定部133は、推定した第2プロセス数が第2閾値未満であると判定した場合は、仮に全シャードについて検索処理を実行した場合であっても、利用者に対して検索結果を提供するまでに要する時間が許容範囲内であるため、第2検索結果が利用者に対する提供可能条件を満たすと推定する。一方、推定部133は、推定した第2プロセス数が第2閾値以上であると判定した場合は、仮に全シャードについて検索処理を実行した場合であっても、利用者に対して検索結果を提供するまでに要する時間が長すぎるため、第2検索結果が利用者に対する提供可能条件を満たさないと推定する。
Subsequently, the
〔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
まず、簡単のため、シャードが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
次に、シャードが複数の場合について説明する。簡単のため、シャードが全体で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
続いて、推定部133は、推定した第2スコアが第3閾値以上であるか否かを判定する。推定部133は、推定した第2スコアが第3閾値以上であると判定した場合は、仮に全シャードについて検索処理を実行した場合であっても、利用者に対して提供する検索結果が検索クエリとよくマッチしている(つまり、検索結果の質が高い)と考えられるため、第2検索結果が利用者に対する提供可能条件を満たすと推定する。一方、推定部133は、推定した第2スコアが第3閾値未満であると判定した場合は、仮に全シャードについて検索処理を実行した場合であっても、利用者に対して提供する検索結果が検索クエリとあまりマッチしていない(つまり、検索結果の質が低い)と考えられるため、第2検索結果が利用者に対する提供可能条件を満たさないと推定する。
Subsequently, the
〔5‐3‐3.価格〕
また、推定部133は、第1検索結果の一例として、自装置が保持する一部領域に含まれる検索対象に関する検索対象データと検索クエリとの適合度を示すスコアが高い方からL番目(Lは自然数)までのL個の検索対象に関する平均価格を算出する。続いて、推定部133は、算出した平均価格が第4閾値未満であるか否かを判定する。推定部133は、算出した平均価格が第4閾値未満であると判定した場合は、利用者に対して提供する検索結果に関する平均価格が許容範囲内の金額なので、第2検索結果が利用者に対する提供可能条件を満たすと推定する。一方、推定部133は、算出した平均価格が第4閾値以上であると判定した場合は、利用者に対して提供する検索結果に関する平均価格が高すぎる金額なので、第2検索結果が利用者に対する提供可能条件を満たさないと推定する。
[5-3-3. price〕
In addition, the estimating
〔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
〔5‐4.変更クエリの生成と再検索〕
また、上述した実施形態では、推定部133が提供可能条件を満たさないと推定した場合に、通知部135が、第2検索結果が提供可能条件を満たさないことを示す通知を端末装置10に対して送信する場合について説明したが、推定部133が提供可能条件を満たさないと推定した場合の処理は、通知部135による通知に限られない。
[5-4. Change query generation and search again]
Further, in the above-described embodiment, when the
具体的には、検索部132は、推定部133が提供可能条件を満たさないと推定した場合に、検索クエリを変更した変更クエリを生成し、自装置が保持する一部領域について変更クエリに関する検索処理を実行する。推定部133は、検索部132が実行した検索処理の検索結果である第3検索結果に基づいて、データベースのうち一部領域よりも大きい領域について変更クエリに関する検索処理を実行した場合の検索結果である第4検索結果が利用者に対する提供可能条件を満たすか否かを推定する。
Specifically, when the
また、通知部135は、検索部132が生成した変更クエリを端末装置10に対して送信してよい。この場合、受信部131は、通知部135が通知した変更クエリの中から、利用者によって選択された変更クエリに関する検索要求を受信してよい。また、検索部132は、受信部131が変更クエリに関する検索要求を受信した場合に、自装置が保持する一部領域について変更クエリに関する検索処理を実行してよい。
Also, the notification unit 135 may transmit the change query generated by the
〔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
〔5‐6.情報処理装置100が複数のシャードを有する場合〕
また、上述した実施形態では、各情報処理装置100がそれぞれ1つのシャードまたはレプリカを保持する場合について説明したが、各情報処理装置100は複数のシャードまたは複数のレプリカを保持してよい。例えば、情報処理装置100(サーチヘッド)が複数のシャードを保持する場合、検索部132は、受信部131が検索要求を受信した場合に、自装置が保持する複数のシャード全てについて検索クエリに関する検索処理を実行してもよいし、または、自装置が保持する複数のシャードの中からランダムに選択した1つのシャードのみについて検索クエリに関する検索処理を実行してもよい。
[5-6. Case where
Further, in the above-described embodiment, each
〔6.効果〕
上述してきたように、本願に係る情報処理システム1は、利用者によって利用される端末装置10と通信可能な複数の情報処理装置100を備え、情報処理装置100のそれぞれが検索対象に関するデータベースの一部領域を保持する。情報処理装置100は、受信部131と、検索部132と、推定部133を備える。受信部131は、端末装置10から検索クエリに関する検索要求を受信する。検索部132は、受信部131が検索要求を受信した場合に、自装置が保持する一部領域について検索クエリに関する検索処理を実行する。推定部133は、検索部132が実行した検索処理の検索結果である第1検索結果に基づいて、データベースのうち一部領域よりも大きい領域について検索クエリに関する検索処理を実行した場合の検索結果である第2検索結果が利用者に対する提供可能条件を満たすか否かを推定する。
[6. effect〕
As described above, the
このように、情報処理システム1は、分散型の検索システムを構成する複数の情報処理装置100のうちサーチヘッドの一部領域における検索結果に基づいて、検索対象に関するデータベースの全領域における検索結果が利用者に対する提供可能条件を満たすか否かを推定することができる。これにより、情報処理システム1は、検索対象に関するデータベースの全領域における検索処理を実行することなく、サーチヘッドの一部領域における検索処理の実行のみに基づいて、利用者に対して適切な検索結果を提供可能とすることができるか否かを短時間で効率よく推定することができる。したがって、情報処理システム1は、利用者に対して適切な検索結果を提供可能とすることができる。
In this way, the
また、情報処理装置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
これにより、情報処理システム1は、分散型の検索システムを構成する複数の情報処理装置100のうちサーチヘッドの一部領域における検索結果に基づいて、検索対象に関するデータベースの全領域における検索結果が利用者に対する提供可能条件を満たすと推定される場合には、サーチヘッド以外の他の情報処理装置100に対しても検索処理を実行させ、データベースの全領域における検索結果を集約した検索結果を利用者に対して適切に提供することができる。
As a result, the
また、情報処理システム1は、分散型の検索システムを構成する複数の情報処理装置100のうちサーチヘッドの一部領域における検索結果に基づいて、検索対象に関するデータベースの全領域における検索結果が利用者に対する提供可能条件を満たさないと推定される場合には、サーチヘッドからサーチヘッド以外の他の情報処理装置100に対して検索要求を送信しないように制御するとともに、他の情報処理装置100からサーチヘッドに対して検索結果を送信させないように制御することができる。これにより、情報処理システム1は、利用者に対して適切な検索結果を提供できそうにない場合に、無駄なネットワークアクセスの発生による通信コストや無駄な検索処理の実行による計算コストを生じさせないようにすることができる。
Further, the
また、検索部132は、推定部133が提供可能条件を満たさないと推定した場合に、検索クエリを変更した変更クエリを生成し、自装置が保持する一部領域について変更クエリに関する検索処理を実行する。推定部133は、検索部132が実行した検索処理の検索結果である第3検索結果に基づいて、データベースのうち一部領域よりも大きい領域について変更クエリに関する検索処理を実行した場合の検索結果である第4検索結果が利用者に対する提供可能条件を満たすか否かを推定する。
In addition, when the
これにより、情報処理システム1は、利用者から受け付けた検索クエリに対して適切な検索結果を返すことできそうにない場合に、検索クエリを再調整して自動的に再検索を行うことができる。
As a result, the
また、情報処理装置100は、端末装置10に対して通知を送信する通知部135をさらに備える。検索部132は、推定部133が提供可能条件を満たさないと推定した場合に、検索クエリを変更した変更クエリを生成する。通知部135は、検索部132が生成した変更クエリを端末装置10に対して送信する。
The
これにより、情報処理システム1は、利用者から受け付けた検索クエリに対して適切な検索結果を返すことできそうにない場合に、利用者に対して適切な検索結果を提供可能な変更クエリを通知して、再検索を促すことができる。
As a result, when the
また、推定部133は、第1検索結果として、自装置が保持する一部領域に含まれる検索対象に関する検索対象データのうち検索クエリとマッチした検索対象データの件数である第1件数に基づいて、第2検索結果として、データベースのうち一部領域よりも大きい領域に含まれる検索対象データのうち検索クエリとマッチする検索対象データの件数である第2件数を推定し、推定した第2件数が第1閾値以上である場合は、第2検索結果が利用者に対する提供可能条件を満たすと推定し、推定した第2件数が第1閾値未満である場合は、第2検索結果が利用者に対する提供可能条件を満たさないと推定する。
In addition, the estimating
これにより、情報処理システム1は、利用者に対して提供できる検索結果の件数が少なすぎる場合には、利用者に対して検索結果を提供しないようにすることができる。また、情報処理システム1は、利用者に対して提供できる検索結果の件数が許容範囲内である場合には、利用者に対して適切な検索結果を提供可能とすることができる。
Thereby, the
また、推定部133は、自装置が保持する一部領域に含まれる検索対象データの個数である第1個数と複数の情報処理装置100の装置個数とに基づいて、データベースのうち一部領域よりも大きい領域に含まれる検索対象データの個数である第2個数を推定し、第1個数に対する第2個数の割合に基づいて、第2件数を推定する。
In addition, the
これにより、情報処理システム1は、各情報処理装置100が、データベース全体の検索対象データの個数の情報を取得せずとも、データベース全体の検索対象データの個数を大まかに推定することができる。したがって、情報処理システム1は、データベース全体の検索対象データの個数の情報を取得せずとも、適切に第2件数を推定することができる。
As a result, the
また、推定部133は、第1検索結果として、自装置が保持する一部領域について実行した検索処理における実行待ちプロセスの平均数である第1プロセス数に基づいて、第2検索結果として、データベースのうち一部領域よりも大きい領域について検索処理を実行した場合における実行待ちプロセスの平均数である第2プロセス数を推定し、推定した第2プロセス数が第2閾値未満である場合は、第2検索結果が利用者に対する提供可能条件を満たすと推定し、推定した第2プロセス数が第2閾値以上である場合は、第2検索結果が利用者に対する提供可能条件を満たさないと推定する。
Further, the estimating
これにより、情報処理システム1は、利用者に対して検索結果を提供するまでに要する時間が長すぎる場合には、利用者に対して検索結果を提供しないようにすることができる。また、情報処理システム1は、利用者に対して検索結果を提供するまでに要する時間が許容範囲内である場合には、利用者に対して適切な検索結果を提供可能とすることができる。
Thereby, the
また、推定部133は、第1検索結果として、自装置が保持する一部領域に含まれる検索対象に関する検索対象データと検索クエリとの適合度を示すスコアが高い方からN番目(Nは自然数)までのN個のスコアの平均である第1スコアに基づいて、第2検索結果として、データベースのうち一部領域よりも大きい領域に含まれる検索対象データと検索クエリとの適合度を示すスコアが高い方からM番目(Mは自然数、M>N)のスコアである第2スコアを推定し、推定した第2スコアが第3閾値以上である場合は、第2検索結果が利用者に対する提供可能条件を満たすと推定し、推定した第2スコアが第3閾値未満である場合は、第2検索結果が利用者に対する提供可能条件を満たさないと推定する。
In addition, the estimating
これにより、情報処理システム1は、利用者に対して提供する検索結果が検索クエリとあまりマッチしていない(つまり、検索結果の質が低い)場合には、利用者に対して検索結果を提供しないようにすることができる。また、情報処理システム1は、利用者に対して提供する検索結果が検索クエリとよくマッチしている(つまり、検索結果の質が高い)場合には、利用者に対して適切な検索結果を提供可能とすることができる。
As a result, the
また、推定部133は、第1検索結果として、自装置が保持する一部領域に含まれる検索対象に関する検索対象データと検索クエリとの適合度を示すスコアが高い方からL番目(Lは自然数)までのL個の検索対象に関する平均価格を算出し、算出した平均価格が第4閾値未満である場合は、第2検索結果が利用者に対する提供可能条件を満たすと推定し、算出した平均価格が第4閾値以上である場合は、第2検索結果が利用者に対する提供可能条件を満たさないと推定する。
Also, the estimating
これにより、情報処理システム1は、利用者に対して提供する検索結果に関する平均価格が高すぎる場合には、利用者に対して検索結果を提供しないようにすることができる。また、情報処理システム1は、利用者に対して提供する検索結果に関する平均価格が許容範囲内である場合には、利用者に対して適切な検索結果を提供可能とすることができる。
Thereby, the
また、推定部133は、第1検索結果として、自装置が保持する一部領域に含まれる検索対象に関する検索対象データのうち検索クエリとマッチした検索対象データに対応する検索対象に設定された販売促進率が第5閾値以上である検索対象の数を算出し、算出した検索対象の数が第6閾値以上である場合は、第2検索結果が利用者に対する提供可能条件を満たすと推定し、算出した検索対象の数が第6閾値未満である場合は、第2検索結果が利用者に対する提供可能条件を満たさないと推定する。
In addition, the estimating
これにより、情報処理システム1は、利用者に対して提供する検索結果に設定された販売促進率の平均が低すぎる場合には、利用者に対して検索結果を提供しないようにすることができる。また、情報処理システム1は、利用者に対して提供する検索結果に設定された販売促進率の平均が許容範囲内である場合には、利用者に対して適切な検索結果を提供可能とすることができる。
As a result, the
また、検索対象は、電子商取引サービスの取引対象に関する商品コンテンツ、動画配信サービスの配信対象となる動画コンテンツ、または音楽配信サービスの配信対象となる音楽コンテンツである。 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
〔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
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。演算装置1030は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等により実現される。
The
一次記憶装置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
出力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/
また、出力I/F1060及び入力I/F1070はそれぞれ出力装置1010及び入力装置1020と無線で接続してもよい。すなわち、出力装置1010及び入力装置1020は、ワイヤレス機器であってもよい。
Also, the output I/F 1060 and the input I/
また、出力装置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/
なお、入力装置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
演算装置1030は、出力I/F1060や入力I/F1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
例えば、コンピュータ1000が情報処理装置100として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部130の機能を実現する。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器から取得したプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行してもよい。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器と連携し、プログラムの機能やデータ等を他の機器の他のプログラムから呼び出して利用してもよい。
For example, when the
〔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
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。 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
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:
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)
| 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 |
-
2021
- 2021-07-16 JP JP2021117981A patent/JP7326387B2/en active Active
Patent Citations (5)
| 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)
| 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 |