【実施例1】
【0020】
図1は、本発明の第1の実施例の計算機システムの一例を示すブロック図である。本実施例では、検索サーバ1100における検索インデックスのスキーマ定義の更新について説明する。本実施例では、全文検索機能と共にメタデータ検索機能を提供する検索サーバ1100において、メタデータ検索の対象をカスタマイズ可能にする。これにより、新たなデータフォーマットのメタデータに対する検索や、既知のデータフォーマットにおいて独自に拡張されたカスタムメタデータに対する検索を実施することができる。
【0021】
図1は、本発明の実施例における計算機システムの構成を例示するブロック図である。ネットワーク100を介して、検索サーバ1100と、ファイルサーバ2100と、管理マシン3100と、クライアントマシン4100とが接続されている。
【0022】
本計算機システムにおいて、検索サーバ1100は、ファイルサーバ2100に格納されたファイルに対するファイル検索サービスを提供する。このファイル検索サービスでは、検索キーワード指定による全文検索機能ならびに検索対象のメタデータ名と検索条件を指定したメタデータ検索機能を提供する。ファイルサーバ2100は、ユーザからのファイルアクセス要求を受け付け、ファイル共有サービスを提供する。管理マシン3100は、検索サーバ1100やファイルサーバ2100を保守管理するためにシステム管理者が利用するマシンである。クライアントマシン4100は、ユーザからの入力を入力装置4171で受け付けて検索サーバ1100に検索要求を行ったり、ファイルサーバ2100へファイルアクセス要求を行ったりすることができる。本計算機システムを利用することで、ユーザはファイルサーバ2100に格納したファイルに対して、検索サーバ1100を利用したファイル検索を行うことが可能になる。
【0023】
なお、
図1では、各構成要素をそれぞれ一台ずつ記載しているが、この限りではない。可能であれば、各構成要素とも複数の台数でシステムを構成してもよい。また、
図1では、各構成要素を別装置として記載しているが、この限りではない。可能であれば、任意の二つあるいはそれ以上の構成要素を一台の装置として実施する構成でもよい。また、ネットワーク100による接続形態については、どのようなネットワーク形態でもよく、例えば、インターネット接続でもよいし、ローカルエリアネットワークによるイントラネット接続などでもよい。
【0024】
図2は、検索サーバ1100のハードウェア構成と機能部位を例示するブロック図である。検索サーバ1100は、プログラムを実行するプロセッサ1110と、プログラムならびにデータを一時的に格納するメモリ1120と、外部記憶装置1160にアクセスするための外部記憶装置I/F1130と、ネットワーク100に接続された他装置にアクセスするためのネットワークI/F1140と、それらを接続するバス1150から構成されている。
【0025】
メモリ1120には、外部記憶装置I/F1130を制御するプログラムである外部記憶装置I/F制御プログラム1121と、ネットワークI/F1140を制御するプログラムであるネットワークI/F制御プログラム1122と、当該検索サーバ1100において保管データを管理するために利用するファイルシステムあるいはデータベースを提供するデータ制御プログラム1123と、当該検索サーバ1100においてインデクシングと検索サービスを提供するための検索制御プログラム(検索制御部)1124と、かかる検索制御プログラム1124が利用するメタデータスキーマ管理表7100、スキーママッピング管理表7200、検索インデックススキーマ管理表7300、検索インデックス管理表7400および検索インデックス登録ファイル管理表7500が格納される。
【0026】
検索制御プログラム1124は内部に、検索インデックススキーマ制御サブプログラム(検索インデックススキーマ制御部)1171と、ファイルアクセス制御サブプログラム(ファイルアクセス制御部)1172と、インデクシング制御(インデクシング制御部)サブプログラム1173と、検索応答制御(検索応答制御部)サブプログラム1174を持つ。
【0027】
検索インデックススキーマ制御サブプログラム1171は、検索サーバ1100にて提供するファイル検索サービスのために使用する検索インデックススキーマ定義を管理する。この検索インデックススキーマ定義とは、検索対象ファイルをどのようにインデクシングするのかを規定するものである。例えば、全文検索用に、全てのテキストデータを任意の長さのトークンに分割してインデクシングしたり、特定メタデータの名前と値の組をインデクシングしたりすることができる。具体的な検索インデックススキーマ定義内容については後述する。
【0028】
ファイルアクセス制御サブプログラム1172は、当該検索サーバがファイルサーバに格納されているファイルのデータならびにメタデータを取得する処理を行う。
【0029】
インデクシング制御サブプログラム1173は、インデックス更新対象ファイルのデータならびにメタデータを解析した上で、当該検索サーバ1100が検索サービス用に管理する検索インデックスに反映させる処理を行う。具体的には、前記ファイルアクセス制御サブプログラム1172によって取得したインデックス更新対象ファイルのデータならびにメタデータを分析し、当該検索サーバで管理される検索インデックス管理表7400ならびに検索インデックス登録ファイル管理表7500に反映させる。
【0030】
検索応答制御サブプログラム1174は、ユーザからの検索要求を受け付け、自検索サーバの検索インデックス管理表7400や検索インデックス登録ファイル管理表7500などを利用した上で、検索結果を生成して提供する処理を行う。
【0031】
なお、メタデータスキーマ管理表7100、スキーママッピング管理表7200、検索インデックススキーマ管理表7300、検索インデックス管理表7400および検索インデックス登録ファイル管理表7500については後述する。
【0032】
プロセッサ1110は、メモリ1120にロードした各プログラムを実行することによって、所定の機能を実現する機能部として動作する。例えば、プロセッサ1110は、検索制御プログラム1124に従って動作することで検索制御部として機能し、データ制御プログラム1123実行することでデータ管理部として機能する。他のプログラムについても同様である。さらに、プロセッサ1110は、各プログラムが実行する複数の処理のそれぞれを実現する機能部としても動作する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
【0033】
検索サーバ1100の各機能を実現するプログラム、テーブル等の情報は、外部記憶装置1160や不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【0034】
図3は、ファイルサーバ2100のハードウェア構成と機能部位を例示するブロック図である。ファイルサーバ2100は、プログラムを実行するプロセッサ2110と、プログラムならびにデータを一時的に格納するメモリ2120と、外部記憶装置2160にアクセスするための外部記憶装置I/F2130と、ネットワークで接続された他装置にアクセスするためのネットワークI/F2140と、それらを接続するバス2150から構成されている。
【0035】
メモリ2120には、外部記憶装置I/F2130を制御するプログラムである外部記憶装置I/F制御プログラム2121と、ネットワークI/F2140を制御するプログラムであるネットワークI/F制御プログラム2122と、当該ファイルサーバにおいて保管データを管理するために利用するファイルシステムあるいはデータベースを提供するデータ制御プログラム2123と、当該ファイルサーバにおいてファイルを保管し複数ユーザ間で共有するためのファイル共有サービスを提供するためのファイル共有制御プログラム2124が格納される。
【0036】
プロセッサ2110は、メモリ2120にロードした各プログラムを実行することによって、所定の機能を実現する機能部として動作する。例えば、プロセッサ2110は、ファイル共有制御プログラム2124を実行することで、ファイル共有制御部として機能する。他のプログラムについても同様である。各プログラムやテーブルなどは、検索サーバ1100と同様に、外部記憶装置2160や不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【0037】
図4は、管理マシン3100のハードウェア構成を例示する説明図である。管理マシン3100は、プログラムを実行するプロセッサ3110と、プログラムならびにデータを一時的に格納するメモリ3120と、外部記憶装置3160にアクセスするための外部記憶装置I/F3130と、ネットワークで接続された他装置にアクセスするためのネットワークI/F3140と、それらを接続するバス3150から構成されている。
【0038】
また、管理マシン3100は、入力装置3171と出力装置3172(コンソールまたは管理画面)を備えて、I/Oインターフェース(I/F)を介してバス3150に接続される。システム管理者からの入力を入力装置3171で受け付け、検索サーバ1100等から受信した応答などを出力装置3172に出力する。
【0039】
メモリ3120には、外部記憶装置I/F3130を制御するプログラムである外部記憶装置I/F制御プログラム3121と、ネットワークI/F3140を制御するプログラムであるネットワークI/F制御プログラム3122と、当該管理マシンから検索サーバ1100を管理するために利用する検索サーバ管理クライアント制御プログラム3124が格納される。なお、この図では記載していないが、当該管理マシンからファイルサーバ2100を管理するために利用するファイルサーバ管理クライアント制御プログラムを格納してもよい。
【0040】
なお、検索サーバ管理クライアント制御プログラム3124は、管理対象となる検索サーバ1100が提供する管理用クライアントプログラム、あるいは当該検索サーバが提供する仕様に従った機能を提供するプログラムに相当する。例えば、検索サーバ用のWebアプリケーションプログラムを利用する形態でもよいし、汎用のWebブラウザを利用する形態でもよい。
【0041】
プロセッサ3110は、メモリ3120にロードした各プログラムを実行することによって、所定の機能を実現する機能部として動作する。例えば、プロセッサ3110は、検索サーバ管理クライアント制御プログラム3124を実行することで、検索サーバ管理部として機能する。他のプログラムについても同様である。各プログラムやテーブルなどは、検索サーバ1100と同様に、外部記憶装置3160や不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【0042】
図5は、クライアントマシン4100のハードウェア構成を例示する説明図である。クライアントマシン4100は、プログラムを実行するプロセッサ4110と、プログラムならびにデータを一時的に格納するメモリ4120と、外部記憶装置4160にアクセスするための外部記憶装置I/F4130と、ネットワークで接続された他装置にアクセスするためのネットワークI/F4140と、それらを接続するバス4150から構成されている。
【0043】
また、クライアントマシン4100は、入力装置4171と出力装置4172(コンソールまたは管理画面)を備えて、I/Oインターフェース(I/F)4170を介してバス4150に接続される。ユーザからの入力を入力装置4171で受け付け、検索サーバ1100等から受信した応答などを出力装置4172に出力する。
【0044】
メモリ4120には、外部記憶装置I/F4130を制御するプログラムである外部記憶装置I/F制御プログラム4121と、ネットワークI/F4140を制御するプログラムであるネットワークI/F制御プログラム4122と、当該クライアントマシン4100において保管データを管理するために利用するファイルシステムあるいはデータベースを提供するデータ制御プログラム4123と、当該クライアントマシン4100から検索サーバ1100にアクセスするために利用する検索クライアント制御プログラム4124と、当該クライアントマシン4100からファイルストレージにて共有されているファイルにアクセスするために利用するファイル共有クライアント制御プログラム4125が格納される。
【0045】
なお、検索クライアント制御プログラム4124は、利用する検索サーバ1100が提供するクライアントプログラム、あるいは当該サーバが提供する仕様に従った機能を提供するプログラムに相当する。例えば、検索サーバ用のWebアプリケーションプログラムを利用する形態でもよいし、汎用のWebブラウザを利用する形態でもよい。
【0046】
図6は、本発明の計算機システムで実施する一連の処理の流れを例示する説明図である。ここでは、管理マシン3100から検索サーバ1100に対するメタデータスキーマ登録処理(処理(1−n))と、管理マシン3100から検索サーバ1100に対するスキーママッピング定義登録処理(処理(2−n))と、管理マシン3100から検索サーバ1100に対する検索インデックススキーマ定義登録処理(処理(3−n))と、検索サーバ1100からファイルサーバ2100上のファイルに対する検索インデックス更新処理(処理(4−n))と、およびクライアントマシン4100から検索サーバ1100に対するファイル検索処理(処理(5−n))の5つの処理についてそれぞれ説明する。
【0047】
はじめに、処理(1−n)について説明する。システム管理者は、管理マシン3100の検索サーバ管理クライアント制御プログラム3124を利用して、検索サーバ1100に対してメタデータのスキーマ定義ファイル(
図7の7000)の登録要求を送信する(処理(1−1))。このメタデータのスキーマ定義ファイルは、メタデータ検索を行う対象ファイルの構造を定義し、当該構造にネームスペースという識別情報を定義したファイルである。
【0048】
この処理において、システム管理者は、当該メタデータのスキーマ定義ファイルの中で定義されているネームスペースに対するエイリアスを指定する。このエイリアスを利用することで、検索サーバ1100内で一意にネームスペースを簡単に識別することができる。なお、メタデータのスキーマ定義ファイルの詳細については後述する。
【0049】
検索サーバ1100は、受信したメタデータのスキーマ定義ファイルからメタデータスキーマ定義を抽出し、必要に応じて要求元である管理マシン3100のシステム管理者に抽出内容を確認してもらい、さらに必要に応じて抽出内容を更新した上で、メタデータスキーマ管理表7100にメタデータスキーマ定義を格納する(処理(1−2))。以上が、メタデータスキーマ登録処理の一連の流れとなる。
【0050】
次に、スキーママッピング定義登録処理(2−n)について説明する。システム管理者は、管理マシン3100の検索サーバ管理クライアント制御プログラム3124を利用して、検索サーバ1100に対してスキーママッピング定義の登録画面を呼び出す(処理(2−1))。この処理において、システム管理者は、スキーママッピング定義を利用するために、処理(1−2) にて検索サーバ1100に登録したメタデータスキーマ定義を特定するためのネームスペースエイリアスを指定する。
【0051】
検索サーバ1100は、指定されたネームスペースのエイリアスより、メタデータスキーマ管理表7100から該当するメタデータスキーマ定義を取得し、当該情報をもとにスキーママッピング情報の候補を生成し、要求元に候補の内容を提示する(処理(2−2))。ここで検索サーバ1100が生成するスキーママッピング情報は、メタデータスキーマにおける各メタデータ名に対応させる検索インデックスのフィールド名と、各フィールドのデータ種別からなる。
【0052】
システム管理者は、検索サーバ1100から提示されたスキーママッピング情報の候補を管理マシン3100で確認し、必要に応じて候補の内容に対する更新情報を検索サーバ1100に対して送る(処理(2−3))。検索サーバ1100は、スキーママッピング情報の候補と、要求元(管理計算機)からの更新情報をもとに、最終的なスキーママッピング情報を生成し、スキーママッピング管理表7200に格納する(処理(2−4))。以上が、スキーママッピング定義登録処理の一連の流れとなる。
【0053】
次に、検索インデックススキーマ定義登録処理(3−n)について説明する。システム管理者は、管理マシン3100の検索サーバ管理クライアント制御プログラム3124を利用して、検索サーバ1100に対して検索インデックススキーマ登録画面を呼び出す(処理(3−1))。
【0054】
この処理において、システム管理者は、検索インデックススキーマ定義の登録に利用するために、上記処理(2−1)で利用したネームスペースのエイリアスを指定する。検索サーバ1100は、指定されたネームスペースエイリアスより、スキーママッピング管理表7200から該当するスキーママッピング情報を取得し、当該情報をもとに検索インデックススキーマ定義の候補を生成し、要求元(管理マシン3100)に候補の内容を提示する(処理(3−2))。ここで検索サーバ1100が生成する検索インデックススキーマ定義は、スキーママッピング定義におけるフィールド名と、各フィールドのデータ種別からなる。
【0055】
システム管理者は、管理マシン3100の出力装置3172に提示された内容を確認し、必要に応じて候補の内容に対する更新情報を検索サーバ1100に対して送信する(処理(3−3))。
【0056】
検索サーバ1100は、検索インデックススキーマ定義の候補と、要求元(管理マシン3100)からの更新情報をもとに、最終的な検索インデックススキーマ定義を生成し、検索インデックススキーマ管理表7300に格納する(処理(3−4))。
【0057】
これにより、検索サーバ1100における検索インデックススキーマ定義(検索インデックススキーマ情報)を更新することが可能となって、新たに検索可能なメタデータを容易に追加することができる。以上が、検索インデックススキーマ定義登録処理の一連の流れとなる。
【0058】
次に、検索インデックス更新処理(4−n)について説明する。検索サーバ1100上の検索制御プログラム1124は、ファイルサーバ2100に対してファイルアクセスを行い、検索インデックスを更新する必要があるファイルを特定し、更新が必要なファイルの読み出しを行う(処理(4−1))。
【0059】
ここで、検索インデックスを更新する必要があるファイルを特定するためには、例えば、対象ファイルの最終更新日時を取得して、前回の検索インデックス更新日時よりも新しいか否かをもとに判断する方法がある。ファイルアクセス要求を受けたファイルサーバ2100は、必要に応じて自身が管理するファイルシステム2170を利用して、対象ファイルの情報を取得し、要求元(例えば、検索サーバ1100)に提供する(処理(4−2))。更新対象ファイルを取得した検索制御プログラム1124は、当該ファイルのファイル種別を特定し、検索インデックススキーマ管理表7300から当該ファイル種別に合致するスキーマ定義情報を取得の上、当該ファイルを解析して検索インデックスデータ生成のために必要な情報を抽出する(処理(4−3))。
【0060】
その後、検索制御プログラム1124は、生成した情報をもとに検索インデックスデータを生成し、検索インデックス管理表7400ならびに検索インデックス登録ファイル管理表7500に反映させる(処理(4−4))。以上が、検索サーバ1100による検索インデックス更新処理の一連の流れとなる。
【0061】
最後に、ファイル検索処理(5−n)について説明する。ユーザは、クライアントマシン4100の検索クライアント制御プログラム4124を利用して、検索サーバ1100に対してファイル検索要求を送信する(処理(5−1))。
【0062】
検索サーバ1100上の検索制御プログラム1124は、ファイル検索要求を受信すると検索条件として指定されたクエリ文の中で指定されたメタデータ名について、当該検索サーバ1100の検索インデックススキーマにて利用されているフィールド名に変換する(処理(5−2))。
【0063】
検索サーバ1100は、スキーママッピング管理表7200の情報を取得して上記フィールド名の変換に利用する。この変換の後、検索制御プログラム1124は、検索インデックス管理表7400ならびに検索インデックス登録ファイル管理表7500を利用して、指定された検索条件に合致するファイルを抽出し、検索結果をまとめ、要求元(クライアントマシン4100)に提供する(処理(5−3))。検索サーバ1100は、検索結果をまとめる際、検索インデックススキーマのフィールド名に変換されたメタデータ名について、元のメタデータ名に戻す処理を行う。以上が、ファイル検索処理の一連の流れとなる。
【0064】
図7は、メタデータスキーマ登録処理において、システム管理者が検索サーバ1100に対して登録するスキーマ定義のファイルの構成を例示する図である。ここで示しているスキーマ定義ファイル7000は、W3C XML Schemaの定義に従ったファイルの内容を例として示している。ここで示したスキーマ定義ファイル7000は、ネームスペース名として、”http://AAA.com/ProductA/v2”という文字列からなるURIをネームスペースとして宣言している。
【0065】
また、当該ファイルでは、”ProductA”という名前のXML要素の中に、メタデータとしてinteger型の”PatientID”、string型の”PatientName”およびinteger型の”VendorPatientID”という子要素を持つXML文書を定義している。
【0066】
なお、ここではW3C XML Schemaを利用した例を示したが、この限りではない。検索サーバ1100が、メタデータスキーマに関する情報を抽出可能なものであれば何でもよい。
【0067】
図8は、検索サーバ1100上で管理されるメタデータスキーマ管理表7100の構成を例示する図である。メタデータスキーマ管理表7100は、検索サーバ1100に登録されたメタデータ検索対象ファイルが利用するスキーマ定義情報(メタデータスキーマ定義)を管理する。
【0068】
具体的に、メタデータスキーマ管理表7100は、ID7110と、ネームスペースエイリアス7120と、ネームスペース名7130と、メタデータ名7140と、メタデータタイプ7150という構成情報からなる。
【0069】
ID7110は、本表の各レコードに機械的に付与された識別番号を格納する。ネームスペースエイリアス7120は、当該メタデータスキーマ定義を記載したスキーマ定義ファイル7000(
図7参照)を登録する際に、当該スキーマ定義ファイルで定義されているネームスペースに対して、要求元(例えば、管理マシン3100を利用するシステム管理者等)が別途付与する別名を格納する。このネームスペースエイリアス7120については、検索サーバ1100内で一意性を保つように設定する。
【0070】
ネームスペース名7130は、当該メタデータスキーマ定義を記載したスキーマ定義ファイル7000を登録する際に、当該スキーマ定義ファイル7000で定義されているネームスペースを示す名前を格納する。このネームスペース名7120については、検索サーバ1100内で一意性を保つようにする。また、ネームスペース名7120としてXMLネームスペースを利用する場合は、一意に識別可能なURIを使用する。
【0071】
メタデータ名7140は、当該スキーマ定義ファイル7000から抽出したメタデータ名を格納する。スキーマ定義がXML形式である場合、検索サーバ1100は、XMLの要素名あるいは属性名に相当するものをメタデータ名7140として抽出し、XPath形式にて当該エントリに格納してもよい。
【0072】
メタデータタイプ7150は、当該スキーマ定義ファイル7000から抽出したメタデータ名に関連付けられているデータ種別(
図7の”type”)に関する情報を格納する。
【0073】
図9は、検索サーバ1100上で管理されるスキーママッピング管理表7200の構成を例示する図である。スキーママッピング管理表7200は、前述したメタデータスキーマ管理表7100におけるメタデータスキーマ定義と、後述する検索インデックススキーマ管理表7300における検索インデックススキーマ定義との対応関係を管理する。
【0074】
具体的に、スキーママッピング管理表7200は、マッピングID7210と、ネームスペース名7220と、メタデータ名7230と、フィールド名7240と、フィールドタイプ7250と、フィールドエイリアス7260という構成情報からなる。
【0075】
マッピングID7210は、本表の各レコードに機械的に付与された識別番号を格納する。ネームスペース名7220は、メタデータスキーマ管理表7100のネームスペース名7130の欄に格納されている情報と同じ情報を格納する。メタデータ名7230は、メタデータスキーマ管理表7100のメタデータ名7140の欄に格納されている情報と同じ情報を格納する。
【0076】
フィールド名7240は、検索インデックススキーマ定義において、メタデータ名7230の欄に格納されたメタデータ名と関連付けた名前を格納する。このフィールド名7240は、検索サーバ1100内で一意性を保つ。例えば、
図9で示しているように、個別に追加されたフィールド名として、個別拡張を示す文字列(CUSTOMMETA_)と、ネームスペースエイリアスを示す文字列(A2)と、メタデータ名を示す文字列(ProductA/〜)を連結した文字列を使用してもよい。
【0077】
フィールドタイプ7250は、当該フィールドに格納されるデータの種別を定義した情報を格納する。ここでは、メタデータスキーマ管理表7100のメタデータタイプ7150に格納されたものと同じものを格納してもよいし、システム管理者によって設定してもよい。ここで指定するデータ種別には、数値型を示すinteger型、文字列型を示すstring型、文字列をトークンに分割してキーワード検索できるようにしたtext型といったものがある。
【0078】
また、各データ型について、検索結果を当該フィールドの値を使用して整列するために、整列可能なデータ型を使用したり、検索インデックスデータサイズをなるべく小さくしたりするために、値の整列はできないが格納サイズを小さくできるデータ型を使用することができる。
【0079】
フィールドエイリアス7260は、フィールド名7240の別名を格納する。このフィールドエイリアス7260は、利用するネームスペース内で一意性を保つようにしてもよいし、検索サーバ1100内で一意性を保つようにしてもよい。以降では、ネームスペース内で一意性を保つようにフィールドエイリアス7260を設定するケースで説明する。
【0080】
このフィールドエイリアス7260は、検索サーバ1100内で機械的に設定してもよいし、システム管理者が設定してもよい。このフィールドエイリアス7260を利用することで、検索サーバ1100に対してフィールド名を指定したメタデータ検索を行う場合に、一意性を保証するために文字列が長くなる可能性があるフィールド名7240を利用するかわりに、短い長さの文字列からなるフィールドエイリアス7260を利用してもよい。
【0081】
なお、事前にインデクシングする必要がないとわかっているメタデータ名7230については、当該メタデータ名7230と対応させるフィールド名7240とフィールドタイプ7250とフィールドエイリアス7260の欄に、対応付けするものがないことを示す文字列を格納してもよい。例えば、図に示しているように、”<NONE>”という文字列を対応付けするものなしという意味で格納してもよい。
【0082】
図10は、検索サーバ1100上で管理される検索インデックススキーマ管理表7300の構成を例示する図である。検索インデックススキーマ管理表7300は、当該検索サーバ1100において検索サービスを提供する際に利用するインデックスデータの構造を定義したスキーマ情報を管理する。
【0083】
検索サーバ1100は、検索インデックススキーマ管理表7300で定義された情報をもとに、キーワードによる全文検索や、メタデータ名と検索条件を指定したメタデータ検索といった検索機能を実現するために必要なインデックスデータを作成する。具体的に、検索インデックススキーマ管理表7300は、フィールド名7310と、フィールドタイプ7320などといった構成要素からなる。
【0084】
フィールド名7310は、前述したスキーママッピング管理表7200のフィールド名7240の欄に格納されている情報と同じ情報を格納する。ただし、スキーママッピング管理表7200のフィールド名7240の欄に存在する名前の中で、検索インデックススキーマ管理表7300のフィールド名7310の欄に存在しない名前があってもよい。
【0085】
これは、スキーママッピング管理表7200ではフィールド名7240が登録されているが、検索インデックススキーマ管理表7300に該当するフィールド名7310が登録されていない場合、すなわち当該フィールド名ではインデクシングされないし、検索できないことになる。本実施例1では、インデクシングするかしないかの判断をフィールド名7310の単位で設定することができる。これにより、検索サーバ1100における検索インデックススキーマ定義のカスタマイズをする際に、試行錯誤的にフィールドの追加や削除、フィールドタイプを変更するといったことを行うことも可能になる。
【0086】
なお、フィールド名7310とフィールドタイプ7320については、スキーママッピング管理表7200にて登録されているものを利用する。このため、フィールド名7310やフィールドタイプ7320を変更したい場合は、スキーママッピング管理表7200のフィールド名7240とフィールドタイプ7250を変更した上で、スキーママッピング管理表7200の変更後の情報を検索インデックススキーマ管理表7300に取り込む。
【0087】
図11A、
図11Bは、検索サーバ1100上で管理される検索インデックス管理表7400の構成を例示する図である。検索インデックス管理表7400では、検索サーバ1100が作成した検索インデックスの情報を管理する。具体的には、検索インデックス管理表7400は、フィールド名7410と、フィールド値7420と、該当位置情報7430などという構成情報からなる。
【0088】
フィールド名7410は、前述した検索インデックススキーマ管理表7400のフィールド名7310の欄に格納されている情報と同じ情報を格納する。フィールド値7420は、検索対象ファイルをインデクシング処理にて解析して得られたオブジェクト(数値や文字列など)を、フィールド名7410で指定されたフィールドごとに格納する。図で示す例では、フィールド名7410が”filename”の場合、検索対象ファイルのファイル名からなる文字列を格納する。
【0089】
また、フィールド名7410が”content”の場合、対象ファイルの中身全体の文字列に対して、キーワード検索できるようトークンに分割したものを格納する。該当位置情報7430は、当該フィールド値7420の欄に登録されているオブジェクトが存在するファイルの情報を登録する。
【0090】
この該当位置情報7430は、ファイル識別情報7431、7434と、該当位置オフセット7432、7435と、重み付け7433、7436という構成要素からなる。ファイル識別情報7431、7434は、当該フィールド値7420に格納されているオブジェクトが出現するファイルを識別するための情報を登録する。
【0091】
具体的には、後述する検索インデックス登録ファイル管理表7500におけるファイル識別情報7510の欄に登録されている情報を登録してもよいし、対象ファイルに実際にアクセスするときのファイルパス名やファイル識別子でもよい。該当位置オフセット7432、7435は、当該ファイルの中で、当該オブジェクトが出現するオフセット情報を登録する。この欄では、一つのファイルで複数箇所に当該オブジェクトが出現する場合、複数個のオフセット情報を登録する。重み付け7433、7436は、当該ファイルの当該オフセットにおいて、当該オブジェクトが出現することによる重要度の値を登録する。この重要度の値は、検索サーバ1100が適宜設定する。この値は、大きければ大きいほど重要だという意味づけを行う。また、この値は、検索結果の絞り込みや整列に利用することができる。
【0092】
ここで、該当位置情報7430については、一つのフィールド値7420に対して複数個登録可能にする。これにより、フィールド値7420に格納されたオブジェクトを持つファイルが複数存在する場合にも対応可能となる。なお、該当位置情報7430の欄において、該当するエントリの値が無効であることを意味するnull値を登録することもできる。これは、該当位置情報7430の欄において、登録数が他のエントリより少ない場合に項目が空いてしまうエントリや、該当位置オフセット7432、7435の情報が不要な場合なエントリに対して利用することができる。
【0093】
図12は、検索サーバ1100上で管理される検索インデックス登録ファイル管理表7500の構成を例示する図である。検索インデックス登録ファイル管理表7500では、当該検索サーバ1100が検索インデックスの作成対象とするファイルサーバ2100上のファイル共有から取得したファイルに関する情報を管理する。具体的に、検索インデックス登録ファイル管理表7500は、ファイル識別情報7510と、ファイルパス名7520と、メタデータ7530などという構成要素からなる。
【0094】
ここで、ファイル識別情報7510は、検索サーバ1100が検索インデックス作成のために取得したファイルを一意に識別するための識別子である。この識別子は、当該検索サーバ1100が付与する連番でもよいし、当該ファイルが格納されているファイルサーバ2100が付与した連番でもよい。なお、連番以外にも、識別に使用可能な文字列を利用してもよい。
【0095】
ファイルパス名7520は、対象ファイルが格納されているファイルパス名に相当する。これにより、検索サーバ1100は、当該ファイルパス名7520を指定してファイルの取得要求をファイルサーバ2100へ送信することで、当該ファイルを取得することができる。
【0096】
この検索インデックス登録ファイル管理表7500を利用することで、検索制御プログラム1124がユーザからの検索要求に応える場合、当該検索条件に合致するか否かの判断は検索インデックス管理表7400のみを利用すればよく、条件に合致したファイルについてのみ、適宜検索インデックス登録管理表7500から対象ファイルアクセスに必要な情報を取得することができる。
【0097】
ここまでに、本発明によって提供するシステムの構成、管理情報の構成について説明した。以降では、本発明によって実施する処理と、各処理を実行するときに利用する操作画面例について説明する。
【0098】
以下の説明では、処理として、メタデータスキーマ登録処理(
図13)、スキーママッピング定義登録処理(
図15)、検索インデックススキーマ定義登録処理(
図17)、検索インデックス更新処理(
図19)、およびファイル検索処理(
図20)について説明する。また、操作画面例として、メタデータスキーマ登録画面(
図14)、スキーママッピング定義登録画面(
図16)、検索インデックススキーマ定義登録画面(
図18)、およびファイル検索画面(
図21、
図22)について説明する。
【0099】
図13は、検索サーバ1100の検索インデックススキーマ制御サブプログラム1171が行うメタデータスキーマ登録処理の一例を示すフローチャートである。本処理では、システム管理者からメタデータスキーマ定義を記載したスキーマ定義ファイル7000を検索サーバ1100に登録してもらい、当該スキーマ定義ファイル7000からメタデータのスキーマ定義情報を抽出して、メタデータスキーマ管理表7100に登録する処理を行う。
【0100】
はじめに、検索インデックススキーマ制御サブプログラム1171を実行するプロセッサ1110は、検索対象ファイルのスキーマ定義ファイル7000と、当該ファイルにて定義されているネームスペースのエイリアスを管理用マシン3100上の検索サーバ管理クライアント制御プログラム3124から受信する(ステップS101)。ここでは、
図7に示したようなスキーマ定義ファイル7000を取得する。なお、スキーマ定義情報が取得できるものであれば、
図7以外のどのような形式のものでもよい。なお、以下の説明ではプログラムを実行する主体は、プロセッサ1110で同様であるため、説明を簡易にするためプロセッサ1110の記載は省略する。
【0101】
次に、検索インデックススキーマ制御サブプログラム1171は、スキーマ定義ファイル7000で指定されたネームスペースエイリアスが既に当該検索サーバ1100にて利用されているネームスペースエイリアスと重複しているか否かを判定する(ステップS102)。
【0102】
ネームスペースのエイリアスが重複している場合(ステップS102でYesの場合)は、エラーとなって検索インデックススキーマ制御サブプログラム1171は終了する。一方、ネームスペースのエイリアスが重複していない場合(ステップS102でNoの場合)、検索インデックススキーマ制御サブプログラム1171は、受信したスキーマ定義ファイル7000からメタデータスキーマ定義を抽出する(ステップS103)。
【0103】
ここで抽出するメタデータスキーマ定義としては、メタデータ名ならびに当該メタデータのデータ型を示すメタデータタイプといった情報を抽出する。ここでは、スキーマ定義ファイル7000がXML形式で記載されている場合、あるXML形式のデータを別のXML形式に変換するXSLTなどを利用して、所望のメタデータスキーマ定義を抽出してもよい。
【0104】
次に、検索インデックススキーマ制御サブプログラム1171は、抽出したメタデータ情報を要求元(例えば、管理マシン3100)に提示(送信)する(ステップS104)。ここでは、提示した情報を管理用マシン3100上の検索サーバ管理クライアントプログラム3124に送信し、検索サーバ管理クライアントプログラム3124が提示情報をシステム管理者が閲覧できるように管理マシン3100の出力装置3172(管理画面や管理コンソール)などに出力する。
【0105】
その後、検索インデックススキーマ制御サブプログラム1171は、要求元が提示情報を確認した結果、当該抽出情報に対して変更が必要か否かを判定する(ステップS105)。ここでは、提示情報を送信した後で、検索サーバ管理クライアントプログラム3124から返ってくる情報の中に、変更が必要か否かを示す情報も含めてもよい。この情報を利用して上記の判定を行う。
【0106】
変更が必要な場合(ステップS105でYesの場合)、検索インデックススキーマ制御サブプログラム1171は、要求元(管理マシン3100)から当該メタデータスキーマ定義に対する変更情報を取得し、当該変更情報をメタデータスキーマ定義に反映させる(ステップS106)。その後、ステップS104以降の処理を再度繰り返す。
【0107】
変更が不要の場合(ステップS105でNoの場合)、検索インデックススキーマ制御サブプログラム1171は、抽出したメタデータスキーマ定義をメタデータスキーマ管理表7100に登録して処理を終了する。
【0108】
なお、上記の説明では、スキーマ定義ファイル7000を検索サーバ1100に登録し、スキーマ定義ファイル7000の内容を解析して解析結果を利用する例を説明したが、その限りではない。システム管理者が、メタデータスキーマ管理表7100に登録すべき情報を直接指定して、当該管理表に登録してもよい。
【0109】
図14は、前述したメタデータスキーマ登録処理を管理マシン3100の管理画面から行う場合における操作画面例を示す。管理マシン3100の出力装置3172に表示されるメタデータスキーマ登録画面8100では、メタデータスキーマ定義ファイル登録欄8110と、メタデータスキーマ管理表登録欄8120を提供する。
【0110】
メタデータスキーマ定義ファイル登録欄8110には、ネームスペースエイリアス入力欄8111と登録ファイル名入力欄8112を提供する。上記二つを入力した後、Uploadボタン8113を押下することで、指定したスキーマ定義ファイルを検索サーバ1100に登録することができる。また、Cancelボタン8114を押下することで、ファイル登録処理をキャンセルすることができる。
【0111】
メタデータスキーマ管理表登録欄8120には、前述したUploadボタン8113を押下した後、検索サーバ1100にて抽出したメタデータスキーマの内容を表示する。表示内容は、メタデータスキーマ管理表7100のエントリと同じである。表示された項目について、チェックボックス欄8126にて対象レコードを特定し、Editボタン8127を押下することで内容を修正する。また、同様にDeleteボタン8128を押下することで内容を削除する。登録内容が確定したら、Registerボタン8129を押下することで、メタデータスキーマ管理表7100に登録することができる。なお、Cancelボタン8130を押下することで、メタデータスキーマ管理表7100への登録処理をキャンセルすることができる。
【0112】
図15は、検索サーバ1100の検索インデックススキーマ制御サブプログラム1171を実行するプロセッサ1110が行うスキーママッピング定義登録処理の流れを示す。なお、
図13と同様にプロセッサ1110を省略して以下の説明を簡易にする。
【0113】
本処理では、管理マシン3100を操作するシステム管理者からメタデータスキーマ定義を特定するためのネームスペースエイリアスを指定してもらい、当該ネームスペースを持つメタデータスキーマ定義を取得し、メタデータスキーマ定義からスキーママッピング定義に必要な情報を生成の上、スキーママッピング管理表7200に生成した情報を登録する処理を行う。
【0114】
はじめに、検索インデックススキーマ制御サブプログラム1171は、マッピング定義を設定する対象となるメタデータスキーマ定義を特定するためのネームスペースのエイリアスを管理用マシン3100上の検索サーバ管理クライアントプログラム3124から受信する(ステップS201)。なお、メタデータスキーマ定義を特定できる情報であれば、どのような形式のものでもよい。例えば、ネームスペース名そのものでもよい。
【0115】
次に、検索インデックススキーマ制御サブプログラム1171は、ステップS201で指定されたネームスペースのエイリアスが当該検索サーバ1100に登録されているか否かを判定する(ステップS202)。
【0116】
ネームスペースエイリアスが登録されていない場合(ステップS202でNo場合)は、エラーとなって処理を終了する。一方、ネームスペースエイリアスが登録されている場合(ステップS202でYesの場合)、検索インデックススキーマ制御サブプログラム1171は、受信したネームスペースエイリアスより、メタデータスキーマ定義をメタデータスキーマ管理表7100から取得する(ステップS203)。ここでメタデータスキーマ定義は、メタデータスキーマ管理表7100に登録されているレコードの中で、ネームスペースエイリアス7120が指定されたエイリアスと同じレコードから取得する。
【0117】
次に、検索インデックススキーマ制御サブプログラム1171は、取得したメタデータスキーマ定義より、スキーママッピング情報候補を生成する(ステップS204)。ここでは、ネームスペース名7130とメタデータ名7140からフィールド名7240の候補を生成し、メタデータタイプ7150からフィールドタイプ7250の候補を生成し、メタデータ名7140からフィールドエイリアス7260の候補を生成する。これら三つの構成要素と、メタデータスキーマ管理表7100から取得した内容を組み合わせて、スキーママッピング情報候補とする。
【0118】
次に、検索インデックススキーマ制御サブプログラム1171は、生成したスキーママッピング情報候補を要求元(例えば、管理マシン3100)に送信して出力装置3172に提示する(ステップS205)。ここでは、提示情報を管理用マシン3100上の検索サーバ管理クライアントプログラム3124に送信し、検索サーバ管理クライアントプログラム3124が提示情報をシステム管理者が閲覧できるように管理画面や管理コンソールなどの出力装置3172に出力する。
【0119】
その後、検索インデックススキーマ制御サブプログラム1171は、要求元が提示情報を確認した結果、当該提示情報に対して変更が必要か否かを判定する(ステップS206)。ここでは、提示情報を送信した後で、検索サーバ管理クライアントプログラム3124から返ってくる情報の中に、変更が必要か否かを示す情報も含めてもよい。この情報を利用して上記の判断を行う。
【0120】
変更が必要な場合(ステップS206でYesの場合)、検索インデックススキーマ制御サブプログラム1171は、要求元から当該スキーママッピング情報候補に対する変更情報を取得し、当該変更情報をスキーママッピング情報候補に反映させる(ステップS207)。その後、ステップS205以降の処理を再度繰り返す。
【0121】
変更が不要な場合(ステップS206でNoの場合)、検索インデックススキーマ制御サブプログラム1171は、当該スキーママッピング情報をスキーママッピング管理表7200に登録して処理を終了する。
【0122】
なお、上記の説明では、ネームスペースエイリアスを指定し、メタデータスキーマ管理表7100に登録されている内容をもとにスキーママッピング情報候補を生成して利用する例を説明したが、その限りではない。システム管理者が、スキーママッピング管理表7200に登録すべき情報を直接指定して、当該管理表に登録する。
【0123】
図16は、前述したスキーママッピング定義登録処理を管理マシン3100等の管理画面から行う場合における操作画面の一例を示す。スキーママッピング定義登録画面8200では、メタデータスキーマ管理表呼び出し欄8210と、スキーママッピング管理表登録欄8220を提供する。
【0124】
メタデータスキーマ管理表呼び出し欄8210には、ネームスペースエイリアス入力欄8211を提供する。上記ネームスペースエイリアスを入力した後、Callボタン8212を押下することで、指定されたネームスペースエイリアスを持つレコードをメタデータスキーマ管理表7100から探索し、後述するスキーママッピング管理表登録欄8220に出力することができる。
【0125】
スキーママッピング管理表登録欄8220には、前述したCallボタン8212を押下した後、指定されたネームスペースエイリアスを持つメタデータスキーマ管理表7100のレコードの内容と、これらのレコードから生成した内容からなるスキーママッピング情報候補を出力する。表示内容は、メタデータスキーマ管理表7100のエントリ(ID8221、ネームスペースエイリアス8222、ネームスペース名8223、メタデータ名8224、メタデータタイプ8225)と、上述した三つの生成情報に関するエントリ(フィールド名8226、フィールドタイプ8227、フィールドエイリアス8228)である。表示された項目について、チェックボックス欄8229にて対象レコードを特定し、Editボタン8230を押下することで内容が修正(更新)される。また、同様にDeleteボタン8231を押下することで内容を削除する。登録内容が確定したら、Registerボタン8232を押下することで、スキーママッピング管理表7200に登録することができる。なお、Cancelボタン8233を押下することで、スキーママッピング管理表7200への登録処理をキャンセルすることができる。
【0126】
図17は、検索サーバ1100の検索インデックススキーマ制御サブプログラム1171を実行するプロセッサ1110が行う検索インデックススキーマ定義登録処理の流れを示す。なお、
図13と同様に説明を簡易にするためプロセッサ1110の記載を省略する。
【0127】
本処理では、検索インデックススキーマ定義に登録するフィールド情報を特定するために当該フィールドに関連付けられたネームスペースエイリアスをシステム管理者などに指定してもらい、当該ネームスペースを持つメタデータスキーマ定義とスキーママッピング定義を取得し、これらの定義から登録対象フィールド情報を取得の上、検索インデックススキーマ管理表7300に上記登録対象フィールド情報を登録する処理を行う。
【0128】
はじめに、検索インデックススキーマ制御サブプログラム1171は、検索インデックススキーマ定義を登録する対象となるスキーママッピング情報を特定するためのネームスペースエイリアスを、管理用マシン3100上の検索サーバ管理クライアントプログラム3124から受信する(ステップS301)。なお、スキーママッピング情報を特定できる情報であれば、どのような形式のものでもよい。例えば、ネームスペース名そのものでもよい。
【0129】
次に、検索インデックススキーマ制御サブプログラム1171は、指定されたネームスペースエイリアスが当該検索サーバ1100に登録されているか否かを判定する(ステップS302)。
【0130】
ネームスペースエイリアスが登録されていない場合(ステップS302でNoの場合)は、エラーとなって処理を終了する。登録されている場合(ステップS302でYesの場合)、検索インデックススキーマ制御サブプログラム1171は、受信したネームスペースエイリアスより、スキーママッピング情報をメタデータスキーマ管理表7100ならびにスキーママッピング管理表7200から取得する(ステップS303)。
【0131】
ここで、メタデータスキーマ定義は、メタデータスキーマ管理表7100に登録されているレコードの中で、ネームスペースエイリアス7120が指定されたエイリアスと同じレコードを選択して取得する。また、スキーママッピング情報は、スキーママッピング管理表7200に登録されているレコードの中で、ネームスペース名7220がメタデータスキーマ定義に含まれるネームスペース名と同じレコードを選択して取得する。
【0132】
次に、検索インデックススキーマ制御サブプログラム1171は、取得したスキーママッピング情報より、検索インデックススキーマ定義候補を生成する(ステップS304)。ここでは、メタデータスキーマ管理表7100から取得したネームスペースエイリアス7120と、スキーママッピング管理表7200から取得したフィールド名7240とフィールドタイプ7250を組み合わせて、検索インデックススキーマ定義の候補とする。
【0133】
次に、検索インデックススキーマ制御サブプログラム1171は、生成した検索インデックススキーマ定義の候補を要求元(例えば、管理マシン3100)へ送信して出力装置3172に出力する(ステップS305)。
【0134】
ここでは、提示する情報を管理用マシン3100上の検索サーバ管理クライアントプログラム3124に送信し、検索サーバ管理クライアントプログラム3124が提示する情報をシステム管理者が閲覧できるように管理画面や管理コンソールなどの出力装置3172に出力する。
【0135】
その後、検索インデックススキーマ制御サブプログラム1171は、要求元が提示した情報を確認した結果、当該提示情報に対して変更が必要か否かを判断する(ステップS306)。具体的には、提示されたフィールド名の中で、実際に検索インデックススキーマ管理表7300に登録するものと登録しないものをシステム管理者等に選択してもらい、選択された内容をもとに変更の要否の判定を行う。ここでは、提示情報を送信した後で、検索サーバ管理クライアントプログラム3124から返ってくる情報の中に、変更が必要か否かを示す情報も含めてもよい。この情報を利用して上記の判定を行う。
【0136】
変更が必要な場合(ステップS306でYesの場合)、検索インデックススキーマ制御サブプログラム1171は、要求元から当該検索インデックススキーマ定義候補に対する変更情報を取得し、変更情報を検索インデックススキーマ定義の候補に反映させる(ステップS307)。具体的には、検索インデックススキーマ管理表7300への登録が必要と指定されたフィールドを残し、登録が不要と指定されたフィールドを削除する。その後、ステップS305以降の処理を再度繰り返す。
【0137】
一方、変更が不要な場合(ステップS306でNoの場合)、検索インデックススキーマ制御サブプログラム1171は、当該検索インデックススキーマ定義の候補を検索インデックススキーマ管理表7300に登録して処理を終了する。
【0138】
なお、上記の説明では、ネームスペースエイリアスを指定し、メタデータスキーマ管理表7100ならびにスキーママッピング管理表7200に登録されている内容をもとに検索インデックススキーマ定義候補を生成して利用する例を説明したが、その限りではない。システム管理者が、検索インデックススキーマ管理表7300に登録すべき情報を直接指定して、当該管理表に登録してもよい。ただし、この場合はスキーママッピング管理表7200に登録しているエントリの情報との整合性は別途保証する必要がある。
【0139】
図18は、前述した検索インデックススキーマ定義登録処理を管理マシン3100等の管理画面から行う場合における操作画面の一例を示す。検索インデックススキーマ定義登録画面8300では、スキーママッピング管理表呼び出し欄8310と、検索インデックススキーマ管理表登録欄8320を提供する。
【0140】
スキーママッピング管理表呼び出し欄8310には、ネームスペースエイリアス入力欄8311を提供する。上記を入力した後、Callボタン8312を押下することで、指定されたネームスペースエイリアスを持つレコードをメタデータスキーマ管理表7100ならびにスキーママッピング管理表7200から探索し、後述する検索インデックススキーマ管理表登録欄8320に出力することができる。
【0141】
検索インデックススキーマ管理表登録欄8320には、前述したCallボタン8312を押下した後、指定されたネームスペースエイリアスを持つメタデータスキーマ管理表7100のレコードの内容と、当該レコードと同じネームスペース名7130を持つスキーママッピング管理表7200のレコードの内容から生成した検索インデックススキーマ定義候補を出力する。表示内容は、メタデータスキーマ管理表7100のエントリ(ネームスペースエイリアス8323)と、スキーママッピング管理表7200のエントリ(マッピングID8321、フィールド名8324、フィールドタイプ8325)と、当該レコードを検索インデックススキーマ管理表7300に追加するか否かを示すエントリ(フィールド更新フラグ8322)である。表示された項目について、チェックボックス欄8326にて対象レコードを特定し、Editボタン8327を押下することで内容を修正する。また、同様にDeleteボタン8328を押下することで内容を削除する。登録内容が確定したら、Registerボタン8329を押下することで、検索インデックススキーマ管理表7300に登録することができる。なお、Cancelボタン8330を押下することで、検索インデックススキーマ管理表7300への登録処理をキャンセルすることができる。
【0142】
上記、検索インデックススキーマ定義登録画面8300では、フィールド更新フラグ8322を設けることで、検索対象とはならないフィールドについて検索インデックススキーマ定義を作成しないことを選択できる。つまり、検索制御プログラム1124は、フィールド更新フラグ8322が「Yes」であれば検索インデックススキーマ定義を生成し、フィールド更新フラグ8322が「No」であれば検索インデックススキーマ定義を生成しない。これにより、検索対象とはならないフィールドを除外して検索インデックススキーマ管理表7300が肥大化するのを防止できる。
【0143】
図19は、検索サーバ1100のインデクシング制御サブプログラム1173が行う検索インデックス更新処理の流れを示すフローチャートである。本処理では、検索サーバ1100にて予め設定された検索インデックス更新開始要求を契機に、ファイルアクセス制御サブプログラム1172を利用してファイルサーバ2100上のファイルにアクセスする。インデクシング制御サブプログラム1173を実行するプロセッサ1110は、ファイルサーバ2100のファイルから検索インデックス更新対象ファイルを特定し、当該ファイルサーバ2100から検索インデックス更新対象ファイルに関するデータやメタデータを取得する。インデクシング制御サブプログラム1173を実行するプロセッサ1110は、取得したデータをもとに検索インデックスの更新を行い、更新の結果を検索インデックス管理表7400ならびに検索インデックス登録ファイル管理表7500に反映させる。なお、上記
図13と同様にプログラムを実行するプロセッサ1110の記述は省略する。
【0144】
はじめに、インデクシング制御サブプログラム1173は、当該検索インデックス更新処理を差分インデクシングによって行うのか否かを判断する(ステップS401)。ここでは、当該検索インデックス更新要求が出される際に、差分インデクシングを行うのか、あるいはフルインデクシングを行うのかを示す情報も指定し、指定された情報をもとに判断してもよい。
【0145】
差分インデクシングではなくフルインデクシングを行う場合(ステップS401でNoの場合)、以下に説明する処理を行う。はじめに、インデクシング制御サブプログラム1173は、ファイルサーバ2100に格納されている検索対象ファイル全てをクロールしたか否かを判定する(ステップS402)。
【0146】
全ファイルをクロールしていない場合(ステップS402でNoの場合)、インデクシング制御サブプログラム1173は、ファイルサーバ2100に格納されているファイルのうち、今回のクローリングにて未選択のファイルの中から任意の一つのファイルを選択する(ステップS403)。
【0147】
その後、インデクシング制御サブプログラム1173は、検索インデックス更新対象リストに対象ファイル名を追加する(ステップS404)。ここでは、ステップS403で選択したファイルのファイル名を当該リストに追加する。その後、ステップS402に戻り、全ての対象ファイルのファイル名を検索インデックス更新対象リストに追加し終えるまで繰り返す。なお、ここではファイル一つ一つの名前を当該リストに追加する例を示したが、この限りではない。例えば、対象ファイルリストが別途取得可能であれば、そのまま利用してもよい。
【0148】
フルインデクシング処理のケースにて全ファイルをクロールした場合(ステップS402でYesの場合)、インデクシング制御サブプログラム1173は、検索インデックス更新対象リストに記載されたファイルを対象に、検索インデックス更新を行う(ステップS405)。
【0149】
ここでは、インデクシング制御サブプログラム1173は、対象ファイルのデータやメタデータをファイルサーバ2100から取得し、検索インデックス更新対象リストに記載されたファイルの種別を特定する。インデクシング制御サブプログラム1173は、当該特定した種別でインデクシングすべきメタデータスキーマ定義とインデクシングすべき情報をメタデータスキーマ管理表7100、スキーママッピング管理表7200および検索インデックススキーマ管理表7300から取得する。インデクシング制御サブプログラム1173は、取得した情報を元に対象ファイルからインデクシングすべき内容を抽出し、抽出した内容を検索インデックス管理表7400ならびに検索インデックス登録ファイル管理表7500に反映させる。以上で、フルインデクシング処理を終了する。
【0150】
一方で、差分インデクシングを行う場合(ステップS401でYesの場合)、以下に説明する処理を行う。はじめに、インデクシング制御サブプログラム1173は、ファイルサーバ2100に格納されている検索対象ファイル全てをクロールしたか否かを判定する(ステップS406)。
【0151】
全ファイルをクロールしていない場合(ステップS406でNoの場合)、インデクシング制御サブプログラム1173は、ファイルサーバ2100に格納されているファイルのうち、今回のクローリングにて未選択のファイルの中から任意の一つのファイルを選択する(ステップS407)。
【0152】
その後、インデクシング制御サブプログラム1173は、選択した対象ファイルの最終更新日時情報を参照し、前回のインデックス更新日時よりも新しいか否かを判定する(ステップS408)。
【0153】
当該ファイルの最終更新日時が前回のインデックス更新日時よりも新しい場合(ステップS408でYesの場合)、インデクシング制御サブプログラム1173は、対象ファイルを検索インデックスの更新対象ファイルと判断し、検索インデックス更新対象リストに、当該ファイルのファイル名を追加する(ステップS409)。その後、ステップS406に戻り、全ての対象ファイルについて上記処理を繰り返す。
【0154】
また、当該ファイルの最終更新日時が前回のインデックス更新日時よりも古い場合(ステップS408でNoの場合)、インデクシング制御サブプログラム1173は、対象ファイルの検索インデックスを更新不要と判断し、ステップS406に戻る。以降は同様に全ての対象ファイルについて上記処理を繰り返す。
【0155】
差分インデクシング処理のケースにて全ファイルをクロールした場合(ステップS406でYesの場合)、インデクシング制御サブプログラム1173は、検索インデックス更新対象リストに記載されたファイルを対象に、検索インデックス更新を行う(ステップS405)。以上で、差分インデクシング処理を終了する。
【0156】
上記処理により、予め設定された契機(または周期)になるとフルインデクシング処理または差分インデクシング処理によって、検索インデックスの更新が完了する。
【0157】
図20は、検索サーバ1100における検索インデックスを利用したファイル検索処理の流れを示すフローチャートである。以下では、検索サーバ1100上の検索応答制御サブプログラム1174を実行するプロセッサ1110が行うファイル検索処理を例に説明する。具体的には、クライアントマシン4100上の検索クライアント制御プログラム4124から検索サーバ1100に対して検索要求が送信された場合における検索処理を説明する。この処理は、検索制御プログラム1124が検索要求を受信したときに開始される。なお、上記
図13と同様に説明を簡易にするためプロセッサ1110の記載は省略する。
【0158】
はじめに、検索応答制御サブプログラム1174は、検索要求元(クライアントマシン4100)から受信した検索要求の内容を解析して、検索要求で指定された検索条件を取得する(ステップS501)。
【0159】
次に、検索応答制御サブプログラム1174は、検索要求で指定された検索条件について、検索用のフィールド名を変換する必要があるか否かを判定する(ステップS502)。ここでは、検索インデックススキーマ管理表7300のフィールド名7310と同じ名前を検索条件で指定している場合は、当該フィールド名で直接検索可能なため変換不要であると判定する。一方、検索条件としてスキーママッピング管理表7200のフィールドエイリアス7260とネームスペース名7220を指定している場合、またはスキーママッピング管理表7200のフィールドエイリアス7260とメタデータスキーマ管理表7100のネームスペースエイリアス7120を指定している場合は、直接検索できないため、検索可能なフィールド名に変換する。したがって、検索条件として検索インデックススキーマ管理表7300のフィールド名7310が指定されている場合は、変換不要と判断し、それ以外の場合は変換必要と判断する。
【0160】
フィールド名の変換が必要な場合(ステップS502でYesの場合)、検索応答制御サブプログラム1174は、メタデータスキーマ管理表7100とスキーママッピング管理表7200の登録情報を基に、フィールド名の変換を行う(ステップS503)。具体的には、検索条件としてスキーママッピング管理表7200のフィールドエイリアス7260とネームスペース名7220を指定している場合は、当該レコードのフィールド名7240に変換する。また、検索条件としてスキーママッピング管理表7200のフィールドエイリアス7260とメタデータスキーマ管理表7100のネームスペースエイリアス7120を指定している場合は、当該ネームスペースエイリアス7120に対するネームスペース名7130を取得することで、上記と同様にネームスペース名7220に対応するフィールド名7240に変換する。その後、ステップS504に遷移する。
【0161】
一方、フィールド名の変換が不要な場合(ステップS502でNoの場合)、検索応答制御サブプログラム1174は、検索インデックス管理表7400を参照して、検索条件に合致するレコードを特定し、当該レコードに格納されているファイル識別情報7431、7434などを取得する(ステップS504)。
【0162】
次に、検索応答制御サブプログラム1174は、検索インデックス登録ファイル管理表7500を参照して、前の処理で取得したファイル識別情報7431、7434から対象ファイルのファイルパス名7520を取得する(ステップS505)。
【0163】
最後に、検索応答制御サブプログラム1174は、取得した情報をもとに検索結果をまとめて要求元に応答し、処理を終了する(ステップS506)。
【0164】
上記処理により、検索サーバ1100は、クライアントマシン4100から検索要求を受信すると、検索条件に合致するファイルパスを応答する。このとき、検索サーバ1100は、検索要求がフィールド名の変換が必要な場合には、メタデータスキーマ管理表7100とスキーママッピング管理表7200からフィールド名を変換することで、検索条件に合致するファイルパスを検索できる。
【0165】
図21は、前述したファイル検索処理を検索ユーザが利用するクライアントマシン4100の出力装置4172の画面から行う場合における操作画面例を示す。ファイル検索画面8400では、検索条件入力欄8410と、検索結果出力欄8420を提供する。
【0166】
検索条件入力欄8410には、各種検索条件を入力するための入力欄を提供する。ここでは、複数の条件を論理式で組み合わせたものを検索条件として入力できれば、どのような形式でもよい。ここで述べる検索条件とは、検索対象フィールド名、当該フィールドで特定されるフィールドに格納されている値もしくは値の範囲を示したものを組み合わせたものに相当する。検索対象フィールド名を特定するために、さらに当該フィールド名のネームスペース名や、ネームスペース名のエイリアスを追加してもよい。また、フィールド名のかわりにフィールドエイリアスを指定してもよい。図で示している例では、ネームスペースエイリアスが”A2”であって、かつフィールド名”PatientID”で特定されるフィールドの値が”1000”となるものを検索する場合の検索条件を示している。
【0167】
上記の検索条件を入力した後、Searchボタン8411を押下することで、指定された検索条件をクライアントマシン4100から検索サーバ1100へ送信し、検索が実行される。
【0168】
検索結果出力欄8420には、前述したSearchボタン8411を押下した後、指定された検索条件で検索サーバ1100が検索した結果を出力する。図で示している例では、検索結果として検索条件に合致するファイルをリスト形式で出力したリスト出力8430を示している。検索結果の出力形式は、Listボタン8421を押下することで、リスト出力形式で出力し、Tableボタン8422を押下することで、後述するテーブル出力形式で出力する。なお、リスト出力形式やテーブル出力形式以外の任意の出力形式を指定してもよい。
【0169】
また、リスト出力8430において、各ファイルのメタデータに関するフィールド名とメタデータの値に関する情報を出力してもよい。どのフィールドを出力するのか、またはどのようなフォーマットで出力するのかについて設定してもよい。
【0170】
また、検索結果の整列条件入力欄8423を提供し、どのフィールドで整列させるのかを指定すると共に、降順昇順のどちらで整列させるのかを指定するため、それぞれASCボタン8424、DESCボタン8425を提供する。整列条件入力欄8423にフィールド名を入力した後、ASCボタン8424を押下することで、当該フィールドの値を使用して昇順に整列したものを出力する。整列条件入力欄8423にフィールド名を入力した後、DESCボタン8425を押下することで、当該フィールドの値を使用して降順に整列したものを出力する。
【0171】
図22は、前述したファイル検索処理をクライアントマシン4100の検索ユーザ向け画面から行う場合における操作画面例として、検索結果をテーブル出力形式にした場合の例を示す。画面構成は
図21とほとんど同じである。以降では、
図21との差分についてのみ説明する。
【0172】
図21に示した画面との差分は、検索結果出力欄8420において、検索結果として検索条件に合致するファイルをテーブル形式で出力したテーブル出力8440になっている点である。テーブル出力形式で出力する場合、各ファイルのメタデータに関するフィールド名とメタデータの値に関する情報をテーブルの各カラムとして出力している。どのフィールドを出力するのか、またはどのようなフォーマットで出力するのかについて設定してもよい。
以上、本発明の実施例1について説明したが、本発明はこの実施例1に限定されることなくその趣旨を逸脱しない範囲内で種々の構成をとることができることは言うまでもない。
【0173】
以上のように、本実施例1によれば、データ検索で指定する検索条件として、データフォーマットのオリジナルのメタデータ名や、検索サーバ1100が付与するメタデータ名だけでなく、検索時の利便性を考慮したネームスペース名7130の別名(ネームスペースエイリアス7120)も設定可能とする。これにより、検索サーバ1100は、検索対象のデータのデータフォーマットが異なっていても、特定のメタデータを持つファイルを容易に識別することが可能となる。したがって、複数種類のメタデータを持つファイルをファイルサーバ2100に蓄積して検索サーバ1100で検索サービスを提供することが可能となる。
【0174】
なお、上記実施例1では、メタデータ名をスキーマ定義ファイル7000から抽出する例を示したが、スキーマ定義ファイル7000がXMLで構成される場合、メタデータ名に代わってタグ名を用いてもよい。
【0175】
また、上記実施例1では、検索サーバ1100は、検索インデックススキーマ管理表7300のフィールドを更新した後に、最初に検索インデックス管理表の更新を行う際には、当該更新されたフィールドに対応するファイルのデータを検索インデックス管理表7400に取り込むことができる。すなわち、検索サーバ1100では、検索インデックススキーマ管理表7300に所望の検索インデックススキーマ定義を追加した後に、追加したフィールド名に対応するメタデータ名を持つファイルを更新対象として特定する。検索サーバ1100は、更新対象として特定したファイルについてインデクシングを行って検索インデックス管理表7400及び検索インデックス登録ファイル管理表7500を更新することができる。
【実施例2】
【0176】
上述した実施例1は、検索サーバ1100の検索インデックススキーマ管理表7300のフィールドを更新した後、最初に検索インデックスの更新を行う時に、当該更新フィールドに関するデータを検索インデックス管理表7400に取り込んで検索できる。当該フィールドを更新した後に、フルインデクシングにて検索インデックスの更新を行う場合、検索対象ファイルの全てに関する更新フィールドの情報も漏れなく取得できる。
【0177】
しかし、ファイルサーバ2100に格納されるファイル数が多い場合、フルインデクシングによる検索インデックスの更新処理は時間がかかりすぎてしまう問題が起こりえる。
【0178】
一方で、差分インデクシングによる検索インデックスの更新を行う場合、更新フィールドを持つファイルがファイルサーバ2100上で更新されていないとき、検索サーバ1100が当該ファイルを検索インデックスの更新対象ファイルと判別できないため、当該更新フィールドに関するデータを検索インデックス管理表7400に取り込めない。具体的には、前回の検索インデックス更新日時よりも前に当該ファイルが更新されている場合が該当する。このため、検索インデックススキーマ管理表7300にフィールドを追加しても、検索対象ファイルの最終更新日時によっては、検索インデックス管理表7400に当該ファイルのフィールドに関する情報を反映できない。
【0179】
このことは、検索インデックススキーマ管理表7300へのフィールド追加のみならず、フィールドタイプの変更や、フィールド名のリネームなども同じような問題が発生する可能性がある。
【0180】
このため、検索インデックススキーマ管理表7300におけるフィールド情報の更新後における検索インデックス更新処理をより高速かつ効率よく実施する仕組みが必要となる。
【0181】
そこで、以下では、検索サーバ1100がファイルサーバ2100に格納されているファイルを対象に検索インデックス更新を行う際に、自検索サーバ1100における検索インデックススキーマ管理表7300におけるフィールド更新があるか否かを判定する。フィールド更新があった場合は、当該フィールド名をキーワードとして、自検索サーバ1100にて管理する検索インデックス管理表7400を使用してファイル検索を行い、当該検索にヒットしたファイルも検索インデックス更新の対象ファイルとして扱うことが可能な差分インデクシングの制御を第2の実施例として説明する。
【0182】
なお、第2の実施例と第1の実施例の差異は、検索インデックススキーマ管理表7300と、検索インデックススキーマ定義の登録処理と、検索インデックスの更新処理の一部が異なり、その他の構成は前記第1の実施例と同様である。
【0183】
図23は、実施例2の計算機システムで行われる一連の処理の流れを例示する説明図である。ここでは、管理マシン3100から検索サーバ1100に対するスキーママッピング登録処理(処理(6−n))ならびに検索サーバ1100からファイルサーバ2100上のファイルに対する検索インデックスの更新処理(処理(7−n))の2つの処理について、それぞれ説明する。なお、処理(6−n)ならびに処理(7−n)は、それぞれ実施例1の
図6における処理(3−n)ならびに処理(4−n)に対応するものである。
図6における処理(1−n)、処理(2−n)および処理(5−n)は、実施例2においても同じ処理の流れとなる。このため、重複した説明は省略する。
【0184】
はじめに、スキーママッピング登録処理(6−n)について説明する。システム管理者は、管理マシン3100の検索サーバ管理クライアント制御プログラム3124を利用して、検索サーバ1100に対して検索インデックススキーマ登録画面8300(
図18参照)を呼び出す(処理(6−1))。この処理において、システム管理者は、検索インデックススキーマ登録に利用するために、実施例1の処理(2−n)で利用したネームスペースエイリアスを指定する。検索サーバ1100は、指定されたネームスペースエイリアスより、スキーママッピング管理表7200から該当するスキーママッピング情報を取得し、当該情報をもとに検索インデックススキーマ定義の候補を生成し、要求元(管理マシン3100)に候補の内容を提示する(処理(6−2))。ここで生成する検索インデックススキーマ定義は、スキーママッピング定義におけるフィールド名と、各フィールドのデータ種別からなる。システム管理者は、提示された内容を確認し、必要に応じて候補の内容に対する更新情報を検索サーバ1100に対して送る(処理(6−3))。検索サーバ1100は、検索インデックススキーマ定義の候補と、要求元からの更新情報をもとに、最終的な検索インデックススキーマ定義を生成し、検索インデックススキーマ管理表7300に格納する(処理(6−4))。この処理を行う時、検索インデックススキーマ管理表7300のレコードごとに、当該レコードの最終更新日時に関する情報を新たに格納する。これにより、検索サーバ1100における検索インデックススキーマ定義を更新でき、新たに検索可能なメタデータを追加すると共に、当該メタデータに対応するフィールドがいつ追加されたのかを判別することができる。以上が、検索インデックススキーマ定義登録処理の一連の流れとなる。
【0185】
次に、検索インデックスの更新処理(7−n)について説明する。検索サーバ1100上の検索制御プログラム1124は、ファイルサーバ2100に対してファイルアクセスを行い、検索インデックスを更新する必要があるファイルを特定し、更新が必要なファイルの読み出しを行う(処理(7−1))。
【0186】
ここで、検索サーバ1100検索がインデックスを更新する必要があるファイルを特定するためには、対象ファイルの最終更新日時を取得して、前回の検索インデックス更新日時よりも新しいか否かをもとに判断する。ファイルアクセス要求を受けたファイルサーバ2100は、必要に応じて自身が管理するファイルシステム2170を利用して、対象ファイルの情報を取得し、要求元(管理マシン3100)に送信する(処理(7−2))。更新対象ファイルを取得した検索制御プログラム1124は、当該ファイルのファイル種別を特定する。そして、検索インデックススキーマ管理表7300から当該ファイル種別に合致するスキーマ定義情報を取得の上、当該ファイルを解析して検索インデックスデータ生成のために必要な情報を抽出する(処理(7−3))。検索制御プログラム1124は、生成した情報をもとに検索インデックスデータを生成し、検索インデックス管理表7400ならびに検索インデックス登録ファイル管理表7500に反映させる(処理(7−4))。その後、検索制御プログラム1124は、検索インデックススキーマ管理表7300の各レコードに新たに登録したスキーマ定義最終更新日時を取得し、前回の検索インデックス更新日時よりも新しいレコードのフィールド名一覧を取得する(処理(7−5))。
【0187】
検索制御プログラム1124は、取得したフィールド名を検索キーワードとして指定し、検索インデックス管理表7400ならびに検索インデックス登録ファイル管理表7500を利用して、当該検索キーワード(フィールド名)を含むファイルを検索する(処理(7−6))。
【0188】
検索サーバ1100上の検索制御プログラム1124は、検索結果として取得したファイルリストをもとに、ファイルサーバ2100に対してファイルアクセスを行い、対象ファイルの読み出しを行う(処理(7−7))。ファイルアクセス要求を受けたファイルサーバ2100は、必要に応じて自身が管理するファイルシステム2170を利用して、対象ファイルの情報を取得し、要求元に提供する(処理(7−8))。さらなる更新対象ファイルを取得した検索制御プログラム1124は、当該ファイルのファイル種別を特定し、検索インデックススキーマ管理表7300から当該ファイル種別に合致するスキーマ定義情報を取得の上、当該ファイルを解析して検索インデックスデータ生成のために必要な情報を抽出する(処理(7−9))。
【0189】
検索制御プログラム1124は、生成した情報をもとに検索インデックスデータを生成し、検索インデックス管理表7400ならびに検索インデックス登録ファイル管理表7500に反映させる(処理(7−10))。以上が、検索サーバ1100による検索インデックスの更新処理の一連の流れとなる。
【0190】
上述のように、検索インデックススキーマ管理表7300のフィールドを更新した後、更新フィールドを特定し、キーワード検索機能を利用して当該フィールド名を持つファイルを取得し、差分インデクシングによる検索インデックスの更新を実施するためには、検索インデックススキーマ管理表7300の構成と、検索インデックススキーマ定義登録処理と、検索インデックス更新処理の一部を変更する。これらの変更内容は、
図24、
図25、
図26で説明する。
【0191】
図24は、実施例1の
図10で説明した検索インデックススキーマ管理表7300の変更内容を示す。本管理表の構成は、
図10で説明した構成と比べて、各レコードにスキーマ定義最終更新日時7330を新たに格納する点が実施例1と異なる。このスキーマ定義最終更新日時7330には、当該レコードを検索インデックススキーマ管理表7300に追加した時、ならびに当該レコードの設定内容を更新した時に日時情報を格納する。これ以外は、
図10の構成と同じである。
【0192】
図25は、実施例1の
図17で説明した検索インデックススキーマ定義登録処理の変更内容を示す。本フローチャートは、
図17で説明した検索インデックススキーマ定義登録処理に比べて、検索インデックススキーマ管理表7300への検索インデックススキーマ定義候補を登録する際に新たな情報として、
図24に示したスキーマ定義最終更新日時7330に関する情報も追加登録する点が異なる。具体的には、以下で説明する。
【0193】
図25のフローチャートにおいて、実施例1に示した
図17からの変更点は、ステップS308の次にステップS309を新たに追加している点である。それ以外は、
図17と同じである。以下、変更した部分に関する説明のみを行う。
【0194】
ステップS308による処理が終わった後、検索インデックススキーマ制御サブプログラム1171は、検索インデックススキーマ管理表7300の新規追加レコードや更新レコードに対して、現時点の日時情報をスキーマ定義最終更新日時7330に登録する(ステップS309)。これにより、当該レコードがいつ更新されたのかがわかるようになる。この情報は、後述する検索インデックス更新処理で使用する。
【0195】
図26A、
図26Bは、実施例1の
図19で説明した検索インデックス更新処理の一部を変更したフローチャートを示す。本フローチャートは、
図19で説明した検索インデックス更新処理と比べて、検索インデックススキーマ管理表7300に新たに登録されたスキーマ定義最終更新日時7330を取得し、当該更新日時が前回の検索インデックス更新日時よりも新しいレコードに格納されているフィールド名7310を取得し、当該フィールド名7310をキーワードとしてファイル検索を行い、ヒットしたファイルも検索インデックス更新対象ファイルとして扱う点が異なる。具体的には、以下で説明する。
【0196】
図26Aのフローチャートにおいて、
図19からの変更点は、ステップS401にてYesとなる場合の処理が、
図19のステップS406に先立ち、ステップS410を新たに追加している点と、
図26BのステップS406にてYesとなる場合の処理が、
図19のステップS405に先立ち、ステップS411を新たに追加している点である。それ以外は、
図19と同じである。以下、変更した部分に関する説明のみを行う。
【0197】
ステップS401でYesとなる場合、インデクシング制御サブプログラム1173は、検索インデックススキーマ管理表7300のスキーマ定義最終更新日時7330の情報が、前回の検索インデックス更新日時よりも新しい全レコードのフィールド名7310を取得する(ステップS410)。ここで取得したフィールド名7310は、後の処理で検索インデックス更新対象ファイルの特定に使用する。ちなみに、ここでは、取得したフィールド名7310から、当該フィールド名と関連付けられているメタデータ名7230についても、スキーママッピング管理表7200から取得する。以降の処理で、フィールド名7310で検索を行う場合、このメタデータ名7230でも検索を行う。
【0198】
また、
図26BのステップS406でYesとなる場合、インデクシング制御サブプログラム1173は、検索インデックス管理表7400を利用し、ステップS410で取得したフィールド名7310ならびに当該フィールド名と関連付けられたメタデータ名7230と同じ文字列を含むファイルを全文検索する。インデクシング制御サブプログラム1173は、検索結果としてヒットした中から検索インデックス更新対象リストに未登録なファイル名を当該リストに追加する(ステップS411)。
【0199】
ここで、検索結果としてヒットしたファイルのファイル名については、検索インデックス登録ファイル管理表7500から取得する。この処理によって、前記実施例1に示したファイル最終更新日時による差分インデクシングでは、検索インデックス更新対象ファイルとして抽出困難だったファイルも更新対象ファイルとしてリストアップすることが可能となり、検索インデックスの更新を行うことができる。
【0200】
以上の処理を実施することで、検索サービスの利用者から見れば、検索対象ファイル数が多い場合でも検索インデックスの更新をより高速かつ効率よく実施することが可能となる。これにより、検索サービスにおける検索鮮度の向上につながり、検索サービスへの満足度向上にも寄与することが可能になる。また、検索サービスのシステム管理者から見れば、検索対象のファイル数が多い場合でも、検索インデックス更新をより高速かつ効率よく実施することは、検索インデックスの更新処理に必要となる計算機資源の削減にも寄与することが可能になる。