説明

大容量長期保存データに対する全文検索処理システム

【課題】
大量かつ長期に保存が必要なデータに対する全文検索処理システムにおいて、格納するデータの容量をできるだけ増やさず、かつ全文検索を高速に行えるような全文検索の技術を提供することを目的とする。
【解決手段】
データの保存時には索引を作成しない。検索対象となるデータを記憶した低速デバイスのボリューム群に対して、ボリュームを絞り込むための絞り込み条件を入力し、検索対象となるボリュームを絞り込み、それらのデータを読み込んで索引データを作成し、高速な記憶装置に該索引データを保持する。全文検索の検索キーワードを入力し、作成した索引データを利用して検索キーワードの全文検索を実行する。低速デバイスのボリューム群に保持された検索対象となるデータに関する管理情報を高速なデバイスに記憶し、絞り込み条件に基づいて検索対象となるボリュームを絞り込む処理はその管理情報を参照して行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、日々発生するデータを長期保存し、キーワードを用いて検索を行う全文検索処理システムに関する。
【背景技術】
【0002】
従来、全文検索処理についての技術として、例えば、下記特許文献1及び特許文献2に記載のものが知られている。
【0003】
下記特許文献1に記載のものは、インデックスデータを参照回数が多い順に選択してRAMに展開し、RAM上のインデックスデータを優先的に参照して全文検索を行うことにより、全文検索処理の高速化を図る技術である。インデックスデータとは、登録する文書の本文を自動または人手でインデクシングして得た索引データである。インデックスデータを利用することにより高速な検索が可能となる。
【0004】
また、下記特許文献2に記載のものは、階層構造を持った文書の全文検索処理において、文書の階層構造を圧縮して保有させて、階層的構造をもった文書の検索を行うものである。
【特許文献1】特開平11−31148号
【特許文献2】特開平9−282326号
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、上記特許文献1に記載の技術では、データ登録時にあらかじめインデックスデータ(索引データ)を作成しておく必要がある。従って、この全文検索技術を、大量のデータを保有する大容量の長期保存システムに適用すると、デバイスに格納する必要のある索引データの容量が膨れ上がり、ビットコストがかさみ実用的ではなくなるという問題がある。
【0006】
また、上記特許文献2に記載の技術においても、同様に、データ登録時にあらかじめ索引データを作成しておく必要があり、データ量が多いケースでは、格納する索引データの容量が膨れ上がり実用的ではなくなる問題がある。
【0007】
本発明の目的は、大量かつ長期に保存が必要なデータに対する全文検索処理システムにおいて、格納するデータの容量をできるだけ増やさず、かつ、全文検索を高速に行えるような全文検索の技術を提供することにある。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本発明は、大容量のデータに対して全文検索を実行する全文検索処理システムであって、検索対象となるデータを記憶した低速デバイスのボリューム群を保持する手段と、検索対象となるボリュームを絞り込むための絞り込み条件を入力する手段と、前記絞り込み条件に基づいて、検索対象となるボリュームを絞り込み、絞り込んだボリュームのデータを読み込んで索引データを作成し、前記低速デバイスより高速にアクセス可能な記憶装置に該索引データを保持する手段と、全文検索の検索キーワードを入力する手段と、前記作成した索引データを利用して、前記検索キーワードの全文検索を実行する手段と、全文検索の検索結果を表示する手段とを備えることを特徴とする。データの保存時には索引データを作成しない。
【0009】
前記低速デバイスのボリューム群に保持された検索対象となるデータに関する管理情報を、前記低速デバイスより高速にアクセス可能な記憶装置に記憶しておき、前記絞り込み条件に基づいて検索対象となるボリュームを絞り込む処理は、前記管理情報を参照して行うようにするとよい。前記検索対象となるデータを電子メールとした場合は、前記絞り込み条件として電子メールの差出人、件名、日時、および/または、宛先(To,cc,bcc)に関する条件を用いるとよい。また前記低速デバイスのボリュームとしては例えば光ディスクなどを用いる。
【発明の効果】
【0010】
本発明によれば、低速デバイス装置のボリュームに大量にデータを格納・蓄積し長期保存等するシステムにおいて、低速デバイスのボリューム内に索引情報を持たず、全文検索の前処理としてボリュームの絞り込みを行い、絞り込んだボリュームに対して索引情報を作成し、該索引情報を利用して全文検索を行うので、索引情報を低速デバイスのボリューム内に持つ必要がなく、媒体の容量をより有効に利用でき、安価なビットコストを実現できる。また、ボリュームを絞り込むので、全文検索の対象となる媒体数を減らし、索引作成にかかる処理時間(低速デバイスのボリュームのリード時間)を軽減することができる。これにより、より早い時間で索引情報の作成を完了し全文検索を実施することができる。また、あるキーワードで全文検索を行った後にもう一度検索を行うとき、作成した索引情報を再利用することによりレスポンス良く次の全文検索処理を繰返すことができる。
【発明を実施するための最良の形態】
【0011】
以下、本発明を実施する場合の一形態を図面を参照して具体的に説明する。
【0012】
図1は、本発明の実施の一形態である光ディスクライブラリ装置へのメールデータ格納・検索システムの構成を示す図である。本メールデータ格納・検索システムは、図1に示すように、メールアーカイブサーバ103、メールフィルタサーバ102、メール検索クライアント101、及び光ディスクライブラリ装置109を備える。本システムは、例えば、ある会社において社内・社外との通信にメールを使っている場合に、証拠としてメール文書を残したり、後で監査したりするときに利用するため、送受信されるメールをすべて光ディスクに記憶しておき、後で容易に検索できるようにするシステムなどに適用されるものである。
【0013】
メールフィルタサーバ102では、メールフィルタプログラム104とメール情報転送プログラム105が動作している。メールフィルタプログラム104は、ネットワーク111上を流れるメールを管理者に指定されたポリシーに従って、ローカルのディスクに格納する。メール情報転送プログラム105は、メールフィルタプログラム104が格納したメールデータをメールアーカイブサーバ103へと転送する。
【0014】
メールアーカイブサーバ103では、メール情報管理データベース106、メールアーカイブプログラム107、メール検索プログラム108、及び全文検索エンジン109が動作し、光ディスクライブラリ装置110が接続されている。メール情報管理データベース106は、システムに登録されたメールデータの管理情報を格納している。メールデータの管理情報として、メールのID、保存先媒体ID、媒体内オフセット、データ長、件名、及び送信日時などを格納するものとし、さらに不図示だが、差出人、宛先(To、Cc、Bcc)及びファイル名なども格納する。保存先媒体IDは当該メールデータを保存した光ディスクを特定する識別子であり、媒体内オフセットはその光ディスク内のどのアドレスに当該メールデータを保存したかを示すオフセット情報である。これらの管理情報は、メール検索処理で利用する。光ディスクライブラリ装置109は、メールデータを書き込む媒体である複数の光ディスクや、それらの光ディスクの読み書きを行うドライブを含んでいる。
【0015】
メールアーカイブプログラム107は、メール情報転送プログラム105から送られてきたメールの実データを光ディスクライブラリ装置109に格納し、その検索用の管理情報をメール情報管理データベース106に登録する。メール検索プログラム108は、CGIプログラムとして動作し、メール検索クライアント101から実行される。メール検索プログラム108は、メール検索クライアント101からの指示に応じて、メール情報管理データベース106、メールアーカイブプログラム107、及び全文検索エンジン109を利用して、光ディスクライブリ装置109から、与えられた条件に合うメールデータの情報を引き出して、メール検索クライアント101にその情報を返す。全文検索エンジン109は、光ディスクライブラリ装置110内の複数の記録媒体(光ディスク)から指定された何枚かの媒体に対して索引ファイルを生成し、その索引ファイルを用いて全文検索する機能を備えている。
【0016】
メール検索クライアント101は、ブラウザを使用してネットワーク111経由でメールアーカイブサーバ103にアクセスし、メールアーカイブサーバ103の中で動作するCGIプログラムであるメール検索プログラム108を操作して、システムに登録されているメール情報の検索を行う。
【0017】
図2は、図1のメールアーカイブサーバ103のハードウエア構成の概略を示す。メールアーカイブサーバ103は、中央処理装置(CPU)201、ディスプレイ202、ネットワークインターフェース(I/F)203、光ディスクライブラリ装置I/F204、入力装置205、メモリ206、及びハードディスク207などを備える。
【0018】
CPU201は、このサーバ103全体の動作を制御する処理装置である。ディスプレイ202は、CPU201からの指示に基づき各種の情報を表示する表示装置である。ネットワークI/F203は、ネットワーク111との間で通信を行うためのインターフェースである。光ディスクライブラリ装置I/F204は、光ディスクライブラリ装置110と接続するためのインターフェースである。入力装置205は、本サーバに各種の指示を与えるためのキーボードやマウスなどの装置である。メモリ206には各種のプログラムがロードされ実行される。ここでは、メールアーカイブプログラム107、メール検索プログラム108、及び全文検索エンジン109などが実行される。ハードディスク207には、メール情報管理データベース106が保持される。索引データ211は、メール検索プログラム108が動作する上で、必要な光ディスクの索引データを生成して一時的に格納するものである。
【0019】
図3は、本システムにおいて全文検索を行う手順のフローチャートである。メール検索クライアント101からメールアーカイブサーバ103に接続し、システムに登録されているメールに関する全文検索の指示を与えると、メール検索プログラム108が以下の処理を行う。
【0020】
まず、クライアント101から、検索対象の光ディスクボリュームを絞り込むための条件を入力し(ステップ301)、その条件に基づいて検索対象ボリュームの絞り込みを行う(ステップ302)。条件としては、例えば、検索したいメールの「日付、宛先(To、Cc、Bcc)、件名、差出人」を指定する。検索対象ボリュームの絞り込み結果はクライアント101に送信して表示させる。クライアント101のユーザは、その絞り込み結果を見て絞り込みが十分であると判断すれば、全文検索に進む指示を行うので、当該指示に応じてステップ303から304に進む。絞り込みが不十分であるときは、ステップ301に戻って条件の入力から絞り込みをやり直す。
【0021】
図4は、ステップ301〜303で対象ボリュームの絞り込みを行うときに使用する検索クライアント101のブラウザに表示される画面である。画面401には、ボリューム絞り込み検索の条件として、期間、差出人、件名、宛先などについて指定する領域が表示されている。検索条件として指定したいものにチェックを入れ、その右側領域に検索条件を入力する。例えば、図4の画面では、2002年1月1日から2004年12月31日までの期間で、差出人が「ソフト太郎」で、件名が「特許検索」で、宛先が「ソフト花子」であるようなメールを検索することを指定している。このように条件を入力し実行ボタン402をオン(クリック)すると、領域403に示すように、全文検索対象のメール件数と媒体枚数が表示される。媒体枚数とは、上記の条件を満たすメールを全文検索する際、この枚数だけの特定の光ディスクを検索すれば良いことを示している。クライアント101のユーザは、この全文検索対象のメール件数と媒体枚数を見て、未だ件数及び媒体数が多いと判断したときは、再び条件を入力し直して実行ボタン402をオンする。「次へ(全文検索)」ボタン404をオンすることにより、(ステップ303から304に進み)全文検索画面に移行する。
【0022】
図5は、上述した絞り込み処理の動作説明図を示す。メール情報管理データベース106で管理している多くの光ディスクからなる媒体群(501)に対して、図4のような画面で絞り込み条件を与えることにより、全文検索を行う対象媒体の数を絞り込んでいる(502)。この対象ボリュームの絞り込み処理は、メール情報管理データベース106が管理している情報を参照するだけで実行できる処理であり、光ディスクライブラリ装置109に対する処理は発生しないので、高速に実行できる。
【0023】
再び図3に戻って、ステップ304では検索対象とされた媒体からデータを読み出して全文検索用の索引データ(索引ファイル)を作成する。索引データの作成は、全文検索エンジン109により行う。
【0024】
図6は、ステップ304で行う索引データの作成処理の説明図である。この処理は、光ディスクライブラリ装置109内で、実際に情報が格納されている光ディスク媒体(603の実際の媒体)の媒体を一枚一枚ドライブ602にマウントして情報をリードし、索引データ211(図2)を作成していく処理である。本処理の対象となる媒体は、上述した対象ボリューム絞り込み処理で絞り込んだ媒体である。例えば、図5に示したように絞り込み処理で3枚の媒体が検索対象となったときは、図6の処理でその3枚の媒体内のメールデータを読み出して索引を作成する。
【0025】
ステップ304で索引データが完成したら、ステップ305でクライアント101から全文検索の検索キーワードを入力し、ステップ306で全文検索処理を実行する。ステップ306の全文検索処理は、ステップ304で作成された索引データを使用して行う。全文検索処理が終了すると、全文検索の結果をクライアント101に出力する(ステップ307)。クライアント101のユーザがその結果を参照して、欲しいデータが見つかった場合は、検索終了ボタンのオンなどの終了の指示が為されるので、ステップ308から処理を終了する。欲しいデータが見つからない場合、繰り返し全文検索を行うときは、ステップ309から305に戻って、作成した索引データ211を再度用いて全文検索を続ける。ボリュームの絞り込みからやり直すときは、ステップ309から301に戻って絞り込み処理からやり直し、目的とする検索結果のリストを取得するまで処理を行う。
【0026】
図7は、クライアント101に表示される全文検索用の画面例を示す。全文検索用の画面701において、702は索引作成済みのメール件数と媒体枚数の表示である。キーワード入力領域703に検索したいキーワードを入力し、実行ボタン704をオンすることにより、領域705に検索結果が表示される。なお、リセットボタンをオンすると、キーワード入力領域703がクリアされ、キーワードを入力し直して全文検索を行うことができる(図3のステップ309から305に戻るケース)。この場合、索引データは既に作成済みのものを再利用する。「戻る(ボリューム絞り込み)」ボタンをオンすると、図7の画面から図4の画面に戻り、絞り込み処理から行うことができる(図3のステップ309から301に戻るケース)。この場合、索引データは作り直すことになるので、それまで保持していた索引データ211は削除して良い。検索処理を終了するときも、索引データ211は削除するものとする。さらに、検索結果のメール一覧からメールを指定することにより、そのメールの本文を表示できるようにしても良い。
【0027】
図8は、ステップ306で実行する全文検索処理の説明図である。メール検索プログラム108から全文検索エンジン109に対して、キーワードを与えて全文検索をリクエストする。全文検索エンジン109は、ステップ304で作成済みの索引データ211を参照して当該キーワードで全文検索を実行する。全文検索エンジン109は、検索結果(当該キーワードにマッチしたメール一覧)をメール検索プログラム108に返す。
【0028】
なお、上記実施形態では、全文検索対象の大量の実体データを記憶する低速デバイスとして光ディスクを用い、管理情報や索引データを記憶する高速デバイスとしてハードディスクを用いたが、これに限らず任意の記憶装置を利用することができる。低速デバイスは大量のデータを記憶するのに適したもので、複数ボリュームからなり、絞り込み条件によってそれらのボリュームを絞り込むことができ、絞り込んだ範囲で索引データが作成できるようなものであればよい。例えば、低速デバイスとして、複数ボリュームのATA(SATA)磁気ディスクを使用してもよい。高速デバイスは、例えばRAID(Redundant Arrays of Inexpensive Disks)などを用いてもよい。
【図面の簡単な説明】
【0029】
【図1】本発明の一実施の形態のメールデータ格納・検索システムの概略構成を示す図
【図2】メールアーカイブサーバの構成図
【図3】メールデータ格納・検索システムにおける全文検索機能の動作を示すフローチャート図
【図4】メール検索クライアント上で対象ボリューム絞り込みを実施するときのブラウザ上の操作画面を示す図
【図5】対象ボリューム絞り込み処理における動作の説明図
【図6】全文検索用の索引作成処理における動作の説明図
【図7】メール検索クライアント上で全文検索を実施するときのブラウザ上の操作画面を示す図
【図8】全文検索実行の説明図
【符号の説明】
【0030】
101…メール検索クライアント、102…メールフィルタサーバ、103…メールアーカイブサーバ、104…メールフィルタプログラム、105…メール情報転送プログラム、106…メール情報管理データベース、107…メールアーカイブプログラム、108…メール検索プログラム、109…メール検索エンジン、110…光ディスクライブラリ装置。

【特許請求の範囲】
【請求項1】
大容量のデータに対して全文検索を実行する全文検索処理システムであって、
検索対象となるデータを記憶した低速デバイスのボリューム群を保持する手段と、
検索対象となるボリュームを絞り込むための絞り込み条件を入力する手段と、
前記絞り込み条件に基づいて、検索対象となるボリュームを絞り込み、絞り込んだボリュームのデータを読み込んで索引データを作成し、前記低速デバイスより高速にアクセス可能な記憶装置に該索引データを保持する手段と、
全文検索の検索キーワードを入力する手段と、
前記作成した索引データを利用して、前記検索キーワードの全文検索を実行する手段と、
全文検索の検索結果を表示する手段と
を備えることを特徴とする全文検索処理システム。
【請求項2】
請求項1に記載の全文検索処理システムにおいて、
前記低速デバイスのボリューム群に保持された検索対象となるデータに関する管理情報を、前記低速デバイスより高速にアクセス可能な記憶装置に記憶しておき、前記絞り込み条件に基づいて検索対象となるボリュームを絞り込む処理は、前記管理情報を参照して行うことを特徴とする全文検索処理システム。
【請求項3】
請求項1または2に記載の全文検索処理システムにおいて、
前記検索対象となるデータは電子メールであり、前記絞り込み条件は、電子メールの差出人、件名、日時、および/または、宛先(To,cc,bcc)に関する条件であることを特徴とする全文検索処理システム。
【請求項4】
請求項1から3の何れか1つに記載の全文検索処理システムにおいて、
前記低速デバイスのボリュームが光ディスクであることを特徴とする全文検索処理システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate