JP4066621B2 - 全文検索システム及び全文検索プログラム - Google Patents

全文検索システム及び全文検索プログラム Download PDF

Info

Publication number
JP4066621B2
JP4066621B2 JP2001220256A JP2001220256A JP4066621B2 JP 4066621 B2 JP4066621 B2 JP 4066621B2 JP 2001220256 A JP2001220256 A JP 2001220256A JP 2001220256 A JP2001220256 A JP 2001220256A JP 4066621 B2 JP4066621 B2 JP 4066621B2
Authority
JP
Japan
Prior art keywords
search
character string
search processing
processing devices
data
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.)
Expired - Fee Related
Application number
JP2001220256A
Other languages
English (en)
Other versions
JP2003030197A (ja
Inventor
史郎 安倍
正卓 松浦
洋子 田端
真彦 永田
泰久 原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2001220256A priority Critical patent/JP4066621B2/ja
Priority to US10/083,469 priority patent/US7080069B2/en
Priority to EP02251559A priority patent/EP1278133B1/en
Priority to KR1020020012709A priority patent/KR100733531B1/ko
Publication of JP2003030197A publication Critical patent/JP2003030197A/ja
Application granted granted Critical
Publication of JP4066621B2 publication Critical patent/JP4066621B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1032Simple parity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Description

【0001】
【発明の属する技術分野】
本発明は、複数処理装置を用いて大量データを短時間で検索する文字列照合方式の全文検索システムに関する。ここで、文字列照合方式とは、指定した文字列と検索対象のテキストデータを、検索対象のテキストデータの先頭より後方に向かって逐次照合しながら、指定した文字列が検索対象のテキストデータ中に存在するかを調べる方式である。
【0002】
【従来の技術】
従来にも、特開平8-137734号公報「情報処理システム及びデータベースの分散方法」に、複数の検索処理装置を用いて検索時間の短縮を行う方法として、パソコン等の小規模の情報処理装置をパソコンLANで接続し、データベースを各情報処理装置でもほぼ均一になるようにデータを分散して配置し、データ処理時には各情報処理装置で並列して処理を行ない、処理結果を一つの情報処理装置に統合して表示するようにした方法が提案されている。
【0003】
また、検索対象データを複数の領域に分割して、その分割された領域単位に別の検索処理装置に割当て、それぞれの検索処理装置が同時並行的に検索処理を行う方式が考えられていた。例えば、特開平9-134364号公報「情報検索システム」には、検索処理を行なう複数の検索サーバと、これら複数の検索サーバの動作を管理するための検索管理サーバとを備え、検索管理サーバを、検索対象テキストベースとこのテキストベースについての関連情報とをそれぞれ分割し、このテキストベースの分割部分とその分割部分に対応する関連情報とを組にして複数の検索サーバのうちの一部または全部に割り当てるように構成するとともに、複数の検索サーバを、それぞれ、検索管理サーバによって割り当てられたテキストベースの分割部分に対する情報検索を並列かつ独立に行なうように構成して、情報検索システムに関し、複数のテキストベースを同時に検索する場合でも、特別なハードウェアを必要とせずに、且つ、検索対象テキストベースの大きさにも影響されずに高速に情報検索を行なうようにして同時並行的に検索処理を行う方式が提案されている。
【0004】
【発明が解決しようとする課題】
しかし、この上記第1の従来の技術では、データベースの分割において、それぞれを物理的に独立して各装置のファイルとした場合、検索処理装置の増設や検索処理装置の故障による検索処理装置の増減が発生した場合、検索対象データの物理的な再分割が必要となり、その処理のためのシステム停止の時間が長くなることになる。
【0005】
また、上記第2の従来技術の場合、上記のテキスト形式ファイルは、データを追加したり一部のデータを変更すると、ファイル全体の書き換えが行われ、ファイルが巨大な場合、その書き換え処理には大きな時間が必要となる。従って、検索処理とデータの追加更新処理が並行して行われる文字列照合方式の全文検索システムにおいては、この書き換え処理時間の問題を解決しないと実用的なものとならない。また、多くの検索処理装置を用いることにより、検索処理装置のいずれかに障害が発生する可能性はそれだけ高くなることが考えられる。
【0006】
したがって、本発明は、検索対象データの更新、追加を検索と並行して行うことが可能で、かつ、いずれかの検索処理装置に障害が発生した場合にも、その障害が発生した検索処理装置を取り除いた縮退運転を迅速に行うことを可能とする手段を提供することを課題とする。
【0007】
【課題を解決するための手段】
図1には本発明の構成図を示す。図において1は検索対象文字列データである。すなわち、本来の検索を行う検索対象である文字列データを示し、磁気ディスク装置や半導体記憶装置などに格納された論理的にひとつながりの文字列データである。これらは文字列を走査して読み取ることにより識別可能なレコードに区切られており、この文字列レコードがそれぞれまとまった情報として集められ格納されている。検索はこのレコードを構成する文字列情報を検索条件に基づいて照合し満足する文字列レコードを探し出して出力するように行われる。
【0008】
4は検索処理装置であり複数台数で構成される。本発明の全文検索システムは上記検索対象文字列データ1をこれら複数の検索処理装置4に分配して検索処理を行うようにするものであり、2は検索対象文字列データ1を文字列レコード群に分割して複数の検索処理装置4に割り当て、与えられた文字列検索条件を検索指示として各検索処理装置4に送信し、各検索処理装置4から検索結果を受信して統合する検索統合手段である。
【0009】
通常、検索対象とする文字列データはその内容は固定されたものではなく、新しいデータの追加や更新が必要となる。本発明においてはこのようなデータの追加、更新を検索処理の実行中に並行して実行可能となるなように、上記検索対象文字列データ1のレコードを追加更新するとき、不図示の追加更新手段により追加更新したレコードを記憶する追加更新一時記憶手段3を備える。これにより、追加、更新時には検索対象文字列データ1の内容は変更せず追加更新一時記憶手段3に追加、更新データを記憶するようにしている。
【0010】
追加更新されたレコードも検索処理の対象とするために、あらかじめ定められたいずれか一つの検索処理装置4に追加更新一時記憶手段3に記憶された文字列レコード群を検索担当データとして指示する追加更新レコード検索指示手段8を備えるようにしている。
追加更新されたレコードの反映は適時に実施可能とするように、この追加更新一時記憶手段3に記憶された更新済みレコードに対応する更新前レコードを検索対象文字列データ1から削除するとともに、上記追加更新済みレコードを検索対象文字列データ1に組み入れる更新結果反映手段5を備えるようにしている。
【0011】
多数の検索処理装置4に処理を分担させるとき、その中に故障装置があるときには、その検索処理装置を除外して検索処理を分担して実行する。すなわち、上記検索統合手段2が上記複数の検索処理装置4に検索指示を送信後、検索対象文字列データ1を分割して割り当てられた検索処理装置4から検索結果を受信した時刻を記憶する検索結果受信時刻記憶手段6と、最初に受信した検索処理装置4の検索結果受信時刻から、あらかじめ設定された時間以内に検索結果を受信できなかった検索処理装置4を故障装置として判定する故障検索処理装置判定手段7とを備える。
【0012】
また、上記追加更新一時記憶手段3に記憶されたレコード群を検索担当データとして指示された検索処理装置4も記憶されたレコード群が多くなり検索時間が長くなったときに一旦故障装置であると判定されるが、この場合は更新結果反映手段5による追加更新済みレコードの検索対象文字列データ1への組み入れを行った後であらためて検索処理を実行する。
【0013】
【発明の実施の形態】
本実施の形態においては、パーソナルコンピューター、ワークステーション等の汎用的な目的で使用される計算機上で実行するコンピュータプログラムにより実現する形態を示す。
本発明の全文検索システムは、処理装置、主記憶装置、入出力装置などから構成される計算機上で、コンピュータプログラムを実行して実現される。また、コンピュータプログラムは、フロッピーディスクやCD−ROM等の可搬型媒体やネットワーク接続された他の計算機の主記憶装置や補助記憶装置等に格納されて提供される。本発明の記録媒体は、上記可搬型媒体、主記憶装置、補助記憶装置に該当する。
【0014】
提供されたコンピュータプログラムは、可搬型媒体から直接計算機の主記憶装置にロードされ、または、補助記憶装置を備えた計算機においては可搬型媒体から一旦補助記憶装置にコピーまたはインストール後に、主記憶装置にロードされて実行する。また、ネットワーク接続された他の装置に格納されて提供された場合も、他の装置からネットワークを経由して受信後に、主記憶装置にロードされ、あるいは補助記憶装置を備える計算機においては補助記憶装置にコピー後に、主記憶装置にロードされて実行するものである。
【0015】
図2に本発明の全文検索システム(以後は本システムという)の全体概念を示す。本システムは、複数の端末(端末A、端末B、端末C)から非定期的に発生する検索依頼に対して、検索対象データ(図1の検索対象文字列データ1に対応する)の中からそれぞれの検索依頼を満足する情報を抽出して、その情報を検索結果としてそれぞれの端末に返す装置である。また、本システムは、検索処理と並行して、端末(端末D)からのデータの追加更新依頼により、検索対象データへの新しいデータの追加、および検索対象データの変更が行うことができる。
【0016】
最初に、検索対象データの内容の例を図3に示す。検索対象データは複数のレコードから構成される。レコードは複数の項目から構成される。項目の中身は文字列である。なお、数値や日付も文字列で表される。レコードはレコード区切符号等の手段により識別できる。レコード内の項目は項目区切符号により区切られており、項目識別符号( 以下項目タグと呼ぶ) により一意に特定できる。また、レコードにはレコードを一意に識別できる符号であるレコードNOが付与されている。また、本発明の実施の形態の検索対象データは十分に大量であるとして説明する。
【0017】
検索依頼の例を図4に示す。また、図5および図6に端末から検索を行ったときの検索依頼画面の例、検索結果画面の例を示す。この例では、検索依頼は項目タグと検索語を対とした情報の羅列と、検索条件式を持つ。これらの情報は、検索対象レコードの中の項目タグで指定する項目の中に指定検索語が存在し、かつ、検索条件式を満足するレコードを捜して欲しい、と言うことを意味する。
【0018】
この例は具体的には、人事情報の検索において、検索条件として、名前と出身校を入力し、関連する情報としてその両方を満足する人事情報を検索するという簡単な例を示している。また、検索依頼画面で名前だけとか名前と出身地とか、入力画面に分かっている情報を入力すると満足する情報が見つかったときにはその関連情報を含めて返すようになっている。このように、入力された情報の組み合わせにより図4に示す検索依頼の例に示す条件式は自動的に作りだされるようになっている。
【0019】
このように、本システムは検索依頼を満足するレコードをファイルの中から見つけ出し、そのレコードの一部または全体を端末の画面など検索依頼元に返す。本方式の場合、複数の検索処理装置(図1における検索処理装置4に対応する)を用いて同時並行的に検索処理を行うので、検索処理装置の数に比例して検索時間が短縮される。
【0020】
また、本方式の場合、分割された領域を物理的に独立したファイルとするのではなく、検索対象データを物理的に一つのファイル、あるいは、論理的にひとつながりのファイルに構成し、レコード単位に処理装置の数だけの領域に論理的に分割して、各々の領域を別の検索処理装置に割り当てて検索を行う。これにより、検索処理装置の増減が発生した場合、新たにファイルを検索処理装置の数だけの領域に論理的に再分割を行って、各領域を検索処理装置へ再割当てを行うだけで、速やかに処理を続行することができる。
【0021】
本方式でのファイル形式は、文字情報を単純に並べただけのテキスト形式のファイルとする。しかし、本発明の対象とする全文検索システムの扱う検索対象データは十分に大量であることを前提としているため、検索対象データを一つのファイルにまとめた場合、そのファイルは巨大なものとなる。
上記のテキスト形式ファイルは、データを追加したり一部のデータを変更するとファイル全体の書き換えが行われ、ファイルが巨大な場合、その書き換え処理には大きな時間が必要となる。従って、本発明の対象とする検索処理とデータの追加更新処理が並行して行われる文字列照合方式の全文検索システムにおいては、この書き換え処理時間の問題を解決しないと実用的なものとならない。また、本システムは多くの検索処理装置を用いるため、検索処理装置のいずれかが故障する確率が高くなる。従って、いずれかの検索処理装置に障害が発生した場合に、その障害が発生した検索処理装置を取り除いた縮退運転を迅速に行う必要がある。
【0022】
本発明の実施の形態の全体構成図を図7に示す。本システムは、1 つの受付サーバ、複数の検索サーバおよび1つのファイルサーバで構成される。受付サーバは端末からの検索依頼を受付け、それを検索サーバa〜eに渡す。検索サーバa〜eは、検索依頼を満足するレコードを検索対象ファイルの自分の受け持つ領域の中から見つけ出し、その結果を受付サーバに返す。
【0023】
検索サーバeは、検索依頼を満足するレコードを更新ファイルの中から見つけ出し、その結果を受付サーバに返す。受付サーバは、全検索サーバからの回答をとりまとめて端末に返信する。
また、受付サーバは、端末からの検索対象ファイルへのデータの追加更新依頼により、更新ファイルに、新規データの追加登録または変更されたデータの登録を行う。ファイルサーバは、受付サーバまたは検索サーバからの要求により検索対象ファイルおよび更新ファイルのデータの読み出し、および書き込みを行う装置であり、一般的な装置であるので本実施例では説明を割愛する。
【0024】
次に、受付サーバの詳細について説明する。受付サーバの構成は図8の通りである。受付サーバは、情報処理装置、磁気ファイル装置およびプログラム記憶装置で構成される。プログラム記憶装置の構成要素は、制御プログラム、ディレクタプログラム(図1における検索統合手段2に対応する)、データ更新プログラム、時間監視プログラム(図1における検索結果受信時刻記憶手段6および故障検索処理装置判定手段7に対応する)、検索スレッド、環境テーブル、応答用テーブル、更新ファイル応答用テーブル、検索依頼バッファーおよび検索結果テーブルである。
【0025】
ここで、データ更新プログラムは検索対象の文字列データが格納されているファイルのレコードの更新を行うプログラムである。レコードの更新は検索対象の維持管理を行う受付サーバが行う。
ディレクタプログラムは複数の検索サーバへの検索対象の文字列データを分配したり、端末から受け付けた検索依頼を各検索サーバに受け渡したり、各検索サーバから返される検索結果を統合して依頼元に返すという分割検索を統合する役割を果たすプログラムである。
【0026】
時間監視プログラムは検索依頼を検索サーバに依頼した後、検索サーバからの応答を監視して、他の検索サーバの応答に比べて極端に時間がかかる検索サーバの異常を検出するものである。
検索スレッドは到着した検索依頼を検索サーバに連続して並行的に送り出すものである。
【0027】
環境テーブル、応答用テーブル、更新ファイル応答用テーブルは後に詳述するが、検索サーバへの検索処理の配分を管理するテーブルである。
検索依頼バッファは受付サーバに端末からの検索依頼を処理待ちの状態として蓄積するバッファであり、各検索サーバに順次検索指示として送信するものである。検索結果テーブルは、各検索サーバが分割された領域の検索対象データを検索した結果を蓄積するもので、全検索サーバの結果が揃ったときこれを統合して依頼元の端末に検索結果を送信することになる。
【0028】
次いで、検索サーバの詳細について説明する。検索サーバの構成を図9に示す。検索サーバは、情報処理装置、磁気ファイル装置およびプログラム記憶装置で構成される。プログラム記憶装置の構成要素は、制御プログラム、初期設定プログラム、全文検索プログラム、割当テーブルおよび検索データである。
処理の流れを、事前処理、更新処理、検索処理および領域再割当処理の4つに大きく分けて説明する。その4つの処理の関係を図10に示す。事前処理は、システムの起動を行った後、検索依頼またはデータ更新依頼を端末から受け取る前までの処理である。更新処理は、端末からの依頼により新規データの追加登録および変更されたデータの登録を行う処理である。検索処理は、端末から検索依頼を受け取ってから、検索結果を端末に返すまでの処理である。領域再割当処理は、検索処理の過程において検索処理が異常終了した場合に、データ領域の検索サーバへの再割当を行う処理である。
【0029】
まず、事前処理について説明する。事前処理の基本的な機能とテーブルの関連を図11に示す。図11には、図8および図9に示した受付サーバ、検索サーバの構成図のうち事前処理の動作に関わるテーブル類と処理を示し、さらに、検索対象ファイルの各検索サーバでの検索の領域分担の例示、更新ファイルとの関連を示している。
【0030】
図11に示す検索対象ファイルは検索サーバa、検索サーバb、検索サーバdの3台で領域を分担している様子を例示している。各領域はレコードを単位として割り当てられ、例えば、検索サーバaがレコードNOの1から784、検索サーバbが785から1568のように分担するようにしていることを示している。通常、負荷の均等化を計るためレコード数あるいは文字列の長さ、もしくはサイズの総和がほぼ等しくなるように分割している。また、更新ファイル(図1における追加更新一時記憶手段3に対応する)は追加された、あるいは更新済のレコードを検索対象ファイルとは別のファイルとして格納するものである。
【0031】
このような内容の図11を参考にしながら、受付サーバおよび検索サーバの処理の流れを詳細に説明していく。受付サーバにおける動作は、最初に、受付サーバの制御プログラムが、システムの初期化等を行った後、ディレクタプログラムを起動する。ディレクタプログラムの、起動された後の処理の流れを図12に示す。
【0032】
ディレクタプログラムは、最初にステップS1201で更新ファイルのデータを検索対象ファイルに併合(図1における更新結果反映手段5に対応する)する。更新ファイルは検索対象ファイルの更新されたり追加されたレコードが一時的に格納されるファイルであるので中身がない場合もあるが、通常は前回運用時に蓄積されたレコードが格納されているので、検索を開始あるいは検索の中断等何らかの原因で再開するときにはまず検索対象ファイルに併合するようになっている。
【0033】
このとき、更新ファイルと検索対象ファイルに同一レコードNOのデータが存在した場合、検索対象ファイルのデータを更新ファイルのデータで置き換える。本併合処理の後、更新ファイルのレコードはすべて検索対象ファイルに一本化されるので、更新ファイルのデータは全て消去する。
次に、ステップS1202においてディレクタプログラムは環境テーブルを作成する。図13に示すように、環境テーブルは検索サーバの一覧であり、検索サーバ名、アドレス(ネットワークアドレス)、状態フラグ、更新ファイル担当フラグから成る。状態フラグとは、その検索サーバの状態を示す。例えば、その検索サーバが使えない状態にあれば「1」とし、使える状態であれば「0」とする。更新ファイル担当フラグは更新ファイルの検索を担当する検索サーバであることを示す。更新ファイル担当フラグ以外の情報は、予め磁気ファイル装置に記録しておき、ディレクタプログラムはそこから情報を得て環境テーブルを設定する。
【0034】
次に、ステップS1203でディレクタプログラムは検索対象ファイルを読んで応答用テーブルを作成する。応答用テーブルは図14に示すように検索対象ファイル中の全レコードの一覧であり、レコードNO、そのレコードのファイル上の先頭アドレス、およびそのレコードの長さから成る。
次に、ステップS1204においてディレクタプログラムは、環境テーブルおよび応答用テーブルを基にして検索サーバ別に、割当テーブルを作成する。割当テーブルは、図15に示すように各検索サーバの検索の受持ち範囲を割り当てたテーブルであり、環境テーブル(図13に例示)の状態フラグが使用可能状態「0」である検索サーバの内、一つを除いた全てについてそれぞれ作成する。また、環境テーブル( 図13) 中の、その残された検索サーバの更新ファイル担当フラグ(図1における追加更新レコード検索指示手段8に対応する)をON「1」にする。割当テーブルは個々の検索サーバが検索を受け持つレコードの一覧であり、レコードNO、そのレコードの先頭アドレス、およびそのレコードの長さから成る。個々の検索サーバが受け持つレコードは、応答用テーブル( 図14) を見て、個々の割当テーブルのレコードの数またはレコードの長さの総和、が均等になるように、応答用テーブルの先頭から順番に割り当てる。
【0035】
ステップS1205では、ディレクタプログラムは、割当テーブル( 図15) を、検索対象ファイル名と共に、それぞれが対応する検索サーバへ通知する。また、環境テーブルの更新ファイル担当フラグがON「1」の状態にある検索サーバに対して、中身が空の割当テーブルを更新ファイル名と共に通知し、その後、検索依頼待ち状態となる。以上が図12の受付サーバのディレクタプログラムの流れに沿った受付サーバの事前処理の動作の説明である。
【0036】
次に検索サーバにおける事前処理の動作について説明する。最初に、検索サーバの制御プログラムが、システムの初期化を行った後に、初期設定プログラムおよび全文検索プログラムを起動する。
起動された後の初期設定プログラムの処理の流れを図16に示す。ステップS1601で、初期設定プログラムは割当テーブルを受付サーバから受け取り、ステップS1602で、割当テーブルに割当レコードがある場合、ステップS1603で、その全てのレコードNOのレコードを検索対象ファイルよりプログラム記憶装置に読み込み検索データ(図17)を作成する。
【0037】
割当テーブルに割当レコードがない場合は、更新ファイル担当の検索サーバであるので何もしないでそのまま終わる。以後、全文検索プログラムは起動された後、検索依頼待ち状態となる。
次に、上記事前処理の説明に続いて、図10の中に示した更新処理について説明する。更新処理の基本的な機能とテーブルの関連を図18に示す。図18を参考にしながら、更新処理における受付サーバの処理の流れを詳細に説明する。
【0038】
受付サーバの制御プログラムは、システムの初期化等を行った後、ディレクタプログラムと共にデータ更新プログラムを起動する。起動された後のデータ更新プログラムの処理の流れを図19に示す。
データ更新プログラムは、起動された後、プログラムの初期化等を行い、データ更新依頼待ちとなる。データ更新依頼を受け付けた後、ステップS1901において、送られてきたデータが新規の追加登録データであれば、従来検索対象ファイルおよび更新ファイルに存在した最大レコードNO+1のレコードNOを付与して、更新ファイルの最後に記録する。送られてきたデータが変更されたデータであれば、そのまま更新ファイルの最後に記録する。もし、送られてきた変更データと同じレコードNOのデータが更新ファイルに存在した場合は、存在していた更新ファイルのデータを削除する。更新ファイルへのデータ登録後、ステップS1902で、更新ファイル応答用テーブル( 図20) を作成して、再びデータ更新依頼待ちとなる。
【0039】
次に、図10に示した処理の全体の流れの中の検索処理について説明する。検索処理の基本的な機能とテーブルの関連を図21に示す。図21を参考にしながら、検索処理における受付サーバおよび検索サーバの処理の流れを詳細に説明する。ここに示すように、端末から検索依頼を受け取ると、事前処理でディレクタプログラムが設定したように、検索対象ファイルの各割り当てられた領域のレコードが検索サーバa、b、dに、更新ファイルのレコードが検索サーバeに検索を担当させるようにして、検索依頼が各検索サーバに送信される。
【0040】
図12の処理の流れの最後で、ディレクタプログラムは事前処理を終了すると検索依頼待ちの状態にある。その後の処理の流れを図22に示す。
端末からの検索依頼は検索依頼バッファー( 図23) に格納される。ステップS2201では、端末から検索依頼があると、ディレクタプログラムは検索依頼バッファーから検索依頼を取り出し、まず、検索結果テーブル( 図24) を検索依頼単位に作成する。検索結果テーブルには環境テーブル( 図13) の使える状態にある検索サーバ名の一覧を作成し、環境テーブルの更新ファイル担当フラグを転記し、更に、処理結果フラグ、処理完了時刻およびヒットレコードNOの欄を設ける。
【0041】
次に、ステップS2202で、ディレクタプログラムは、使える状態にある全検索サーバに対応した検索スレッドを起動する。検索スレッドには、起動と同時に、検索依頼( 図4)、環境テーブル(図13)中の担当する検索サーバのアドレスおよび検索結果テーブル( 図24) 中の自分が回答を書き込む欄を知らせる。検索スレッドは検索依頼別に、使える状態にある検索サーバの数だけ作成されることになる。検索スレッドを起動した後、ディレクタプログラムはステップS2203で検索結果通知待ちの状態になるが、以降の処理は後述する。
【0042】
検索スレッドの処理の流れを図25に示す。検索スレッドは起動された後、検索依頼を受け取り、ステップS2501で、それを自分の担当する検索サーバの全文検索プログラムに通知する。ステップS2502で検索結果を待ち、ステップS2503で検索結果の確認をして、検索サーバから検索結果の回答としてヒットレコードNO( 図26) を受け取ったら、ステップS2504で、その回答を検索結果テーブル( 図27) のヒットレコードNO欄に書き込み、更に、ステップS2505で、その時の時刻を処理完了時刻欄に書き込み、ステップS2506で処理結果フラグを正常終了状態「1」にする。もし検索サーバから異常終了の回答があったら、ステップS2506で処理結果フラグ欄を異常状態「2」にする。
【0043】
次に、検索スレッドから検索依頼を受け取った後の全文検索プログラムの処理の流れを図28に示す。全文検索プログラムは、受け取った検索依頼を満足するレコードを、ステップS2801で割当テーブル( 図15) にレコードがある場合はステップS2802で、プログラム記憶装置上の検索データ( 図17) の中から捜し出し、ステップS2801で割当テーブルが空の場合はステップS2803で更新ファイルから捜し出す。次に、ステップS2804で捜し出したレコードのレコードNOをヒットレコードNO( 図26) として、依頼のあった検索スレッドに回答する。もし、検索過程で異常を検出した場合は、異常終了のメッセージを依頼のあった検索スレッドに回答する。
【0044】
時間監視プログラムの処理の流れを図29に示す。時間監視プログラムは一定時間間隔で処理を開始する。処理開始後、全ての検索結果テーブル( 図27) について以下の処理を行う。
まず、ステップS2901で、処理結果フラグが異常終了「2」となっている検索サーバがあれば、ステップS2906でディレクタプログラムに処理結果通知として異常終了の通知を行う。ステップS2902で全処理結果フラグが正常終了「1」となっていた場合は、ステップS2904でディレクタプログラムに処理結果通知として正常終了を通知する。処理結果フラグが未入力、すなわち処理未完了の検索サーバがあれば、ステップS2903で更新ファイル担当以外の検索サーバの処理完了時刻の内、最も早い時刻より一定時間を経過していた場合は、ステップS2905で処理結果フラグが未入力で、かつ更新ファイル担当以外の検索サーバの検索結果テーブル(図27)の処理結果フラグを異常終了「2」にした後、ステップS2906でディレクタプログラムに処理結果通知として異常終了の通知を行う。
【0045】
図22に戻って説明する。ディレクタプログラムは検索スレッドの起動後、ステップS2204で時間監視プログラムからの処理結果通知を受け取る。
処理結果通知の内容が正常終了であった場合はステップS2205で次の処理を行う。更新ファイル担当フラグがOFFすなわち「0」の検索サーバについては、応答用テーブル( 図14) から、ヒットレコードNOに記載されているレコードNOに対応するレコードの先頭アドレスおよびレコードの長さを取り出して、それに該当するレコードの内容を検索対象ファイルより読み込む。更新ファイル担当フラグがONすなわち「1」の検索サーバについては更新ファイル応答用テーブル( 図20) より、ヒットレコードNOに記載されているレコードNOに対応するレコードの先頭アドレスおよびレコードの長さを取り出して、それに該当するレコードの内容を更新ファイルより読み込む。但し、応答用テーブル( 図14) と更新ファイル応答用テーブル( 図20) に同一のレコードNOのデータがある場合は、応答用テーブル( 図14) のレコードNOのデータを無視する。最後に、ステップS2206で読み込んだレコードの内容を所定の形式に編集して端末に送信し、検索依頼バッファー中の当該端末の検索依頼データを消去する。
【0046】
ステップS2204で処理結果通知の内容が異常終了であった場合は、領域再割当処理を行う。ディレクタプログラムの領域再割当処理の処理の流れを図30に示す。領域再割当処理では、まず、ステップS3001で全検索スレッドの停止を行う。次にステップS3002で検索結果テーブル( 図27) の処理結果フラグが異常「2」を示している検索サーバについて、環境テーブル( 図31) の状態フラグを使用不可状態「1」にした後、全ての検索結果テーブルを消去する。
【0047】
次に、ステップS3003で更新ファイルのデータを検索対象ファイルに併合する。このとき、更新ファイルと検索対象ファイルに同一レコードNOのデータが存在した場合、検索対象ファイルのデータを更新ファイルのデータで置き換える。本併合処理の後、更新ファイルのデータは全て消去する。
その後、ステップS3004で応答用テーブル( 図14) の再創生を行う。
【0048】
次に、ステップS3005で応答用テーブル( 図14) と環境テーブル( 図31) を用いて、図32に示すように、各検索サーバの検索受持ち範囲の再割当を行う。例えば、図31に示すように、検索サーバdが使用不可であることが判明した場合には、図32に示すように、更新ファイルの担当である検索サーバeを除いた検索サーバa、b、dの3つに割り当てていた検索対象ファイルを、検索サーバa、bの2つに割り当て直す。ステップS3006でその再割当結果の割当テーブル( 図33に形式を示す) を全検索サーバに通知する。
【0049】
検索サーバの初期化プログラムはその通知を受け取って、事前処理と同じ処理( 図16) を行う。
以上の処理の後、ディレクタプログラムは、検索依頼バッファーにある検索依頼を取り出して、検索処理( 図22) を再開する。
以上で一つ目の実施例の説明を終える。
【0050】
二つ目の実施例について説明する。一つ目の実施例は、受付サーバおよび検索対象ファイルが一つの場合の事例である。二つ目の実施例では、受付サーバと検索対象ファイルが組となり複数存在する場合について説明する。二つ目の実施例は、検索依頼者が、地域的に分散して存在する複数の一つ目の実施例のシステムに対して、横断的な検索依頼を行いたい場合に有効である。
【0051】
二つ目の実施例の全体構成図を図34に示す。検索対象ファイルが複数個ある場合、それぞれの検索対象ファイルに対応して一つ目の実施例と同じシステムを作成する。これにより、受付サーバが複数個作成されることになる。これらの受付サーバと端末の間に一つのジェネラル受付サーバを設ける。各端末は、ジェネラル受付サーバに対して検索依頼を行い、ジェネラル受付サーバから検索結果を受け取る。このようなケースにおいては、検索対象ファイルの更新、維持の処理は各管理単位の受付サーバ単位に実施されるので、ジェネラル受付サーバを経由してアクセスする端末からのデータ更新依頼を許可しないのが一般的であり、ジェネラル受付サーバは、端末からのデータ更新依頼を受付ないものとする。
【0052】
ジェネラル受付サーバ以外は全て一つ目の実施例と同じであるので、ジェネラル受付サーバについてのみ詳細を説明する。ジェネラル受付サーバの構成は図35のとおりである。ジェネラル受付サーバは、情報処理装置、磁気ファイル装置およびプログラム記憶装置で構成される。プログラム記憶装置の構成要素は、制御プログラム、ディレクタプログラム、環境テーブルG、検索結果テーブルGおよび受付スレッドである。
【0053】
二つ目の実施例の基本的な機能とテーブルの関連を図36に示す。図36を参考にしながら、ジェネラル受付サーバの処理の流れを詳細に説明する。最初に、制御プログラムがシステムの初期化を行った後、ディレクタプログラムを起動する。
ディレクタプログラムは、起動された後、環境テーブルG(図37) を作成し、その後は検索依頼待ちとなる。環境テーブルGは受付サーバの一覧であり、受付サーバ名、アドレス、状態フラグから成る。状態フラグとは、その受付サーバの状態を示す。例えば、その受付サーバが使えない状態にあれば「1」とし、使える状態であれば「0」とする。これらの情報は予め磁気ファイル装置に記録しておき、ディレクタプログラムはそこから情報を得る。
【0054】
検索依頼を受け取った後のディレクタプログラムの処理の流れを図38に示す。ディレクタプログラムは、検索依頼を受け取った後、ステップS3801で環境テーブルに基づき、検索結果テーブルG(図39) を作成する。検索結果テーブルGは使用可能状態にある受付サーバの一覧であり、処理結果フラグ欄及び検索結果欄を持つ。
【0055】
次に、ディレクタプログラムは、ステップS3802で使える状態にある全受付サーバに対応した受付スレッドを起動する。受付スレッドには、起動と同時に、検索依頼、担当する受付サーバのアドレスおよび検索結果テーブル中の自分が回答を書き込む欄を知らせる。受付スレッドは検索依頼別に、使える状態にある受付サーバの数だけ作成されることになる。受付スレッドを起動した後、ディレクタプログラムはステップS3803で検索結果通知待ちの状態になるが、以降の処理は後述する。
【0056】
受付スレッドの処理の流れを図40に示す。受付スレッドは起動された後、ステップS4001で検索依頼を受け取り、それをステップS4002で自分の担当する受付サーバに送信する。ステップS4003で受付サーバから検索結果( 図41) を受け取ったら、ステップS4004で、それを検索結果テーブルG( 図42) の検索結果欄に書き込むと同時に処理結果フラグを正常終了状態( 例えば「1」)にする。ステップS4003で、もし一定時間内に受付サーバから回答がなかった場合は、ステップS4005で受付サーバに異常があったと見做して、処理結果フラグ欄を異常状態( 例えば「2」)にする。
【0057】
図38に戻って説明する。ディレクタプログラムは受付スレッドの起動後、検索依頼別に全受付スレッドの処理完了待ちを管理しておき、ステップS3804で処理完了となった時点で検索結果テーブルG(図42) の処理結果フラグを確認する。その結果、ステップS3806、ステップS3807で全ての検索結果が正常である受付サーバの検索結果を所定の形式に編集して端末に送信する。
【0058】
処理結果フラグの確認の結果、いずれかの処理結果フラグが異常を示していた場合は、ステップS3805で環境テーブルG(図43) の該当する受付サーバの状態フラグを使用不可状態にする。以後に端末から受け取った検索依頼については、使用可能な受付サーバに対してのみ検索依頼を行う。以上で二つ目の実施例の説明を終える。
【0059】
ここで、レコード番号の扱いについて補足して説明しておく。上記実施の形態において、検索対象文字列データの中のレコードの構成としてレコードNOを保持するようにしているが、検索条件としては文字列を比較することにより行うので、レコード番号を持つ必要がなくレコードの並びとその分割を説明するために例示したものである。
【0060】
実際、レコードNOは各検索処理装置に検索対象文字列データの検索担当範囲としてレコードを配分するとき受付サーバが応答用テーブルを作成するときに、検索対象文字列データの先頭から順次文字列を読み込むのでレコードの先頭が分かればテーブルに順次レコード番号を採番して記録し、そのファイル(検索対象文字列データ)上の位置、レコードの長さを記録できる。
【0061】
また、このように、受付サーバは上記応答用テーブルを保持しているので、各検索処理装置への担当領域の配分、再配分を連続したレコードNOを用いて容易に行うことができるようになっている。
また、上記実施の形態の説明においては検索中の検索対象文字列データの保守作業として追加、更新を取り上げたが、更新ファイル応答用テーブル図20には図示していないが、ここに従来技術により用いられるように削除フラグを設けて、追加更新だけではなく検索処理中に検索対象文字列データの削除も行えるようにすることができる。
【0062】
また、更新ファイルとそれぞれの検索処理装置が分担して検索する検索対象文字列データの各領域の両方で見つかった同一レコードNOのレコードの判定により更新されたデータを優先するようにしたが、これも、応答用テーブルなどテーブルへの更新フラグ記録を行って判別してもよい。
これは、更新結果反映手段5による追加、更新、削除などの検索対象文字列データへの反映を行う方法にも適用してもよい。
【0063】
なお、上記各検索サーバは担当する検索対象のデータの扱いは、従来は、実用的にはファイル上での検索を行うことが多かったが、本発明の実施の形態においては、担当領域のデータをいったん各検索サーバのメモリ上に展開して、文字列の検索を行うようにしている。ただし、更新ファイルについては、更新ファイルに記憶されるレコードの数が少ないときには従来通りファイル上の検索を行ってもよく、上記説明した実施の形態においては、メモリ上への展開は行っていない。更新の頻度が多い場合には上記他の検索サーバと同様に更新ファイル担当の検索サーバに付いてもプログラム記憶装置に検索データを展開して文字列の検索を行ってもよい。
【0064】
本発明の実施の形態では、各検索処理装置はサーバであり受付サーバとの間はネットワークで接続されているとしたが、検索の受付をする装置と検索をする装置がその他高速リンク等の接続方法を用いても同様の効果が期待できる。
(付記1)担当する検索担当データの所在と文字列検索条件とを指示されて、検索結果を応答する複数の検索処理装置を有し、検索対象文字列データを文字列レコード群に分割して1以上の該検索処理装置に割り当て、与えられた文字列検索条件を検索指示として各該検索処理装置に送信し、各該検索処理装置から検索結果を受信して統合する検索統合手段を設けた全文検索システムであって、
上記検索対象文字列データの追加あるいは更新するレコードのみを一時記憶する追加更新一時記憶手段と、
あらかじめ定められた上記いずれか一つの検索処理装置に上記追加更新一時記憶手段に記憶された文字列レコード群を検索担当データとして指示する追加更新レコード検索指示手段と、
を備えることを特徴とする全文検索システム。
【0065】
(付記2)上記追加更新一時記憶手段に記憶された追加更新レコードに対応する更新前レコードを検索対象文字列データから削除するとともに、上記追加更新レコードを検索対象文字列データに組み入れる更新結果反映手段を備えることを特徴とする付記1記載の全文検索システム。
(付記3)上記検索統合手段が上記複数の検索処理装置に検索指示を送信後、検索処理装置から検索結果を受信した時刻を記憶する検索結果受信時刻記憶手段と、
検索対象文字列データを分割して割り当てられた検索処理装置の内で上記検索結果受信時刻記憶手段により記憶された最初に受信した検索結果受信時刻からあらかじめ設定された時間以内に検索結果を受信できなかった検索処理装置を故障装置として判定する故障検索処理装置判定手段と、
を備えることを特徴とする付記1あるいは付記2のいずれかに記載の全文検索システム。
【0066】
(付記4)上記故障検索処理装置判定手段が上記検索処理装置の故障を判定したとき、検索統合手段は上記複数の検索処理装置から送信された検索結果をすべて破棄し、更新結果反映手段を用いて上記追加更新一時記憶手段が記憶した文字列レコード群を検索対象文字列データに組み入れた後、上記故障と判定された検索処理装置および上記追加更新レコード検索指示手段によって検索を指示された検索装置を除いて利用可能な検索処理装置に検索対象文字列データを分割して割り当て、検索指示を行うようにしたことを特徴とする付記2あるいは付記3のいずれかに記載の全文検索システム。
【0067】
(付記5)担当する検索担当データの所在と文字列検索条件とを指示されて、検索結果を応答する複数の検索処理装置を有し、検索対象文字列データを文字列レコード群に分割して1以上の該検索処理装置に割り当て、与えられた文字列検索条件を検索指示として各該検索処理装置に送信し、各該検索処理装置から検索結果を受信して統合する検索統合手段を設けた全文検索システムにおいて、コンピュータを、
上記検索対象文字列データの追加あるいは更新するレコードのみを一時記憶する追加更新一時記憶手段、
あらかじめ定められた上記いずれか一つの検索処理装置に上記追加更新一時記憶手段に記憶された文字列レコード群を検索担当データとして指示する追加更新レコード検索指示手段、
として機能させることを特徴とする全文検索プログラム。
【0068】
(付記6)担当する検索担当データの所在と文字列検索条件とを指示されて、検索結果を応答する複数の検索処理装置を有し、検索対象文字列データを文字列レコード群に分割して1以上の該検索処理装置に割り当て、与えられた文字列検索条件を検索指示として各該検索処理装置に送信し、各該検索処理装置から検索結果を受信して統合する検索統合手段を設けた全文検索システムにおいて、コンピュータを、
上記検索対象文字列データの追加あるいは更新するレコードのみを一時記憶する追加更新一時記憶手段、
あらかじめ定められた上記いずれか一つの検索処理装置に上記追加更新一時記憶手段に記憶された文字列レコード群を検索担当データとして指示する追加更新レコード検索指示手段、
として機能させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
【0069】
(付記7)担当する検索担当データの所在と文字列検索条件とを指示されて、検索結果を応答する複数の検索処理サーバとネットワークで接続され、検索対象文字列データを文字列レコード群に分割して1以上の該検索処理サーバに割り当て、与えられた文字列検索条件を検索指示として各該検索処理サーバに送信し、各該検索処理サーバから検索結果を受信して統合する検索統合サーバであって、
上記検索対象文字列データの追加あるいは更新するレコードのみを一時記憶する追加更新一時記憶手段と、
あらかじめ定められた上記いずれか一つの検索処理サーバに上記追加更新一時記憶手段に記憶された文字列レコード群を検索担当データとして指示する追加更新レコード検索指示手段と、
を備えることを特徴とする検索統合サーバ。
【0070】
(付記8)担当する検索担当データの所在と文字列検索条件とを指示されて、検索結果を応答する複数の検索処理装置を有し、検索対象文字列データを文字列レコード群に分割して1以上の検索処理装置に割り当て、与えられた文字列検索条件を検索指示として各検索処理装置に送信し、各検索処理装置から検索結果を受信して統合する検索統合手段を設けた全文検索システムにおいて、上記検索対象文字列データのレコードを追加あるいは更新するとき、
追加更新するレコードのみを一時記憶するステップ、
あらかじめ定められた上記いずれか一つの検索処理装置に上記記憶された追加更新する文字列レコード群を検索担当データとして指示するステップ、
とを備えることを特徴とする全文検索中のレコード追加更新方法。
【0071】
【発明の効果】
以上の説明から明らかなように、本発明によれば、レコード区切りのある文字列の並びで構成される大量データから文字列照合方式により与えられた条件の文字列レコードを検索するシステムにおいて、検索処理を行っているときにも並行して、検索対象となる大量データの追加、更新を行うことができるので、大量データの検索システムの運用を容易にするとともに、利用者にとっても検索対象データの時々刻々、追加、更新された最新の情報を検索できるので、検索データの品質向上、信頼性の向上が期待できる。また、本発明の、大量データの検索を多数の検索処理装置を同時に動作させることによって検索速度向上をはかる仕組みにおいても、各検索処理装置が分担する検索対象データの割当も短時間で変更することができるので、もしも一部検索処理装置の不具合が発生しても、検索処理装置の台数を減縮した構成で処理をほとんど中断せずに運転できるので検索システムの全体としての信頼性向上と、稼働率の向上が図れる。
【図面の簡単な説明】
【図1】 本発明の構成図
【図2】 全文検索システムの全体概念
【図3】 検索対象データの例
【図4】 検索依頼の例
【図5】 検索依頼画面の例
【図6】 検索結果画面の例
【図7】 全文検索システムの全体構成図
【図8】 受付サーバの構成図
【図9】 検索サーバの構成図
【図10】処理の全体の流れ
【図11】事前処理のブロック図
【図12】ディレクタプログラムの流れ図(1)
【図13】環境テーブルの例(1)
【図14】応答用テーブルの例
【図15】検索サーバaの割当テーブルの例(1)
【図16】検索サーバの初期設定プログラムの流れ図
【図17】検索データの例
【図18】更新処理のブロック図
【図19】データ更新プログラムの流れ図
【図20】更新ファイル応答用テーブルの例
【図21】検索処理のブロック図
【図22】ディレクタプログラムの流れ図(2)
【図23】検索依頼バッファー
【図24】検索結果テーブルの例(1)
【図25】検索スレッドの流れ図
【図26】検索結果の例(1)
【図27】検索結果テーブルの例(2)
【図28】全文検索プログラムの流れ図
【図29】時間監視プログラムの処理の流れ
【図30】ディレクタプログラムの流れ図(3)
【図31】環境テーブルの例(2)
【図32】検索対象領域の再割当
【図33】検索サーバaの割当テーブルの例(2)
【図34】二つ目の実施例の全体構成図
【図35】ジェネラル受付サーバの構成図
【図36】二つ目の実施例の処理ブロック図
【図37】環境テーブルGの例(1)
【図38】ジェネラル受付サーバのディレクタプログラムの流れ図(2)
【図39】検索結果テーブルGの例(1)
【図40】受付スレッドの流れ図
【図41】検索結果の例(2)
【図42】検索結果テーブルGの例(2)
【図43】環境テーブルGの例(2)
【符号の説明】
1 検索対象文字列データ
2 検索統合手段
3 追加更新一時記憶手段
4 検索処理装置
5 更新結果反映手段
6 検索結果受信時刻記憶手段
7 故障検索処理装置判定手段
8 追加更新レコード検索指示手段

Claims (2)

  1. 複数の文字列レコードから構成される検索対象文字列データと端末に指定された文字列とを逐次照合しながら、該文字列が該検索対象文字列データ中に存在するかを調べる全文検索システムであって、
    複数ある検索処理装置の数に応じて、前記検索対象文字列データを複数の文字列レコード群に分割する分割手段と、
    前記各文字列レコード群を、前記検索処理装置のいずれかにそれぞれ検索対象として割り当てる割り当て手段と、
    前記端末から前記文字列を受け取ると、前記複数の検索処理装置に前記文字列を組み合わせた検索依頼送信する送信手段と、
    前記複数の検索処理装置のそれぞれに対して、前記複数の検索処理装置それぞれに割り当てた前記文字列レコード群における前検索依頼の検索を指示する第1の指示手段と、
    前記複数の検索処理装置に検索を指示した後、該各検索処理装置から検索結果を受信した時刻を記憶する検索結果受信時刻記憶手段と、
    前記検索結果受信時刻記憶手段が記憶する時刻に基づき、あらかじめ設定された時間以内に検索結果を受信できなかった検索処理装置を故障装置として判定する故障検索処理装置判定手段と、
    前記故障検索処理装置判定手段が故障と判定した検索処理装置があった場合に、前記第1の指示手段が指示した検索処理を停止させる手段と、
    前記複数の検索処理装置のうち、前記故障装置として判定した検索処理装置以外の検索処理装置の数に応じて、前記検索対象文字列データを複数の文字列レコード群に分割しなおす手段と、
    該分割しなおした複数の文字列レコード群を、前記故障装置として判定した検索処理装置以外の複数の検索処理装置のいずれかにそれぞれ検索対象として割り当てなおす手段と、
    前記故障装置として判定した検索処理装置以外の複数の検索処理装置のそれぞれに対して、前記故障装置として判定した検索処理装置以外の複数の検索処理装置に割り当てなおした前記分割しなおした複数の文字列レコード群における前記検索依頼の検索を指示する第2の指示手段と
    を備えることを特徴とする全文検索システム。
  2. 複数の文字列レコードから構成される検索対象文字列データと端末に指定された文字列とを逐次照合しながら、該文字列が該検索対象文字列データ中に存在するかを調べる全文検索プログラムであって、
    コンピュータに、
    複数ある検索処理装置の数に応じて、前記検索対象文字列データを複数の文字列レコード群に分割する分割ステップと、
    前記各文字列レコード群を、前記検索処理装置のいずれかにそれぞれ検索対象として割り当てる割り当てステップと、
    前記端末から前記文字列を受け取ると、前記複数の検索処理装置に前記文字列を組み合わせた検索依頼送信する送信ステップと、
    前記複数の検索処理装置のそれぞれに対して、前記複数の検索処理装置それぞれに割り当てた前記文字列レコード群における前記文字列検索条件の検索を指示する第1の指示ステップと、
    前記複数の検索処理装置に検索を指示した後、該各検索処理装置から検索結果を受信した時刻を記憶する検索結果受信時刻記憶ステップと、
    前記検索結果受信時刻記憶手段が記憶する時刻に基づき、あらかじめ設定された時間以内に検索結果を受信できなかった検索処理装置を故障装置として判定する故障検索処理装置判定ステップと、
    前記故障検索処理装置判定手段が故障と判定した検索処理装置があった場合に、前記第1の指示手段が指示した検索処理を停止させるステップと、
    前記複数の検索処理装置のうち、前記故障装置として判定した検索処理装置以外の検索処理装置の数に応じて、前記検索対象文字列データを複数の文字列レコード群に分割しなおすステップと、
    該分割しなおした複数の文字列レコード群を、前記故障装置として判定した検索処理装置以外の複数の検索処理装置のいずれかにそれぞれ検索対象として割り当てなおす手段と、
    前記故障装置として判定した検索処理装置以外の複数の検索処理装置のそれぞれに対して、前記故障装置として判定した検索処理装置以外の複数の検索処理装置に割り当てなおした前記分割しなおした複数の文字列レコード群における前記検索依頼の検索を指示する第2の指示ステップと
    を実行させることを特徴とする全文検索プログラム。
JP2001220256A 2001-07-19 2001-07-19 全文検索システム及び全文検索プログラム Expired - Fee Related JP4066621B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2001220256A JP4066621B2 (ja) 2001-07-19 2001-07-19 全文検索システム及び全文検索プログラム
US10/083,469 US7080069B2 (en) 2001-07-19 2002-02-27 Full text search system
EP02251559A EP1278133B1 (en) 2001-07-19 2002-03-06 Full text search system
KR1020020012709A KR100733531B1 (ko) 2001-07-19 2002-03-09 전문 검색 시스템 및 전문 검색 프로그램을 기록한 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001220256A JP4066621B2 (ja) 2001-07-19 2001-07-19 全文検索システム及び全文検索プログラム

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2007165200A Division JP4506787B2 (ja) 2007-06-22 2007-06-22 全文検索システム及び全文検索プログラム
JP2007253487A Division JP2008065840A (ja) 2007-09-28 2007-09-28 全文検索システム

Publications (2)

Publication Number Publication Date
JP2003030197A JP2003030197A (ja) 2003-01-31
JP4066621B2 true JP4066621B2 (ja) 2008-03-26

Family

ID=19054108

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001220256A Expired - Fee Related JP4066621B2 (ja) 2001-07-19 2001-07-19 全文検索システム及び全文検索プログラム

Country Status (4)

Country Link
US (1) US7080069B2 (ja)
EP (1) EP1278133B1 (ja)
JP (1) JP4066621B2 (ja)
KR (1) KR100733531B1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4066621B2 (ja) * 2001-07-19 2008-03-26 富士通株式会社 全文検索システム及び全文検索プログラム
US7478049B2 (en) * 2003-12-03 2009-01-13 Carekey, Inc. Text generation and searching method and system
EP1716508A4 (en) * 2004-01-19 2008-01-23 Nigel Hamilton METHOD AND SYSTEM FOR RECORDING TRACES OF SEARCH THROUGH ONE OR MORE SEARCH ENGINES IN A COMMUNICATION NETWORK
US8886727B1 (en) 2004-01-27 2014-11-11 Sonicwall, Inc. Message distribution control
US9471712B2 (en) 2004-02-09 2016-10-18 Dell Software Inc. Approximate matching of strings for message filtering
KR100562276B1 (ko) * 2004-07-27 2006-03-22 최태헌 전자문서 분철기술과 전문검색기술을 통합한 페이지 검색정보 제공 시스템 및 방법
US20080077570A1 (en) * 2004-10-25 2008-03-27 Infovell, Inc. Full Text Query and Search Systems and Method of Use
EP1825395A4 (en) * 2004-10-25 2010-07-07 Yuanhua Tang FULL TEXT INTERROGATION AND RESEARCH SYSTEMS AND METHODS OF USE
US7921365B2 (en) 2005-02-15 2011-04-05 Microsoft Corporation System and method for browsing tabbed-heterogeneous windows
US20060215291A1 (en) * 2005-03-24 2006-09-28 Jaquette Glen A Data string searching
US8670544B2 (en) 2005-04-19 2014-03-11 Shoretel, Inc. Directory features in a distributed telephony system
US7648741B2 (en) * 2005-05-17 2010-01-19 Eastman Kodak Company Forming a patterned metal layer using laser induced thermal transfer method
US20070088680A1 (en) * 2005-10-14 2007-04-19 Microsoft Corporation Simultaneously spawning multiple searches across multiple providers
JP4746433B2 (ja) 2006-01-30 2011-08-10 株式会社日立製作所 文書検索方法、文書検索プログラムおよび文書検索装置
US7707176B2 (en) * 2006-12-22 2010-04-27 Sap Ag Content management system with improved performance
CN101408876B (zh) * 2007-10-09 2011-03-16 中兴通讯股份有限公司 一种电子文档全文检索的方法及系统
US9037560B2 (en) * 2008-03-05 2015-05-19 Chacha Search, Inc. Method and system for triggering a search request
US8788476B2 (en) * 2008-08-15 2014-07-22 Chacha Search, Inc. Method and system of triggering a search request
US20150169287A1 (en) * 2013-12-17 2015-06-18 Michael Ghandour Artificial intelligence user input systems and methods
CN105022794A (zh) * 2015-06-26 2015-11-04 广州时韵信息科技有限公司 一种快速搜索所需文章内容的方法及装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4554266A (en) * 1983-06-03 1985-11-19 General Electric Company Copper-magnesium catalyst and method for alkylation of hydroxyaromatic compounds therewith
US5452451A (en) * 1989-06-15 1995-09-19 Hitachi, Ltd. System for plural-string search with a parallel collation of a first partition of each string followed by finite automata matching of second partitions
CA2123447C (en) 1993-09-20 1999-02-16 Richard L. Arndt Scalable system interrupt structure for a multiprocessing system
US5590319A (en) 1993-12-15 1996-12-31 Information Builders, Inc. Query processor for parallel processing in homogenous and heterogenous databases
JPH08137734A (ja) 1994-11-04 1996-05-31 Fujitsu Ltd 情報処理システム及びデータベースの分散方法
JP3842319B2 (ja) 1995-11-08 2006-11-08 富士通株式会社 情報検索システム
JPH10154160A (ja) * 1996-09-25 1998-06-09 Sharp Corp 並列データ検索処理装置
US5974412A (en) * 1997-09-24 1999-10-26 Sapient Health Network Intelligent query system for automatically indexing information in a database and automatically categorizing users
US6216123B1 (en) * 1998-06-24 2001-04-10 Novell, Inc. Method and system for rapid retrieval in a full text indexing system
JP4115048B2 (ja) * 1999-08-17 2008-07-09 株式会社リコー 文書検索システム
JP2001195421A (ja) * 2000-01-07 2001-07-19 Fujitsu Ltd 分散検索装置および分散検索プログラム記憶媒体
US6691107B1 (en) * 2000-07-21 2004-02-10 International Business Machines Corporation Method and system for improving a text search
US6738779B1 (en) * 2001-02-21 2004-05-18 Telecom Italia S.P.A. Apparatus for and method of multiple parallel string searching
US6691109B2 (en) * 2001-03-22 2004-02-10 Turbo Worx, Inc. Method and apparatus for high-performance sequence comparison
JP4066621B2 (ja) * 2001-07-19 2008-03-26 富士通株式会社 全文検索システム及び全文検索プログラム

Also Published As

Publication number Publication date
EP1278133A3 (en) 2005-07-20
US7080069B2 (en) 2006-07-18
EP1278133A2 (en) 2003-01-22
KR100733531B1 (ko) 2007-06-29
US20030018638A1 (en) 2003-01-23
KR20030009079A (ko) 2003-01-29
JP2003030197A (ja) 2003-01-31
EP1278133B1 (en) 2011-11-16

Similar Documents

Publication Publication Date Title
JP4066621B2 (ja) 全文検索システム及び全文検索プログラム
JP7409622B2 (ja) 計算機システム及び方法
US6948042B2 (en) Hierarchical storage apparatus and control apparatus thereof
CN1331059C (zh) 管理文件系统滤波器驱动器的文件名的系统和方法
US7376953B2 (en) Apparatus and method for routing a transaction to a server
US20070112875A1 (en) Method and apparatus for hierarchical storage management based on data value and user interest
US6879982B2 (en) Data management system, server, and data management method
EP1712998A1 (en) Remote copy system and remote copy method
US20150263909A1 (en) System and method for monitoring a large number of information processing devices in a communication network
JP2001067187A (ja) ストレージサブシステム及びその制御方法
US7519636B2 (en) Key sequenced clustered I/O in a database management system
CN101131697A (zh) 用于使记录在分区之间移动的系统和方法
US5701473A (en) System for optimally storing a data file for enhanced query processing
RU2711348C1 (ru) Способ и система для обработки запросов в распределенной базе данных
CN1833232A (zh) 用于运行时数据管理的存储系统类区别提示
CN101802791B (zh) 动态地址跟踪
JP2008065840A (ja) 全文検索システム
US20140058947A1 (en) Parallel availability control checks in financial management system
JP4506787B2 (ja) 全文検索システム及び全文検索プログラム
US20090132466A1 (en) System and method for archiving data
JP5223909B2 (ja) 割当システム、割当装置、及び、割当プログラム
US7949632B2 (en) Database-rearranging program, database-rearranging method, and database-rearranging apparatus
CN109150986A (zh) 存储双活模式下数据的访问方法、装置及存储介质
JP4951326B2 (ja) I/o要求の処理順序を最適化するためのコンピュータプログラム
JP2007206913A (ja) データベースアクセスシステム、アプリケーションサーバノード、データベースアクセス方法及びプログラム

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20040610

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040610

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070424

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070622

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070731

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070928

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20071012

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: 20071218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071231

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110118

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4066621

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110118

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120118

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130118

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130118

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140118

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees