説明

索引生成装置、索引生成方法、索引生成プログラム及びデータベース検索システム

【課題】検索の対象となるデータベースがアーカイブされた場合に、当該データベースの索引生成を抑制することが可能な索引生成装置、索引生成方法、索引生成プログラム及びデータベース検索システムを提供する。
【解決手段】一又は複数の各データベースに格納されたデータを検索するための索引を生成する索引生成装置であって、前記各データベースがアーカイブ対象であるか否かを判定する判定手段と、前記判定手段がアーカイブ非対象と判定したデータベースからデータを収集するクロール手段と、前記クロール手段が収集したデータに基づいて、当該データに含まれた文字列の索引を生成する索引生成手段と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データベースの検索に係る索引生成装置、索引生成方法、索引生成プログラム及びデータベース検索システムに関する。
【背景技術】
【0002】
従来、複数のデータベース各々に格納されたデータを、横断的に検索(横断検索)可能な仕組みが開発されている。また、横断検索に係る技術の一つとして、検索対象となる各データベースから周期的にデータを収集し、当該データに基づき検索時に用いる検索を生成するクローラ(Crawler)と呼ばれる技術が存在している。
【0003】
ところで、データベースが保持されるディスク資源は有限であるため、利用頻度の低いデータベースはバックアップ用の記憶媒体にバックアップした後、ディスク上から削除する“アーカイブ”と呼ばれる作業が行われている。アーカイブの際には、データベース自体を削除すると、そのデータベースの存在自体が不明確となるため、データベースを入れる箱(データベースファイル自体)は残し、データベースに格納された情報のみが削除されている。なお、アーカイブが行われた状態では、そのデータベースに格納されたデータを読み出すことができないため、必要に応じてデータをディスク上に戻す“リトリーブ”と呼ばれる作業が行われている。
【0004】
また、データベースのバックアップについては種々の技術が提案されている(例えば、特許文献1)。この特許文献1には、保存期限が過ぎたファイルの検索を可能とするための技術として、データベースに格納された各ファイル夫々の保存期限を検索属性として記憶しておき、この検索属性に基づいて対応するファイルを検索する技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記クローラを用いる場合、検索対象のデータベースがアーカイブされても、クローラはこのデータベース(データベースファイル自体)にアクセスすることができるため、空の索引が生成されてしまいアーカイブ以前の索引が削除されることになる。そのため、検索対象のデータベースがアーカイブされた場合には、そのデータベースに格納されていたデータを検索することができないという問題がある。なお、特許文献1に開示の技術では、ファイルの保存期限を延長しているにすぎず、データベースに格納された全てのファイルが実際に削除(廃棄)された場合には、バックアップ(アーカイブ)以前の索引も削除されることになるため、上記の問題を解決することはできない。
【0006】
本発明は、上記に鑑みてなされたものであって、検索の対象となるデータベースがアーカイブされた場合に、当該データベースの索引生成を抑制することが可能な索引生成装置、索引生成方法、索引生成プログラム及びデータベース検索システムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上述した課題を解決し、目的を達成するために、本発明は、一又は複数の各データベースに格納されたデータを検索するための索引を生成する索引生成装置であって、前記各データベースがアーカイブ対象であるか否かを判定する判定手段と、前記判定手段がアーカイブ非対象と判定したデータベースからデータを収集するクロール手段と、前記クロール手段が収集したデータに基づいて、当該データに含まれた文字列の索引を生成する索引生成手段と、を備える。
【0008】
また、本発明は、一又は複数の各データベースに格納されたデータを検索するための索引を生成する索引生成装置で実行される索引生成方法であって、判定手段が、前記各データベースがアーカイブ対象であるか否かを判定する判定工程と、クロール手段が、前記判定工程でアーカイブ非対象と判定されたデータベースからデータを収集するクロール工程と、索引生成手段が、前記クロール工程で収集されたデータに基づいて、当該データに含まれた文字列の索引を生成する索引生成工程と、を含む。
【0009】
また、本発明は、請求項4〜6の何れか一項に記載された索引生成方法をコンピュータに実行させる。
【0010】
また、本発明は、一又は複数の各データベースに格納されたデータを検索するための索引を生成する索引生成装置と、前記索引生成装置で生成された索引に基づいて前記各データベースから特定の文字列に適合するデータの検索を行う検索装置と、を備えたデータベース検索システムであって、前記索引生成装置は、前記各データベースがアーカイブ対象であるか否かを判定する判定手段と、前記判定手段がアーカイブ非対象と判定したデータベースからデータを収集するクロール手段と、前記クロール手段が収集したデータに基づいて、当該データに含まれた文字列の索引を生成する索引生成手段と、前記索引生成手段が生成した索引を、前記検索装置に登録する索引登録手段と、を備える。
【発明の効果】
【0011】
本発明によれば、検索の対象となるデータベースがアーカイブされた場合に、当該データベースの索引生成を抑制することが可能な索引生成装置、索引生成方法、索引生成プログラム及びデータベース検索システムを提供することができる。
【図面の簡単な説明】
【0012】
【図1】図1は、データベース検索システムの構成を模式的に示す図である。
【図2】図2は、データベース管理サーバの要部構成を示す図である。
【図3】図3は、データベース管理データの一例を示す図である。
【図4】図4は、クロールサーバの要部構成を示す図である。
【図5】図5は、検索サーバの要部構成を示す図である。
【図6】図6は、データベース内のデータを検索するまでの処理手順を示す図である。
【図7】図7は、索引生成処理の手順を示すフローチャートである。
【図8】図8は、変形例に係る索引生成処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0013】
以下、添付図面を参照して、本発明に係る索引生成装置、索引生成方法、索引生成プログラム及びデータベース検索システムの実施形態を詳細に説明する。なお、本発明は図面に示される実施形態に限定されるものではない。
【0014】
図1は、データベース検索システム1の構成を模式的に示す図である。同図に示すように、データベース検索システム1は、クライアント端末10と、申請受付サーバ20と、データベース管理サーバ30と、クロールサーバ40と、データベース50と、検索サーバ60と、ユーザインタフェース(UI)サーバ70とを有し、図示しないLAN等のネットワークを介して相互に接続されている。
【0015】
クライアント端末10は、データベース検索システム1を利用するユーザが用いるPC(Personal Computer)等の端末装置である。本実施形態では、データベース50に関する各種の申請を行う申請者、及び、データベース50に格納されたデータを検索するためUIサーバ70にアクセスする検索者がクライアント端末10を用いる。
【0016】
クライアント端末10は、CPU(Central Processing Unit)やROM(Read Only Memory)、RAM(Random Access Memory)等で構成される制御部と、LCD(Liquid Crystal Display)等の表示デバイスで構成される表示部と、キーボードやポインティングデバイス等の入力デバイスで構成される操作部と、HDD(Hard Disk Drive)やフラッシュメモリ等の記憶デバイスで構成される記憶部と、他の装置との通信を制御する通信部とを備えている(何れも図示せず)。
【0017】
クライアント端末10の制御部は、表示部に申請用の画面等の各種の文字や画像を表示し、操作部を介して入力されるユーザからの指示データや文字データ等を取得する。また、クライアント端末10の制御部は、入力された指示データに応じて、申請受付サーバ20やUIサーバ70等、外部装置へのアクセスを行う。
【0018】
申請受付サーバ20は、クライアント端末10からデータベース50に関する各種申請を受け付け、データベース管理サーバ30への登録管理を行うサーバ装置である申請受付サーバ20は、CPUやROM、RAM等で構成される制御部と、LCD等の表示デバイスで構成される表示部と、キーボードやポインティングデバイス等の入力デバイスで構成される操作部と、HDDやフラッシュメモリ等の記憶デバイスで構成される記憶部と、他の装置との通信を制御する通信部とを備えている(何れも図示せず)。
【0019】
申請受付サーバ20の記憶部は、申請受付サーバ20の制御部が実行する各種プログラムや設定情報を記憶する他、クライアント端末10に提供する各種画面の生成に係る情報を記憶している。申請受付サーバ20の制御部は、記憶部に記憶された所定のプログラムを実行することにより、申請受付サーバ20の各部の動作を統括的に制御する。
【0020】
データベース管理サーバ30は、データベース50に関する情報を管理するサーバ装置である。図2は、データベース管理サーバ30の要部構成を示す図である。同図に示すように、データベース管理サーバ30は、CPU、ROM、RAM等で構成される制御部31と、LCD等の表示デバイスで構成される表示部32と、キーボードやポインティングデバイス等の入力デバイスで構成される操作部33と、HDDやフラッシュメモリ等の記憶デバイスで構成される記憶部34と、他の装置との通信を制御する通信部35とを備えている。
【0021】
記憶部34は、制御部31が実行する各種プログラムや設定情報を記憶している。また、記憶部34は、検索対象及びアーカイブの対象となるデータベースに関するデータを登録されたデータベース管理データ341を記憶している。
【0022】
ここで、図3は、データベース管理データ341の一例を示す図である。同図に示すように、データベース管理データ341には、データベース名、サーバ名、ファイル名、検索可否フラグ及びアーカイブ可否フラグに関するデータが登録される。
【0023】
データベース名データ領域には、申請されたデータベース50を特定するための識別子としてそのデータベース名が登録される。サーバ名データ領域には、データベース50の所在を表す情報として、そのデータベース50を保持するデータベースサーバ(図示せず)のサーバ名が登録される。ファイル名データ領域には、データベース50の所在を表す情報として、そのデータベース50の実体ファイルの名称(ファイル名)が登録される。以下、データベース名、サーバ名及びファイル名を総称してデータベース所在識別子と表記する。
【0024】
検索可否フラグデータ領域には、データベースに記録されたデータが、検索対象であることを示す検索対象フラグ又は検索対象外であることを示す検索除外フラグに関するデータが記録される。なお、図3では、検索対象フラグのデータを“あり”、検索除外フラグのデータを“なし”で表している。
【0025】
アーカイブ可否フラグデータ領域には、データベースに記録されたデータが、アーカイブ対象あることを示すアーカイブ対象フラグ又はアーカイブ対象外であることを示すアーカイブ除外フラグに関するデータが記録される。なお、図3では、アーカイブ対象フラグのデータを“あり”、アーカイブ除外フラグのデータを“なし”で表している。
【0026】
制御部31は、記憶部34に記憶された所定のプログラムを実行することで、データベース管理サーバ30の各部の動作を統括的に制御する。また、制御部31は、申請受付サーバ20から送信される指示データ(後述する新規登録依頼、登録変更依頼、登録削除依頼)に応じて、記憶部34に記憶されたデータベース管理データ341を更新する。
【0027】
図1に戻り、クロールサーバ40は、所定時間毎(例えば12時間毎)に検索対象のデータベース50にアクセスし、当該データベース50から収集したデータに基づいて、検索時に用いる索引データを生成するクローラ機能を有した索引生成装置である。
【0028】
図4は、クロールサーバ40の要部構成を示す図である。同図に示すように、クロールサーバ40は、CPU、ROM、RAM等で構成される制御部41と、LCD等の表示デバイスで構成される表示部42と、キーボードやポインティングデバイス等の入力デバイスで構成される操作部43と、HDDやフラッシュメモリ等の記憶デバイスで構成される記憶部44と、他の装置との通信を制御する通信部45とを備えている。
【0029】
制御部41は、記憶部44に記憶された所定のプログラムと協働することで、判定手段及びクロール手段として機能するクロール処理部411と、索引生成手段として機能する索引生成処理部412と、索引登録手段として機能する索引登録処理部413とを実現し、これら各部により後述する索引生成処理(図7及び図8参照)を実行する。
【0030】
クロール処理部411は、データベース管理サーバ30のデータベース管理データ341に登録された検索対象の各データベース50について、各データベース50がアーカイブ対象であるか否かをアーカイブ可否フラグに基づいて判定する。また、クロール処理部411は、アーカイブ非対象と判定したデータベース50について、当該データベース50に格納された各データや当該データの更新日等を収集する。
【0031】
索引生成処理部412は、データベース50各々に格納されたデータを検索するための索引データを、各データベース50から収集されたデータから生成する。具体的に、索引生成処理部412は、収集された各データを分析し、各データに含まれた検索キーとなり得る文字列を抽出すると、当該データを管理するデータベース50の後述するデータベース所在識別子、このデータの更新日等を関連付けた索引データを生成する。なお、索引データの生成は公知の技術を用いることが可能である。
【0032】
索引登録処理部413は、索引生成処理部412が生成した索引データを検索サーバ60に送信することで、当該検索サーバ60の後述する記憶部64に登録する。
【0033】
図1に戻り、データベース50は、一又は複数のデータベースサーバ51に保持されたデータベースであって、各種のデータを保存・管理している。また、データベース50の各々は、自己のデータベース50を保持するデータベースサーバ51により、アーカイブとリトリーブとが実行可能に構成されている。
【0034】
データベースサーバ51は、CPUやROM、RAM等で構成される制御部と、LCD等の表示デバイスで構成される表示部と、キーボードやポインティングデバイス等の入力デバイスで構成される操作部と、データベース50を保持するHDDやフラッシュメモリ等の記憶デバイスで構成される記憶部と、他の装置との通信を制御する通信部と、データベース50のアーカイブ先及びリトリーブ元となるDDS(Digital Data Storage)等のアーカイブ記憶部とを備えている(何れも図示せず)。
【0035】
データベースサーバ51の制御部は、データベース管理サーバ30のデータベース管理データ341に登録された各アーカイブ可否フラグの状態を監視し、このフラグの状態に応じて対象となるデータベース50のアーカイブ又はリトリーブを実行する。
【0036】
具体的に、データベースサーバ51の制御部は、アーカイブ可否フラグが“なし”から“あり”に切り替わったことを検知すると、対象となるデータベース50のアーカイブを実行する。また、データベースサーバ51の制御部は、アーカイブ可否フラグが“あり”から“なし”に切り替わったことを検知すると、対象となるデータベース50のリトリーブを実行する。なお、データベースサーバ51の制御部は、アーカイブの際に、対象となるデータベース50を入れる箱(データベースファイル自体)は残し、このデータベース50に格納された情報のみを削除する。
【0037】
検索サーバ60は、UIサーバ70から通知されるキーワード等の検索条件に適合するデータを、データベース50が生成した索引データに基づいて検索(横断検索)する検索装置である。
【0038】
図5は、検索サーバ60の要部構成を示す図である。同図に示すように、検索サーバ60は、CPU、ROM、RAM等で構成される制御部61と、LCD等の表示デバイスで構成される表示部62と、キーボードやポインティングデバイス等の入力デバイスで構成される操作部63と、HDDやフラッシュメモリ等の記憶デバイスで構成される記憶部64と、他の装置との通信を制御する通信部65とを備えている。
【0039】
記憶部64は、制御部61が実行する各種プログラムや設定情報を記憶している。また、記憶部64は、クロールサーバ40が生成された索引データを索引データ641として記憶する。この索引データ641には、索引キー、データベース所在識別子及びデータ更新日に関するデータが記録されている。
【0040】
索引キーデータ領域には、検索を行う場合の検索キーワードとして用いられる文字列に関するデータが記録される。この索引キーは、クロールサーバ40が収集した索引生成情報に使用されている文字列である。データベース所在データ領域には、この索引キーが含まれるデータベース50の所在識別子(データベース名、サーバ名、ファイル名等)に関するデータが記録される。更新部データ領域には、この索引データを生成した場合にデータベース50の最新更新部に関するデータが記録される。
【0041】
制御部61は、記憶部64に記憶された所定のプログラムを実行することで、検索サーバ60の各部の動作を統括的に制御する。具体的に、制御部61は、クロールサーバ40から索引データを受信すると、この索引データと、記憶部64に記憶された索引データ641とを比較し、新たな索引データや変更がある索引データを索引データ641として記憶する。また、制御部61は、記憶部64に記憶された索引データを用いて検索条件に適合するデータを検索し、この検索結果をUIサーバ70に送信する。
【0042】
図1に戻り、UIサーバ70は、クライアント端末10に対して、検索条件を受け付けるためのユーザインタフェース(UI)を提供し、クライアント端末10から受信した検索条件を検索サーバ60に通知するWebアプリケーションサーバ等のサーバ装置である。
【0043】
UIサーバ70は、CPUやROM、RAM等で構成される制御部と、LCD等の表示デバイスで構成される表示部と、キーボードやポインティングデバイス等の入力デバイスで構成される操作部と、HDDやフラッシュメモリ等の記憶デバイスで構成される記憶部と、他の装置との通信を制御する通信部とを備えている(何れも図示せず)。
【0044】
UIサーバ70の制御部は、記憶部に記憶された所定のプログラムを実行することで、UIサーバ70の各部の動作を統括的に制御する。また、UIサーバ70の制御部は、クライアント端末10からのアクセスに応じて、検索キーワード等の入力を促す検索条件入力のためのUIを提供する。また、UIサーバ70の制御部は、クライアント端末10から検索条件を受け付けると、検索サーバ60に送信することで検索条件を通知する。また、UIサーバ70の制御部は、検索条件の通知に応じて検索サーバ60から受信した検索結果を、クライアント端末10に送信する。
【0045】
次に、以上のように構成されたシステムを用いて、データベース50内のデータを検索するまでの処理手順を、図6及び図7を用いて説明する。
【0046】
図6に示すように、検索対象やアーカイブ対象等の設定又は変更を行う場合には、まず、データベース申請処理が実行される(ステップS11)。ここで、申請者は、クライアント端末10を用いて申請受付サーバ20にアクセスする。申請受付サーバ20は、申請を受けるための申請メニュー画面データを生成し、クライアント端末10に送信する。この申請メニュー画面においては、データベースの新規登録を行うための新規登録ボタンと、既にデータベース管理データ341に登録されたデータベースの変更及び削除を行うための登録変更ボタンとが含まれる。
【0047】
新規登録ボタンが選択された場合、クライアント端末10は、申請受付サーバ20に新規登録画面の要求を実行する。申請受付サーバ20は、新規登録画面をクライアント端末10に送信する。クライアント端末10は、新規登録画面を表示部に表示する。この新規登録画面には、新たに申請を行うデータベースに関する情報を入力するデータベース情報入力欄と、検索可否フラグ選択ボタンと、アーカイブ可否フラグ選択ボタンと、申請ボタンとが含まれる。データベース情報入力欄には、データベース所在識別子等を設定するための入力欄が含まれる。検索可否フラグ選択ボタンは、申請するデータベースが検索対象又は検索除外であるか否かを選択するボタンである。アーカイブ可否フラグ選択ボタンは、申請するデータベースがアーカイブ対象又はアーカイブ非対象であるか否かを選択するボタンである。
【0048】
申請者は、新規登録画面に、新たに申請するデータベース名、データベース所在識別子を入力し、検索可否フラグ選択ボタン及びアーカイブ可否フラグ選択ボタンを選択した後、申請ボタンを選択する。この場合、クライアント端末10の制御部は、新規登録依頼を申請受付サーバ20に送信する。この新規登録依頼には、新規登録画面の入力欄に入力されたデータベース名及びデータベース所在識別子と、選択された検索可否フラグ及びアーカイブ可否フラグと、新規登録指示とが含まれる。なお、アーカイブ可否選択ボタンのデフォルトの状態は“なし”であるものとする。また、新規登録画面にアーカイブ可否選択ボタンを含めない形態としてもよい。
【0049】
新規登録指示を受信した申請受付サーバ20の制御部は、この新規登録依頼をデータベース管理サーバ30に送信する。データベース管理サーバ30の制御部31は、申請受付サーバ20から新規登録依頼を受信すると、この新規登録依頼に含まれたデータベース名、データベース所在識別子、検索可否フラグ及びアーカイブ可否フラグの内容を、データベース管理データ341に登録することで、データベース管理データの更新を行う(ステップS12)。
【0050】
一方、申請メニュー画面の登録変更ボタンが選択された場合には、クライアント端末10の制御部は、申請受付サーバ20に変更対象一覧画面データの要求を実行する。この要求に応じて申請受付サーバ20の制御部は、データベース管理サーバ30からデータベース管理データ341を読み出し、当該データベース管理データ341に登録されたデータベース名、データベース所在識別子、検索可否フラグ及びアーカイブ可否フラグを初期値として設定するとともに、各データベースを選択する選択ボタンとを含む変更対象一覧画面データを生成し、クライアント端末10に送信する。クライアント端末10の制御部は、変更対象一覧画面を表示部に表示する。
【0051】
申請者は、変更対象一覧画面において、登録変更を行なうデータベースの選択ボタンを選択する。この場合、クライアント端末10の制御部は、選択されたデータベースのデータベース所在識別子を申請受付サーバ20に送信する。申請受付サーバ20の制御部は、受信したデータベース所在識別子に対応するレコードを、データベース管理データ341から特定し、このレコード内容を含む登録変更画面データを生成して、クライアント端末10に送信する。
【0052】
クライアント端末10の制御部は、登録変更画面データを受信すると、登録変更画面を表示部に表示する。この登録変更画面には、変更対象として選択されたデータベースの登録内容(データベース所在識別子、検索可否フラグ及びアーカイブ可否フラグ)に関するデータが初期値として表示された設定欄と、変更ボタン及び削除ボタンとが含まれている。この設定欄のデータベース名、データベース所在識別子、検索可否フラグ及びアーカイブ可否フラグは変更可能となっている。
【0053】
ここで、データベースの所在識別子を変更する場合には、申請者は、設定欄の初期値の代わりに、新たなデータベース所在識別子を入力する。また、登録変更画面における検索可否フラグやアーカイブ可否フラグを変更してもよい。そして、申請者は、変更ボタンを選択する。
【0054】
登録変更画面において変更ボタンが選択された場合、クライアント端末10の制御部は、登録変更依頼を申請受付サーバ20に送信する。この登録変更依頼には、登録変更画面の入力欄に表示されたデータベース名及びデータベース所在識別子と、選択された検索可否フラグ及びアーカイブ可否フラグに関するデータとが含まれる。
【0055】
登録変更依頼を受信した申請受付サーバ20の制御部は、登録変更依頼をデータベース管理サーバ30に送信する。データベース管理サーバ30の制御部31は、登録変更依頼に含まれたデータと、データベース管理データ341中のデータとを比較し、登録変更依頼にこのデータベース管理データ341と異なるデータが含まれている場合には、当該登録変更依頼に含まれているデータを対応する項目のデータ領域に登録することで、データベース管理データを更新する(ステップS12)。
【0056】
ここで、検索可否フラグが検索対象に変更された場合には、データベース管理サーバ30の制御部31は、データベース管理データ341の申請区分データ領域に登録フラグ“あり”を登録し、検索可否フラグが除外に変更された場合には、データベース管理サーバ30の制御部31は、データベース管理データ341の申請区分データ領域に登録削除フラグ“なし”を登録する。また、アーカイブ可否フラグがアーカイブ対象に変更された場合には、データベース管理サーバ30の制御部31は、データベース管理データ341の申請区分データ領域に登録フラグ“あり”を登録し、アーカイブ可否フラグがアーカイブ非対象に変更された場合には、データベース管理サーバ30の制御部31は、データベース管理データ341の申請区分データ領域にアーカイブ除外フラグ“なし”を登録する。
【0057】
一方、クライアント端末10において、データベースの登録を削除する場合には、申請者は、登録変更画面の削除ボタンを選択する。削除ボタンが選択された場合、クライアント端末10の制御部は、登録変更画面に含まれていたデータベース所在識別子を含む登録削除依頼を申請受付サーバ20に送信する。
【0058】
登録削除依頼を受信した申請受付サーバ20の制御部は、この登録削除依頼をデータベース管理サーバ30に送信する。データベース管理サーバ30の制御部31は、登録変更依頼のデータベース所在識別子を含むデータベース管理データ341のレコードを記憶部34から削除することで、データベース管理データを更新する(ステップS12)。
【0059】
なお、データベースサーバ51では、データベース管理サーバ30のデータベース管理データ341に登録された各アーカイブ可否フラグの状態に基づき、対象となるデータベース50のアーカイブ又はリトリーブを実行する。
【0060】
一方、クロールサーバ40の制御部41は、所定時間毎にデータベース管理サーバ30のデータベース管理データ341に登録された各検索可否フラグの状態を確認し、検索対象とされた各データベース50をクロールして索引生成処理を実行する(ステップS13)。以下、図7を参照して索引生成処理の詳細について説明する。
【0061】
図7は、クロールサーバ40の制御部41が実行する索引生成処理の手順の一例を示すフローチャートである。まず、クロール処理部411は、索引生成処理を開始すると、データベース管理サーバ30のデータベース管理データ341を参照し、検索可否フラグに“あり”が登録された各データベースを検索対象に設定する(ステップS21)。
【0062】
続いて、クロール処理部411は、検索対象に設定したデータベースの一つを選択すると(ステップS22)、このデータベースのアーカイブ可否フラグに“あり”が登録されているか否かを判定する(ステップS23)。ここで、アーカイブ可否フラグに“なし”が登録されていた場合(ステップS23;No)、クロール処理部411は、ステップS22で選択したデータベースのデータベース所在識別子に基づいて、検索対象のデータベース50にアクセスし、当該データベース50内のデータ(データ内容及び更新日等)を収集する(ステップS24)。そして、索引生成処理部412は、収集したデータを分析し、このデータに含まれる文字列(検索キー)、このデータを収集したデータベース50のデータベース所在識別子及びこのデータの更新日等を関連付けた索引データを生成し(ステップS25)、ステップS26に移行する。
【0063】
一方、ステップS23において、アーカイブ可否フラグに“あり”が登録されていると判定した場合(ステップS23;Yes)、制御部41(クロール処理部411)は、ステップS22で選択したデータベースからのデータ収集を行わず、索引生成処理部412による索引データの生成をスキップさせて、ステップS26に直ちに移行する。
【0064】
続いて、クロール処理部411は、検索対象とした全てのデータベースに対し、ステップS22以降の処理を施したか否かを判定し、未処理のデータベース50が存在する場合には(ステップS26;No)、ステップS22に再び戻りこの未処理のデータベース50を選択する。また、クロール処理部411が検索対象とした全てのデータベース50に処理を施したと判定した場合(ステップS26;Yes)、索引登録処理部413は、これまでに生成された索引データを検索サーバ60に送信し(ステップS27)、本処理を終了する。
【0065】
このように、制御部41は、上述した索引生成処理において、検索対象の各データベース50がアーカイブ対象か否かを判定し、このアーカイブ非対象と判定したデータベース50についてのみ索引データの生成を行う。
【0066】
図6に戻り、検索サーバ60の制御部61は、クロールサーバ40から索引データを受信すると、索引データ641として記憶部64に記憶(登録)する(ステップS14)。具体的に、制御部61は、受信した索引データと、記憶部64に記憶された索引データ641とを比較し、新たな索引データや変更がある索引データを索引データ641として記憶する。
【0067】
その後、クライアント端末10では、検索者による検索条件が入力されると、検索処理が実行される(ステップS15)。具体的に、検索者は、検索を行なうためにクライアント端末10を用いてUIサーバ70にアクセスする。UIサーバ70は、検索画面データをクライアント端末10に送信する。クライアント端末10の制御部は、UIサーバ70から検索画面を受信すると、この検索画面を表示部に表示させる。検索画面には、検索条件を入力する条件入力欄及び検索実行ボタンが含まれる。検索者が条件入力欄にキーワード等の検索条件を入力し、検索実行ボタンを選択した場合、クライアント端末10の制御部は、条件入力欄に入力された検索条件をUIサーバ70に送信する。
【0068】
UIサーバ70の制御部は、受信した検索条件を検索サーバ60に送信する。検索サーバ60の制御部61は、記憶部64の索引データ641を用いて検索を実行する。具体的に、制御部61は、受信した検索条件に一致する索引キーデータを含むデータベース所在識別子を索引データ641から検索する。制御部61は、検索したデータベース所在識別子を一覧表示する検索結果データをUIサーバ70に送信する。
【0069】
UIサーバ70の制御部は、受信した検索結果データを含む検索結果表示画面データを生成して、クライアント端末10に送信する。クライアント端末10の制御部は、UIサーバ70から受信した検索結果表示画面を表示部に表示させる。
【0070】
そして、検索したデータへのアクセス処理が実行される(ステップS16)。ここで、検索者が、検索結果表示画面に表示されたデータにアクセスする場合には、このデータが記録されているデータベース50の所在識別子を選択する。この場合、クライアント端末10の制御部は、この所在識別子のデータベース50に対するアクセス要求を送信する。アクセス要求を受け付けたデータベース50は、要求されたデータをUIサーバ70に送信する。UIサーバ70の制御部は、データベース50から取得したデータをクライアント端末10に送信する。そして、クライアント端末10の制御部は、UIサーバ70から取得したデータを表示部に表示させる。以上により、検索者は、検索した情報を閲覧することができる。
【0071】
以上のように、本実施形態によれば、検索対象のデータベース50のうち、アーカイブ非対象のデータベース50についてのみ索引データを生成し、この索引データを検索サーバ60に登録を行う。これにより、アーカイブが行われていないデータベース50についてのみ索引データを更新することができるため、アーカイブ以前の索引データが削除されてしまうことを防止することが可能である。そのため、検索対象のデータベース50がアーカイブされた場合であっても、そのデータベースに格納されていたデータを検索することができる。
【0072】
なお、本実施形態では、クロールサーバ40の制御部41は、データベース管理サーバ30のデータベース管理データ341に登録されたアーカイブ可否フラグの状態に応じて、索引データの生成を行う形態としたが、これに限らず、検索対象のデータベース50自体の情報量、つまりデータベース50に格納された全データの情報量に応じて、索引データの生成を行う形態としてもよい。以下、本実施形態の変形例として、データベース50に格納された情報量に基づいて索引データの生成を行う形態について説明する。
【0073】
上述したように、データベース50をアーカイブした場合には、データベース50のデータベースファイル自体は削除されることはなく、このデータベース50に格納された情報のみが削除される。そこで、クロールサーバ40の制御部41は、このデータベース50に格納された全データの情報量が所定の値以下(0バイトを含む)の場合に、アーカイブされたと判定し、索引データの生成をスキップする。なお、情報量判定の指標となる所定値は記憶部44に予め記憶されているものとする。
【0074】
図8は、本変形例の制御部41が実行する索引生成処理の手順を示すフローチャートである。なお、本索引生成処理は、図6の索引生成処理(ステップS13)の他の例となるものである。
【0075】
まず、クロール処理部411は、索引生成処理を開始すると、データベース管理サーバ30のデータベース管理データ341を参照し、検索可否フラグに“あり”が登録された各データベース50を検索対象に設定する(ステップS31)。
【0076】
続いて、クロール処理部411は、検索対象に設定したデータベース50の一つを選択すると(ステップS32)、このデータベース50のデータベース所在識別子に基づいてアクセスし、当該データベース50に格納された全データの情報量を取得する(ステップS33)。次いで、クロール処理部411は、ステップS33で取得した情報量が所定値以下か否かを判定する(ステップS34)。
【0077】
取得した情報量が所定値を上回ると判定した場合(ステップS34;No)、クロール処理部411は、アクセス先のデータベース50からデータ(データ内容及び更新日等)を収集する(ステップS35)。そして、索引生成処理部412は、ステップS35で収集されたデータを分析し、このデータに含まれる文字列、このデータを収集したデータベース50のデータベース所在識別子、このデータの更新日等を関連付けた索引データを生成し(ステップS36)、ステップS37に移行する。
【0078】
一方、ステップS34において、取得した情報量が所定値以下と判定した場合(ステップS34;Yes)、クロール処理部411は、ステップS32で選択したデータベース50からのデータ収集を行わず、索引生成処理部412による索引データの生成をスキップさせて、ステップS37に直ちに移行する。
【0079】
続いて、クロール処理部411は、検索対象とした全てのデータベース50に対し、ステップS32以降の処理を施したか否かを判定し、未処理のデータベース50が存在する場合には(ステップS37;No)、ステップS32に再び戻りこの未処理のデータベース50を選択する。また、クロール処理部411が検索対象とした全てのデータベース50に処理を施したと判定した場合(ステップS37;Yes)、索引登録処理部413は、これまでに生成した索引データを検索サーバ60に送信し(ステップS38)、本処理を終了する。
【0080】
このように、本変形例によれば、検索対象のデータベース50のうち、アーカイブ非対象のデータベース50についてのみ索引データを生成し、この索引データを検索サーバ60に登録することができるため、上記実施形態と同様の効果を奏することが可能である。
【0081】
以上、本発明に係る実施形態について説明したが、これに限定されるものではなく、本発明の主旨を逸脱しない範囲での種々の変更、置換、追加等が可能である。
【0082】
例えば、上記実施形態では、データベース管理データ341をデータベース管理サーバ30が保持する形態としたが、これに限らず、他の装置(例えば、申請受付サーバ20)が保持する形態としてもよい。
【0083】
また、クライアント端末10からの各種の申請に対して、承認するか否かを判定する工程及びサーバ装置をデータベース検索システム1に含める形態としてもよい。
【0084】
また、上記実施形態の処理にかかるプログラムを、コンピュータで読み取り可能な記憶媒体に記録して提供することも可能である。記憶媒体としては、磁気ディスク、光ディスク(CD−ROM、CD−R、DVD等)、光磁気ディスク(MO等)、半導体メモリ等、プログラムを記憶でき、且つ、コンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。
【0085】
また、上記実施形態の処理にかかるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。
【産業上の利用可能性】
【0086】
以上のように、本発明にかかる索引生成装置、索引生成方法、索引生成プログラム及びデータベース検索システムは、データベースに格納されたデータを検索するための索引を生成する場合に有用であり、特に、データベースのアーカイブ作業又はリトリーブ作業が行われる場合に適している。
【符号の説明】
【0087】
1 データベース検索システム
10 クライアント端末
20 申請受付サーバ
30 データベース管理サーバ
31 制御部
32 表示部
33 操作部
34 記憶部
341 データベース管理データ
35 通信部
40 クロールサーバ
41 制御部
411 クロール処理部
412 索引生成処理部
413 索引登録処理部
42 表示部
43 操作部
44 記憶部
45 通信部
50 データベース
51 データベースサーバ
60 検索サーバ
61 制御部
62 表示部
63 操作部
64 記憶部
641 索引データ
65 通信部
70 UIサーバ
【先行技術文献】
【特許文献】
【0088】
【特許文献1】特開平5−46451号公報

【特許請求の範囲】
【請求項1】
一又は複数の各データベースに格納されたデータを検索するための索引を生成する索引生成装置であって、
前記各データベースがアーカイブ対象であるか否かを判定する判定手段と、
前記判定手段がアーカイブ非対象と判定したデータベースからデータを収集するクロール手段と、
前記クロール手段が収集したデータに基づいて、当該データに含まれた文字列の索引を生成する索引生成手段と、
を備えたことを特徴とする索引生成装置。
【請求項2】
前記判定手段は、前記各データベースを識別するデータベース識別情報と、各データベースがアーカイブ対象か否かを識別するフラグ情報とを関連付けた管理データに基づいて、前記各データベースがアーカイブ対象か否かを判定することを特徴とする請求項1に記載の索引生成装置。
【請求項3】
前記判定手段は、前記各データベースに格納された全データの情報量を夫々取得し、当該情報量が所定値以下のデータベースをアーカイブ対象と判定することを特徴とする請求項1に記載の索引生成装置。
【請求項4】
一又は複数の各データベースに格納されたデータを検索するための索引を生成する索引生成装置で実行される索引生成方法であって、
判定手段が、前記各データベースがアーカイブ対象であるか否かを判定する判定工程と、
クロール手段が、前記判定工程でアーカイブ非対象と判定されたデータベースからデータを収集するクロール工程と、
索引生成手段が、前記クロール工程で収集されたデータに基づいて、当該データに含まれた文字列の索引を生成する索引生成工程と、
を含むことを特徴とする索引生成方法。
【請求項5】
前記判定手段は、前記各データベースを識別するデータベース識別情報と、各データベースがアーカイブ対象か否かを識別するフラグ情報とを関連付けた管理データに基づいて、前記各データベースがアーカイブ対象か否かを判定することを特徴とする請求項4に記載の索引生成方法。
【請求項6】
前記判定手段は、前記各データベースに格納された全データの情報量を夫々取得し、当該情報量が所定値以下のデータベースをアーカイブ対象と判定することを特徴とする請求項4に記載の索引生成方法。
【請求項7】
請求項4〜6の何れか一項に記載された索引生成方法をコンピュータに実行させることを特徴とする索引生成プログラム。
【請求項8】
一又は複数の各データベースに格納されたデータを検索するための索引を生成する索引生成装置と、前記索引生成装置で生成された索引に基づいて前記各データベースから特定の文字列に適合するデータの検索を行う検索装置と、を備えたデータベース検索システムであって、
前記索引生成装置は、
前記各データベースがアーカイブ対象であるか否かを判定する判定手段と、
前記判定手段がアーカイブ非対象と判定したデータベースからデータを収集するクロール手段と、
前記クロール手段が収集したデータに基づいて、当該データに含まれた文字列の索引を生成する索引生成手段と、
前記索引生成手段が生成した索引を、前記検索装置に登録する索引登録手段と、
を備えたことを特徴とするデータベース検索システム。
【請求項9】
前記判定手段は、前記各データベースを識別するデータベース識別情報と、各データベースがアーカイブ対象か否かを識別するフラグ情報とを関連付けた管理データに基づいて、前記各データベースがアーカイブ対象か否かを判定することを特徴とする請求項8に記載のデータベース検索システム。
【請求項10】
前記判定手段は、前記各データベースに格納された全データの情報量を夫々取得し、当該情報量が所定値以下のデータベースをアーカイブ対象と判定することを特徴とする請求項8に記載のデータベース検索システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate