JP4503379B2 - Search device - Google Patents
Search device Download PDFInfo
- Publication number
- JP4503379B2 JP4503379B2 JP2004213294A JP2004213294A JP4503379B2 JP 4503379 B2 JP4503379 B2 JP 4503379B2 JP 2004213294 A JP2004213294 A JP 2004213294A JP 2004213294 A JP2004213294 A JP 2004213294A JP 4503379 B2 JP4503379 B2 JP 4503379B2
- Authority
- JP
- Japan
- Prior art keywords
- hit
- search
- data
- hits
- unit
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
この発明は、検索装置に関するものである。 The present invention relates to a search device.
昨今、文書や画像など様々なコンテンツがデジタルデータ化され、データベースに蓄積されつつある。これらの膨大な蓄積データの中から目的のデータを抽出する手段として、検索エンジンなどによる検索サービスが用いられる。検索サービスでは、対話的な検索機能と共に、大量データに対する高速な検索性能が要求される。
これを実現する手段として並列検索装置がある。並列検索装置による処理方式では、1つのデータベースを複数のコンピュータに分割して登録し、個々のコンピュータ(以下、スレーブコンピュータと記す。)で並列に検索して得られる部分的な検索結果を1台のコンピュータ(以下、マスタコンピュータと記す。)が取り纏め、最終的な検索結果を出力する。
Nowadays, various contents such as documents and images are converted into digital data and stored in a database. A search service such as a search engine is used as means for extracting target data from the enormous amount of accumulated data. The search service requires high-speed search performance for a large amount of data as well as an interactive search function.
There is a parallel search device as means for realizing this. In the processing method using the parallel search device, one database is divided into a plurality of computers and registered, and one partial search result obtained by searching in parallel on each computer (hereinafter referred to as a slave computer) is stored. Computer (hereinafter referred to as a master computer) collects and outputs a final search result.
例えば特許文献1に開示された従来の並列データ検索処理装置では、検索端末が、検索処理または検索結果の表示処理を要求すると、検索コーディネータ(マスタコンピュータに相当)は、その検索要求または表示処理要求を分析して、処理を依頼する検索処理装置(スレーブコンピュータに相当)を決定し、検索要求または表示処理要求を出す。要求を受けた検索処理装置は、各々に割り当てられている分割データベースに対して検索等の処理を行い、処理結果を生成する。検索コーディネータは、各検索処理装置から処理結果を受信し、それらを取りまとめて検索端末に提供する。
また、非特許文献1には、検索結果のヒット件数が所定の最大取り出し件数以下の場合にだけヒット件数とヒットした対象データの一覧を表示し、ヒット件数が最大取り出し件数を超える場合にはヒット件数だけを表示する方法が開示されている。
For example, in the conventional parallel data search processing device disclosed in
Non-Patent
しかし、並列検索装置では、スレーブコンピュータによる部分的な検索結果はネットワークなどの通信回線を介してマスタコンピュータへ転送されるため、スレーブコンピュータで得られたヒット数が多くなると、マスタコンピュータへ転送されるデータ量も多くなり、通信経路がボトルネックとなって検索性能が低下するという問題があった。
このような問題を解決するため、上述の特許文献1に開示された並列データ検索処理装置では、検索処理においては通信経路を介したデータ転送量が最少となるように、ヒット件数とヒット対象データを特定する必要最小限のデータ(例えばタイトルなど)に絞ってデータ転送している。
However, in the parallel search device, the partial search result by the slave computer is transferred to the master computer via a communication line such as a network, so if the number of hits obtained by the slave computer increases, it is transferred to the master computer. There is a problem that the amount of data increases, and the search performance is degraded due to the bottleneck of the communication path.
In order to solve such a problem, in the parallel data search processing device disclosed in
しかし、特許文献1に開示された並列データ検索処理装置では、検索結果の表示処理時には、得られた検索結果のヒット数が多い場合、転送するデータ量も多くなり、通信経路がボトルネックとなって検索性能が低下するという問題がある。
さらに、非特許文献1に開示された方法では、ヒット件数が最大取り出し件数を超えた段階ではマスタコンピュータにおいてヒットデータ一覧は表示されなくなるため、ヒット対象を特定するデータやヒットデータ一覧の情報をマスタコンピュータへ転送する必要はなくなるが、従来の技術においては無駄なデータ転送が行われているという問題があった。
However, in the parallel data search processing device disclosed in
Furthermore, in the method disclosed in Non-Patent
この発明は上記のような課題を解決するためになされたもので、マスタコンピュータとスレーブコンピュータ間でのデータ転送を効率化し、高速な検索処理が可能な検索装置を得ることを目的とする。 The present invention has been made to solve the above-described problems, and an object of the present invention is to obtain a search device that can efficiently transfer data between a master computer and a slave computer and can perform high-speed search processing.
この発明に係る検索装置は、あるデータ量単位で検索対象データを取得するデータ入力部と、検索対象データに対し、与えられた検索条件を用いた照合処理の照合回数とヒット件数とに基づいて、照合回数を集計した照合回数合計と、ヒット件数を集計したヒット件数合計とを算出するデータ照合部と、照合処理によって得られた照合回数合計とヒット件数合計とをパラメータとする所定の算出式により予測ヒット件数を算出し、この予測ヒット件数がある閾値以下の場合には、ヒットデータ一覧を生成する照合結果生成部と、ヒット件数とヒットデータ一覧をマスタコンピュータに送信する照合結果送信部を有する1台以上のスレーブコンピュータと、各スレーブコンピュータよりヒット件数とヒットデータ一覧を受信する照合結果受信部と、各スレーブコンピュータから受信したヒット件数の合計件数がある閾値以下であれば、各スレーブコンピュータから受信した全ヒットデータ一覧を生成する検索結果生成部と、合計件数と全ヒットデータ一覧を出力する検索結果出力部を有するマスタコンピュータとを備え、データ照合部による照合処理と、照合結果生成部によるヒット件数に応じたヒットデータ一覧の生成と、照合結果送信部によるヒット件数とヒットデータ一覧のマスタコンピュータへの送信を、データ量単位の検索対象データ毎に繰り返し行うものである。 The search device according to the present invention is based on a data input unit that acquires search target data in a certain data amount unit, and the number of matches and the number of hits in a matching process using a given search condition for the search target data. , A data matching unit that calculates the total number of matching times that is the total number of matching times, the total number of hit numbers that are the number of hits, and a predetermined calculation formula that uses the total number of matching times and the total number of hits obtained by the matching process as parameters If the predicted hit count is less than a certain threshold, a verification result generation section that generates a hit data list and a verification result transmission section that transmits the hit count and hit data list to the master computer are calculated. One or more slave computers, and a matching result receiving unit that receives the hit count and hit data list from each slave computer If the total number of hits received from each slave computer is less than a certain threshold, the search result generator generates a list of all hit data received from each slave computer, and a search that outputs the total number and all hit data list A master computer having a result output unit, a collation process by the data collation unit, a hit data list generation according to the number of hits by the collation result generation unit, and a hit computer and hit data list master computer by the collation result transmission unit Is repeatedly performed for each search target data in a data amount unit .
この発明によれば、スレーブコンピュータが、照合処理によって得られた照合回数合計とヒット件数合計とをパラメータとする所定の算出式により予測ヒット件数を算出し、当該予測ヒット件数に基づいて、マスタコンピュータにヒットデータ一覧を送信するか否かを判断するようにしたので、マスタコンピュータとスレーブコンピュータ間でのデータ転送を効率化し、高速な検索処理を可能とすることができる。
According to the present invention, the slave computer calculates the predicted hit number by the predetermined calculation formula using the total number of matching times and the total hit number obtained by the matching process as parameters, and based on the predicted hit number, the master computer Since it is determined whether or not to transmit the hit data list, it is possible to make the data transfer between the master computer and the slave computer more efficient and to enable high-speed search processing.
以下、この発明の実施の様々な形態を説明する。
実施の形態1.
図1は、この発明の実施の形態1による、検索システム100の構成を示すブロック図である。図に示すように、検索システム100は、検索装置10と検索端末装置20を備え、検索装置10と検索端末装置20はネットワーク30を介して接続されている。
検索装置10は、マスタコンピュータ11、スレーブコンピュータ12a〜12c、及びマスタコンピュータ11とスレーブコンピュータ12a〜12cを接続するLANスイッチ13を備えている。
Hereinafter, various embodiments of the present invention will be described.
FIG. 1 is a block diagram showing a configuration of a
The
図2は、この発明の実施の形態1によるスレーブコンピュータ12a〜12cの構成を示すブロック図である。図に示すように、スレーブコンピュータ12a〜12cは、記憶装置121、データ入力部122、データ照合部123、照合結果生成部124、及び照合結果送信部125を備えている。データ入力部122、データ照合部123、照合結果生成部124、及び照合結果送信部125は、スレーブコンピュータ12a〜12cのプロセッサを動作させるプログラムのモジュールを表しており、これらは実際には、一体としてスレーブコンピュータ12a〜12cのプロセッサを構成する。
記憶装置121は、スレーブコンピュータ12a〜12cのメモリ、あるいはスレーブコンピュータ12a〜12cと接続された外部の記憶装置等である。各スレーブコンピュータ12a〜12cの記憶装置121には、検索対象データが分割して格納されている。
また、図3は、実施の形態1によるマスタコンピュータ11の構成を示すブロック図である。図に示すように、マスタコンピュータ11は、照合結果受信部111、検索結果生成部112、及び検索結果出力部113を備えている。照合結果受信部111、検索結果生成部112、及び検索結果出力部113は、マスタコンピュータ11のプロセッサを動作させるプログラムのモジュールを表しており、これらは実際には、一体としてマスタコンピュータ11のプロセッサを構成する。
FIG. 2 is a block diagram showing a configuration of
The
FIG. 3 is a block diagram showing the configuration of the
次に動作について説明する。
検索装置10のマスタコンピュータ11は、検索端末装置20から検索問い合わせが通知されると、問い合わせ内容と検索結果の最大取り出し件数M(ある閾値)をLANスイッチ13を介してスレーブコンピュータ12a〜12cへ通知する。ここで、マスタコンピュータ11は、検索端末装置20からの問い合わせ内容を解析し、スレーブコンピュータ12a〜12cへは、検索処理の実行に必要な情報に変換された検索条件が通知される。最大取り出し件数Mは、マスタコンピュータ11が出力する検索結果の最大表示件数を表す。
Next, the operation will be described.
When a search inquiry is notified from the
スレーブコンピュータ12a〜12cは、マスタコンピュータ11から検索条件及び最大取り出し件数Mを受信すると、検索処理を開始する。図4は、実施の形態1によるスレーブコンピュータ12a〜12cの動作のフローチャートである。
まず、スレーブコンピュータ12a〜12cは、スレーブコンピュータ内の全ヒット件数Kのカウンタを初期化する(ステップST100)。次に、データ入力部122は、記憶装置121から1つ以上の照合単位を含む一定量(あるデータ量単位)の検索対象データを取得する(ステップST101)。ここで照合単位とは、例えばリレーショナル型データベースの1レコードを表しており、照合処理を行うデータの単位を示している。この時、記憶装置121内のデータが終了したと判定された場合には、マスタコンピュータ11への終了通知を行い(ステップST102、ステップST112)、スレーブコンピュータ12a〜12cの処理を終了する。データ終了でない場合には、取得した検索対象データに対するヒット件数NSのカウンタを初期化する(ステップST103)。
When the
First, the
次に、データ照合部123は、取得した検索対象データに含まれる照合単位に対して、マスタコンピュータ11から通知された検索条件による照合処理を実行する(ステップST104)。照合処理の結果、検索条件にヒットした場合には、ヒット件数NSのカウンタに1を加算し(ステップST105、ステップST106)、全ヒット件数Kのカウンタに1を加算する(ステップST107)。ステップST105で検索条件にヒットしない場合には、ステップST110へ進む。
Next, the
次に、照合結果生成部124は、全ヒット件数Kのカウンタが最大取り出し件数M以下かどうかを判定する(ステップST108)。ここで、全ヒット件数Kのカウンタが最大取り出し件数M以下である場合、照合結果生成部124は、ヒットした検索対象データの一覧(以下、ヒットデータ一覧と記す)を生成する(ステップST109)。全ヒット件数Kのカウンタが最大取り出し件数Mを超えている場合には、ヒットデータ一覧は生成せず、ステップST110へ進む。
図5は、検索装置10に与えられる検索問い合わせ内容の例であり、図6は、この検索問い合わせに対して照合結果生成部124で生成されるヒットデータ一覧の例である。
図5に示す検索問い合わせは、検索対象データTableに対して、住所=”神奈川”の検索条件を満たす文書IDとその著者を示す名前を出力するためのものである。この検索問い合わせに対して照合結果生成部124は、図6に示すように、検索条件を満たす照合単位(レコード)の文書ID、名前(著者名)の一覧を生成する。ここでは、L1、L2、L3の3件が検索条件を満たしていることになる。
Next, the collation
FIG. 5 is an example of the contents of a search query given to the
The search query shown in FIG. 5 is for outputting a document ID satisfying the search condition of address = “Kanagawa” and a name indicating its author to the search target data table. In response to this search query, the verification
次に、照合結果送信部125は、次の照合単位があるか否かを判定する(ステップST110)。次の照合単位がある場合には、ステップST104に戻り、その照合単位に対して検索条件による照合処理を実行する。次の照合単位がない場合には、照合結果送信部125は、照合結果をマスタコンピュータ11に送信する(ステップST111)。
照合結果にはヒット件数NSとステップST109で生成されたヒットデータ一覧が含まれるが、上述したように、ヒットデータ一覧については、全ヒット件数Kのカウンタが最大取り出し件数M以下である場合にのみ作成され、その場合にのみマスタコンピュータ11に送信されることになる。全ヒット件数Kのカウンタが最大取り出し件数Mを超えている場合にはヒット件数NSのみが送信される。
次に、ステップST101へ戻り、記憶装置121から検索対象データが読み出される。ステップST102でデータ終了と判定されるまで、処理が続けられる。
このように、スレーブコンピュータ12a〜12cは、記憶装置121内の検索対象データが終了するまで照合処理を複数回に分けて行い、その度に照合結果をマスタコンピュータ11に送信するという処理を繰り返す(ステップST101〜ステップST111)。
Next, collation
The collation result includes the number of hits NS and the hit data list generated in step ST109. As described above, the hit data list is only when the counter of all hits number K is equal to or less than the maximum number of fetches M. It is created and transmitted to the
Next, the process returns to step ST101, and the search target data is read from the
As described above, the
図7は、実施の形態1による、マスタコンピュータ11の動作のフローチャートである。
マスタコンピュータ11は、マスタコンピュータ11に蓄積された全ヒット件数Nのカウンタを初期化する(ステップST200)。次に、照合結果受信部111は、図4のステップST111でスレーブコンピュータ12a〜12cの照合結果送信部125から送信された照合結果を受信する(ステップST201)。上述したように、照合結果には、ヒット件数NSのみが含まれる場合と、ヒット件数NSとヒットデータ一覧が含まれる場合がある。照合結果受信部111は、受信したのが終了通知であるか否かを判定する(ステップST202)。
ステップST202で終了通知ではないと判定された場合には、全ヒット件数Nのカウンタに、通知されたヒット件数NSを加算する(ステップST203)。次に、検索結果生成部112は、全ヒット件数Nのカウンタが最大取り出し件数M以下かどうかを判定する(ステップST204)。全ヒット件数Nのカウンタが最大取り出し件数M以下である場合、ヒットデータ一覧を生成する(ステップST205)。全ヒット件数Nのカウンタが最大取り出し件数Mを超えている場合にはヒットデータ一覧は生成しない。次に、ステップST201へ戻り、スレーブコンピュータ12a〜12cから送信される次の照合結果に対して同様に処理を繰り返す。
FIG. 7 is a flowchart of the operation of the
If it is determined in step ST202 that the notification is not an end notification, the notified hit count NS is added to the total hit count N counter (step ST203). Next, the search
ステップST202で終了通知であると判断された場合には、ステップST206へ進み、すべてのスレーブコンピュータ12a〜12cから終了通知を受けているかどうか判定する。すべてのスレーブコンピュータ12a〜12cから終了通知を受けていない場合にはステップST201へ進み、処理を繰り返す。ステップST206で、すべてのスレーブコンピュータ12a〜12cから終了通知を受けていると判断された場合には、検索結果出力部113は、検索結果生成部112で作成されたヒットデータ一覧と全ヒット件数Nを検索結果として出力する(ステップST207)。
If it is determined in step ST202 that it is an end notification, the process proceeds to step ST206, and it is determined whether or not the end notification is received from all the
以上のように、実施の形態1によれば、スレーブコンピュータ12a〜12cは、マスタコンピュータ11への照合結果の送信を複数回に分けて行うと共に、全ヒット件数カウンタKが最大取り出し件数Mを超えたら、それ以降はヒット件数NSのみを送信し、ヒットデータ一覧は送信しないようにしたので、マスタコンピュータ11へのデータ転送量を少なく抑えることが可能となり、データ転送によるボトルネックを解消し、検索処理を高速化することができる。
As described above, according to the first embodiment, the
実施の形態2.
実施の形態1では、スレーブコンピュータ12a〜12cからマスタコンピュータ11へ送信する照合結果にヒットデータ一覧を含めるか否かの判断をスレーブコンピュータ12a〜12c側で行った。
しかし、スレーブコンピュータ12a〜12cの全ヒット件数Kが最大取り出し件数Mを超えていなくても、マスタコンピュータ11の全ヒット件数Nが最大取り出し件数Mを超えている場合には、マスタコンピュータ11でヒットデータ一覧が生成されないため、スレーブコンピュータ12a〜12cからヒットデータ一覧を送信しても転送データが無駄になってしまう。
そこで、実施の形態2では、マスタコンピュータ11からスレーブコンピュータ12a〜12cに対して、ヒットデータ一覧の送信が必要か否かを通知する。
Embodiment 2. FIG.
In the first embodiment, the
However, even if the total hit count K of the
Therefore, in the second embodiment, the
実施の形態2による検索装置10の動作について説明する。なお、実施の形態2による検索システム100及び検索装置10の構成は、図1〜図3に示すものと同様である。
図8は、この発明の実施の形態2による、スレーブコンピュータ12a〜12cの動作のフローチャートである。
スレーブコンピュータ12a〜12cは、各スレーブコンピュータ内の全ヒット件数Kのカウンタを初期化する(ステップST100)。次に、データ入力部122は、記憶装置121から1つ以上の照合単位を含む一定量の検索対象データを取得する(ステップST101)。ここで記憶装置121内のデータ終了と判定された場合には、マスタコンピュータ11への終了通知を行い(ステップST102、ステップST112)、スレーブコンピュータ12a〜12cの処理を終了する。データ終了でない場合には、取得した検索対象データに対するヒット件数NSのカウンタを初期化する(ステップST103)。
次に、データ照合部123は、取得した検索対象データに含まれる照合単位に対して、マスタコンピュータ11から通知された検索条件による照合処理を実行する(ステップST104)。照合処理の結果、検索条件にヒットした場合には、ヒット件数NSのカウンタに1を加算し(ステップST105、ステップST106)、全ヒット件数Kのカウンタに1を加算する(ステップST107)。ステップST105で検索条件にヒットしない場合には、ステップST110へ進む。
The operation of the
FIG. 8 is a flowchart of the operation of the
The
Next, the
次に、照合結果生成部124は、マスタコンピュータ11からヒットデータ一覧の送信が不要であることを示す通知(ヒットデータ一覧不要通知)を受信しているか否かを確認する(ステップST113)。ヒットデータ一覧不要通知を受けている場合、ステップST110へ進む。ヒットデータ一覧不要通知を受けていない場合には、全ヒット件数Kのカウンタが最大取り出し件数M以下かどうかを判定する(ステップST108)。ここで、全ヒット件数Kのカウンタが最大取り出し件数M以下である場合、照合結果生成部124は、ヒットデータ一覧を生成する(ステップST109)。全ヒット件数Kのカウンタが最大取り出し件数Mを超えている場合には、ヒットデータ一覧は生成せず、ステップST110へ進む。
ステップST110で照合結果送信部125は、次の照合単位があるか否かを判定する。次の照合単位がある場合には、ステップST104に戻り、その照合単位に対して検索条件による照合処理を実行する。次の照合単位がない場合には、照合結果送信部125は、照合結果をマスタコンピュータ11に送信する(ステップST111)。
次に、ステップST101へ戻り、検索対象データが読み出される。ステップST102でデータ終了と判定されるまで、処理が続けられる
Next, the collation
In step ST110, the collation
Next, the process returns to step ST101, and the search target data is read out. The process is continued until it is determined in step ST102 that the data has ended.
このように、スレーブコンピュータ12a〜12cは、検索対象データが終了するまで照合処理を複数回に分けて行い、その度に照合結果をマスタコンピュータ11に送信するという処理を繰り返す(ステップST101〜ステップST111)。
また、照合結果送信部125がマスタコンピュータ11に送信する照合結果には、ヒット件数NSとステップST109で生成されたヒットデータ一覧が含まれるが、上述したように、ヒットデータ一覧については、マスタコンピュータ11からのヒットデータ一覧不要通知が無く、かつ、全ヒット件数Kのカウンタが最大取り出し件数M以下である場合にのみ作成され、その場合にのみマスタコンピュータ11に送信されることになる。マスタコンピュータ11からヒットデータ一覧不要通知を受信している場合、または、全ヒット件数Kのカウンタが最大取り出し件数Mを超えている場合にはヒット件数NSのみが送信される。
As described above, the
Further, the collation result transmitted from the collation
図9は、実施の形態2による、マスタコンピュータ11の動作のフローチャートである。
マスタコンピュータ11は、マスタコンピュータ11に蓄積された全ヒット件数Nのカウンタを初期化する(ステップST200)。次に、照合結果受信部111は、図4のステップST111でスレーブコンピュータ12a〜12cの照合結果送信部125から送信された照合結果を受信する(ステップST201)。上述したように、照合結果には、ヒット件数NSのみが含まれる場合と、ヒット件数NSとヒットデータ一覧が含まれる場合がある。照合結果受信部111は、受信したのが終了通知であるか否かを判定する(ステップST202)。
ステップST202で終了通知ではないと判定された場合には、全ヒット件数Nのカウンタに、通知されたヒット件数NSを加算する(ステップST203)。次に、検索結果生成部112は、全ヒット件数Nのカウンタが最大取り出し件数M以下かどうかを判定する(ステップST204)。全ヒット件数Nのカウンタが最大取り出し件数M以下である場合、ヒットデータ一覧を生成する。
全ヒット件数Nのカウンタが最大取り出し件数Mを超えている場合には、ヒットデータ一覧は生成せず、すべてのスレーブコンピュータ12a〜12cに対してヒットデータ一覧の送信が不要である旨の通知(ヒットデータ一覧不要通知)をする(ステップST208)。次に、ステップST201へ戻り、スレーブコンピュータ12a〜12cから送信される次の照合結果に対して同様に処理を繰り返す。
FIG. 9 is a flowchart of the operation of the
If it is determined in step ST202 that the notification is not an end notification, the notified hit count NS is added to the total hit count N counter (step ST203). Next, the search
If the total hit count N counter exceeds the maximum fetch count M, a hit data list is not generated and a notification that the hit data list need not be transmitted to all
ステップST202で終了通知であると判断された場合には、ステップST206へ進み、すべてのスレーブコンピュータ12a〜12cから終了通知を受けているかどうか判定する。すべてのスレーブコンピュータ12a〜12cから終了通知を受けていない場合にはステップST201へ進み、処理を繰り返す。ステップST206で、すべてのスレーブコンピュータ12a〜12cから終了通知を受けていると判断された場合には、検索結果出力部113は、検索結果生成部112で作成されたヒットデータ一覧と全ヒット件数Nを検索結果として出力する(ステップST207)。
If it is determined in step ST202 that it is an end notification, the process proceeds to step ST206, and it is determined whether or not the end notification is received from all the
以上のように、実施の形態2によれば、マスタコンピュータ11は、ヒット件数Nが最大取り出し件数Mを超えた時点で、スレーブコンピュータ12a〜12cに対してヒットデータ一覧不要通知をし、スレーブコンピュータ12a〜12cは、ヒットデータ一覧不要通知を受信したら、マスタコンピュータ11へのヒットデータ一覧の送信を行わない。すなわち、スレーブコンピュータ12a〜12cは、実施の形態1のように、全ヒット件数Kのカウンタが最大取り出し件数Mを超えた場合のみでなく、マスタコンピュータ11からヒットデータ一覧不要通知を受信した場合にもマスタコンピュータ11へのヒットデータ一覧の送信を行わないようにした。これにより、データ転送量を実施の形態1よりもさらに削減することが可能となり、検索処理をさらに高速化することができる。
As described above, according to the second embodiment, the
実施の形態3.
実施の形態1及び実施の形態2は、スレーブコンピュータ12a〜12cからマスタコンピュータ11へのデータ転送量を削減するための手段を備えている。実施の形態3では、スレーブコンピュータ12a〜12c内での処理を効率化する。具体的には、記憶装置121に対する入出力処理の効率を高める。
Embodiment 3 FIG.
The first and second embodiments include means for reducing the amount of data transferred from the
実施の形態3による検索装置10の動作について説明する。なお、実施の形態3による検索システム100及び検索装置10の構成は図1〜図3に示すものと同様である。また、実施の形態3は、スレーブコンピュータ12a〜12cのデータ入力部122の動作に特徴があり、その他の照合処理や照合結果生成、送信処理、またマスタコンピュータ11の処理については実施の形態1と同様である。
The operation of the
図10は、記憶装置121に格納されている検索対象データの一例を示す図である。図に示すように、記憶装置121は、列項目が文書ID、名前、住所、性別からなる表形式のデータを格納している。
図11は、実施の形態3による、データ入力部122の動作のフローチャートであり、図4に示すステップST101の処理に該当する。
まず、データ入力部122は、全ヒット件数Kのカウンタが最大取り出し件数M以下であるか否かを確認する(ステップST1011)。
全ヒット件数Kのカウンタが最大取り出し件数M以下である場合には、スレーブコンピュータ12a〜12cはヒットデータ一覧を作成する必要があるので、検索問い合わせの実行に必要なすべての項目を記憶装置121から取得する(ステップST1012)。例えば、図6に示す検索問い合わせを実行する場合を例に説明すると、文書ID、名前、住所の列項目を取得する必要がある。
一方、全ヒット件数Kのカウンタが最大取り出し件数Mを超えている場合には、スレーブコンピュータ12a〜12cはヒット件数NSのみをマスタコンピュータ11に通知すればよいので、ヒット件数の算出に必要な項目、すなわち検索問い合わせに示された検索条件の判定に必要な項目のみを記憶装置121から取得する(ステップST1013)。例えば、図6に示す検索問い合わせの例では、検索条件の判定に必要な列項目は住所であり、この列項目だけを取得すればよい。
FIG. 10 is a diagram illustrating an example of search target data stored in the
FIG. 11 is a flowchart of the operation of the
First, the
When the counter of the total hit count K is equal to or less than the maximum fetch count M, the
On the other hand, if the counter of the total number of hits K exceeds the maximum number of fetches M, the
なお、全ヒット件数Kが最大取り出し件数M以下である場合と全ヒット件数Kが最大取り出し件数Mを超えている場合とで記憶装置121から取得するデータの形式が異なるため、データ照合部123は、図4に示すステップST104において、この違いに従って照合処理を実行する。
Since the format of data acquired from the
以上のように、実施の形態3によれば、全ヒット件数Kのカウンタが最大取り出し件数Mを超えたら、データ入力部122は、記憶装置121からヒット件数の算出に必要な検索対象データだけを取得するようにしたため、記憶装置121とデータ入力部122の間でやり取りされるデータ量を絞り込むことが可能となり、記憶装置121からのデータ読み出し効率が向上し、検索装置10全体の処理のスループットの向上を図ることができる。
As described above, according to the third embodiment, when the counter for the total hit count K exceeds the maximum fetch count M, the
なお、検索対象データの格納先がスレーブコンピュータ12a〜12cの記憶装置121ではなく、例えばネットワーク上のファイルサーバやSAN(Storage Area Network)に格納されたデータであっても、同様にデータ入力部122で取得するデータを絞り込むことが可能であり、検索性能の向上効果が期待できる。
図12は、このような検索システム200の構成例を示すブロック図である。図1と同一の符号は同一の構成要素を表している。検索装置10のスレーブコンピュータ12a〜12cは、ネットワーク40に接続されている。記憶装置41a,41bは、ネットワーク40に接続されたファイルサーバ等の記憶装置であり、検索対象データを格納している。
なお、検索システム200に、実施の形態1及び実施の形態2の検索装置10を適用することも可能である。
Even if the storage destination of the search target data is not the
FIG. 12 is a block diagram illustrating a configuration example of such a
Note that the
また、実施の形態3は実施の形態2にも適用できる。この場合には、ステップST1011で判断する条件として、マスタコンピュータ11からヒットデータ一覧不要通知を受信したかどうかを追加する。
なお、検索装置10の処理のスループットの向上を図るには、スレーブコンピュータ12a〜12cのCPUの処理効率を高めることも有効であるが、この点については、スレーブコンピュータの台数を増やすことにより対応が可能である。
The third embodiment can also be applied to the second embodiment. In this case, whether or not a hit data list unnecessary notification has been received from the
In order to improve the processing throughput of the
実施の形態4.
実施の形態4では、スレーブコンピュータ12a〜12cは、逐次集計される全ヒット件数Kに基づいて予測ヒット件数Pを算出し、予測ヒット件数Pを用いてマスタコンピュータ11にヒットデータ一覧を送信するか否かを判断する。
Embodiment 4 FIG.
In the fourth embodiment, the
実施の形態4による検索装置10の動作について説明する。なお、実施の形態4による検索システム100及び検索装置10の構成は図1〜図3に示すものと同様である。また、マスタコンピュータ11の動作のフローチャートは、図9に示す実施の形態2と同様である。
図13は、この発明の実施の形態4による、スレーブコンピュータ12a〜12cの動作のフローチャートである。図8と同一の符号で示されたステップは、実施の形態2と同様なので説明を省略する。
照合結果生成部124は、ステップST113でマスタコンピュータ11からヒットデータ一覧不要通知を受信していないことを確認すると、予測ヒット件数Pを算出する(ステップST114)。
ここで、予測ヒット件数Pの算出方法の例について説明する。まず、スレーブコンピュータ12a〜12cが実行した照合処理の回数Qと全ヒット件数Kを用いて、検索ヒット率Rを以下のように定義する。
R=K÷Q (1)
次に、検索対象データの全件数をCとすると、予測ヒット件数Pは以下の式で算出することができる。
P=R×C (2)
なお、予測ヒット件数Pの算出には他の方法を用いてもよい。
The operation of the
FIG. 13 is a flowchart of operations of the
When confirming that the hit data list unnecessary notification has not been received from the
Here, an example of a method for calculating the predicted hit count P will be described. First, the search hit rate R is defined as follows using the number Q of collation processes executed by the
R = K ÷ Q (1)
Next, assuming that the total number of search target data is C, the predicted hit number P can be calculated by the following equation.
P = R × C (2)
Note that other methods may be used for calculating the predicted hit count P.
続くステップST115では、予測ヒット件数Pと最大取り出し件数M、及び全ヒット件数Kとヒット件数閾値Ntの比較を行い、予測ヒット件数Pが最大取り出し件数M以下か、或いは、全ヒット件数Kがヒット件数閾値Nt以下であれば、ヒットデータ一覧を生成する。
ここで、ヒット件数閾値Ntは、例えば以下の式で定義することができる。ただし、Nslaveはスレーブコンピュータの台数とし、ここでは、Nslave=3である。
Nt=P÷Nslave (3)
In the following step ST115, the predicted hit number P is compared with the maximum extraction number M, and the total hit number K is compared with the hit number threshold Nt. If the number threshold is Nt or less, a hit data list is generated.
Here, the hit number threshold Nt can be defined by the following equation, for example. However, Nslave is the number of slave computers, and here Nslave = 3.
Nt = P ÷ Nslave (3)
なお、予測ヒット件数Pの算出については、照合回数Qが少ない段階では統計的精度に大きなゆらぎが発生することが考えられる。よって、実際上は、照合回数Qが予め設定した値を超えるまでは予測ヒット件数Pの算出を行わないようにするとよい。照合回数Qが予め設定した値を超えるまでは、予測ヒット件数Pを常に0に設定し、必ずヒットデータ一覧を生成するようにしてもよい。 In addition, regarding the calculation of the predicted hit number P, it is conceivable that a large fluctuation occurs in the statistical accuracy when the number of matching times Q is small. Therefore, in practice, it is preferable not to calculate the predicted hit number P until the number Q of collations exceeds a preset value. Until the number Q of collations exceeds a preset value, the predicted hit number P may be always set to 0, and a hit data list may be generated without fail.
以上のように、実施の形態4によれば、スレーブコンピュータ12a〜12cは、全ヒット件数Kに基づいて逐次予測ヒット件数Pを算出し、予測ヒット件数Pが最大取り出し件数Mを超え、かつ全ヒット件数Kがヒット件数閾値Ntを超えた場合にはヒットデータ一覧を作成しないようにしたので、マスタコンピュータ11に送信する照合結果にヒットデータ一覧を含めるか否かを早期に判断することができ、実施の形態2と比較してマスタコンピュータ11へ送信するデータ量をより一層絞り込むことが可能となる。これにより、データ転送効率がより一層向上するため、検索処理をさらに高速化することができる。
As described above, according to the fourth embodiment, the
なお、実施の形態4ではヒットデータ一覧の作成をやめるタイミングが実施の形態1〜実施の形態3とは異なるため、最終的なヒット件数とヒットデータ一覧の数が完全には一致しない。しかし、インターネット検索などでは、検索者は必ずしもヒットデータ一覧をすべて参照するとは限らないため、出力するヒットデータ一覧の件数は近似的にヒット件数と等しければよいと考えられる。
また、実施の形態4は、実施の形態1に適用することも可能である。また、実施の形態4に実施の形態3を適用することも可能である。
In the fourth embodiment, the timing of stopping the creation of the hit data list is different from that in the first to third embodiments, and therefore the final hit count and the number of hit data lists do not completely match. However, in the Internet search or the like, the searcher does not always refer to the entire hit data list, so it is considered that the number of hit data lists to be output should be approximately equal to the number of hits.
The fourth embodiment can also be applied to the first embodiment. Further, the third embodiment can be applied to the fourth embodiment.
10 検索装置、11 マスタコンピュータ、12a〜12c スレーブコンピュータ、13 LANスイッチ、20 検索端末装置、30,40 ネットワーク、41a,41b 記憶装置、100,200 検索システム、111 照合結果受信部、112 検索結果生成部、113 検索結果出力部、121 記憶装置、122 データ入力部、123 データ照合部、124 照合結果生成部、125 照合結果送信部。
DESCRIPTION OF
Claims (3)
上記検索対象データに対し、与えられた検索条件を用いた照合処理の照合回数とヒット件数とに基づいて、上記照合回数を集計した照合回数合計と、上記ヒット件数を集計したヒット件数合計とを算出するデータ照合部と、
上記照合処理によって得られた上記照合回数合計と上記ヒット件数合計とをパラメータとする所定の算出式により予測ヒット件数を算出し、この予測ヒット件数がある閾値以下の場合には、ヒットデータ一覧を生成する照合結果生成部と、
上記ヒット件数と上記ヒットデータ一覧をマスタコンピュータに送信する照合結果送信部を有する1台以上のスレーブコンピュータと、
各スレーブコンピュータより上記ヒット件数と上記ヒットデータ一覧を受信する照合結果受信部と、
各スレーブコンピュータから受信したヒット件数の合計件数がある閾値以下であれば、各スレーブコンピュータから受信した全ヒットデータ一覧を生成する検索結果生成部と、
上記合計件数と上記全ヒットデータ一覧を出力する検索結果出力部を有するマスタコンピュータとを備え、
上記データ照合部による照合処理と、上記照合結果生成部によるヒット件数に応じたヒットデータ一覧の生成と、上記照合結果送信部によるヒット件数とヒットデータ一覧の上記マスタコンピュータへの送信を、上記データ量単位の検索対象データ毎に繰り返し行うことを特徴とする検索装置。 A data input unit for acquiring search target data in a certain data amount unit ;
Based on the number of matching and the number of hits in the matching process using the given search condition, the total number of matchings obtained by counting the number of matchings and the total number of hits obtained by counting the number of hits. A data verification unit to calculate ,
The number of predicted hits is calculated by a predetermined calculation formula using the total number of matching times obtained by the matching process and the total number of hits as parameters, and if the number of predicted hits is less than a certain threshold, a hit data list is calculated. A verification result generation unit to generate,
One or more slave computers having a matching result transmission unit for transmitting the hit number and the hit data list to a master computer;
A matching result receiving unit for receiving the number of hits and the hit data list from each slave computer;
If the total number of hits received from each slave computer is below a certain threshold, a search result generation unit that generates a list of all hit data received from each slave computer;
A master computer having a search result output unit for outputting the total number of records and the list of all hit data ;
The data collation processing, the collation result generation unit generates the hit data list according to the number of hits, the collation result transmission unit sends the hit number and the hit data list to the master computer, the data A search apparatus, which is repeatedly performed for each search target data in a quantity unit .
上記照合結果生成部は、上記通知を受けた場合には、それ以降ヒットデータ一覧を生成しないことを特徴とする請求項1記載の検索装置。 The search result generation unit notifies each slave computer that a hit data list is unnecessary when the total number obtained by sequentially counting the number of hits received from the slave computer exceeds a certain threshold,
The verification result generation unit, when having received the notification, according to claim 1 Symbol placement search system characterized in that it does not generate a subsequent hit data list.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004213294A JP4503379B2 (en) | 2004-07-21 | 2004-07-21 | Search device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004213294A JP4503379B2 (en) | 2004-07-21 | 2004-07-21 | Search device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006031624A JP2006031624A (en) | 2006-02-02 |
JP4503379B2 true JP4503379B2 (en) | 2010-07-14 |
Family
ID=35897853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004213294A Active JP4503379B2 (en) | 2004-07-21 | 2004-07-21 | Search device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4503379B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4829698B2 (en) * | 2006-06-23 | 2011-12-07 | キヤノン株式会社 | Document search system, document search method, and program |
JP6461047B2 (en) * | 2016-06-17 | 2019-01-30 | ジーニーラボ株式会社 | Catalog search system, method and program |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08286960A (en) * | 1995-04-19 | 1996-11-01 | Nec Corp | System for inquiring distributed database |
JPH1196168A (en) * | 1997-09-17 | 1999-04-09 | Hitachi Information Systems Ltd | Parallel retrieval/statistic processing system, method therefor, and storage medium recording program for realizing the method |
JP2000148768A (en) * | 1998-11-05 | 2000-05-30 | Nippon Telegr & Teleph Corp <Ntt> | Method and device for information retrieval and record medium where information retrieving program is recorded |
JP2002230037A (en) * | 2001-01-31 | 2002-08-16 | Kddi Corp | Retrieval system, retrieval method and program |
-
2004
- 2004-07-21 JP JP2004213294A patent/JP4503379B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08286960A (en) * | 1995-04-19 | 1996-11-01 | Nec Corp | System for inquiring distributed database |
JPH1196168A (en) * | 1997-09-17 | 1999-04-09 | Hitachi Information Systems Ltd | Parallel retrieval/statistic processing system, method therefor, and storage medium recording program for realizing the method |
JP2000148768A (en) * | 1998-11-05 | 2000-05-30 | Nippon Telegr & Teleph Corp <Ntt> | Method and device for information retrieval and record medium where information retrieving program is recorded |
JP2002230037A (en) * | 2001-01-31 | 2002-08-16 | Kddi Corp | Retrieval system, retrieval method and program |
Also Published As
Publication number | Publication date |
---|---|
JP2006031624A (en) | 2006-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI419002B (en) | Pattern-recognition processor with matching-data reporting module | |
EP3767483A1 (en) | Method, device, system, and server for image retrieval, and storage medium | |
JP2019503537A (en) | Method and apparatus for processing short link and short link server | |
JP2010009606A5 (en) | ||
CN111784462B (en) | Transaction processing method, client, processing terminal and system based on blockchain | |
FI3864798T3 (en) | System and method for interoperability of blockchains | |
WO2021082859A1 (en) | Data processing method, and device | |
US20140215455A1 (en) | Service node, network, and method for pre-fetching for remote program installation | |
CN114598597B (en) | Multisource log analysis method, multisource log analysis device, computer equipment and medium | |
WO2012114889A1 (en) | Application construction and arrangement system, application construction and arrangement method, and program | |
US20140244641A1 (en) | Holistic customer record linkage via profile fingerprints | |
CN109241360B (en) | Matching method and device of combined character strings and electronic equipment | |
JP4503379B2 (en) | Search device | |
CN110120918B (en) | Identification analysis method and device | |
CN103646034A (en) | Web search engine system and search method based content credibility | |
US20150331917A1 (en) | Recording medium having stored therein transmission order determination program, transmission order determination device, and transmission order determination method | |
CN110011845A (en) | Log collection method and system | |
CN109213972B (en) | Method, device, equipment and computer storage medium for determining document similarity | |
CN114528321A (en) | Data retrieval method and device, electronic equipment and readable storage medium | |
CN110765125A (en) | Data storage method and device | |
CN113971238A (en) | Data retrieval method and device, electronic equipment and storage medium | |
JP2009037359A (en) | Data registration retrieval method, data registration retrieval program, and database system | |
CN112887442B (en) | Method and device for processing domain name resolution query request | |
JP2006085565A (en) | Information processing apparatus, information processing method and computer program | |
CN114756901B (en) | Operational risk monitoring method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070419 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071015 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080718 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100112 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100305 |
|
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: 20100413 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100421 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4503379 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130430 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130430 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140430 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |