説明

検索システム

【課題】複数の検索エンジンから、複数の認証サーバの複数のアカウントから参照権限のある文書を、一度のログインで、一台の検索エンジンのみで、一度にFederated Searchする。
【解決手段】アカウント対応データベースを備えたホストシステムに、複数の検索エンジンが個別に作成したインデックスを再インデクシングする機能を設け、予め全ての検索エンジンのインデックスを作成しておくことで、検索時にはアカウント対応データベースから対応情報を読み出し、対応する全てのアカウント権限で、ホストシステムのみによる検索を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は検索システムに関し、例えば、エンタープライズサーチ、特に複数検索エンジンによるFederated Searchに関するものである。
【背景技術】
【0002】
近年、一般的な企業では多数の電子文書を扱っているが、その管理と検索に多くの時間を割いている実情があり、思った以上に文書管理にコストが発生している。このため、このようなコストを削減することは今や企業にとって性急な課題となっているのが現状である。
【0003】
効率的な電子文書管理及び検索するために提案されているエンタープライズサーチは、企業内の文書検索機能を提供する検索実行装置である。これを用いると、所望の文書の検索が比較的高速かつ正確に行えるため、導入する事例が増えている。
【0004】
ただし、今後、さらなる電子文書の増加に伴い、複数のエンタープライズサーチの検索結果を統合、整理、整列する仕組み(この仕組みをFederated Searchと呼ぶ)が必要となることが予想される。ここで、検索結果を統合するとは、フォーマットの異なる検索結果をあらかじめ決められたルールで統一することであり、整理するとは、同一の検索結果を省略することであり、整列するとは、ユーザによって指定されたオーダーによって検索結果を並び替えることである。
【0005】
図1は、従来のFederated Searchシステムの概要を示す構成図である。Federated Searchシステムは、認証サーバを登録する認証サーバ管理DB109を備えたホストシステム101と、ユーザの認証を行う認証サーバ108と、複数の検索エンジン104a、104b、・・・、104nと、電子文書の実際の置き場となる複数のファイルシステム群107a、107b、・・・、107nから構成される。ホストシステム101及び検索エンジン104a、104b、・・・、104nは、ホストシステム101に接続されている。ファイルシステム群107a、107b、・・・、107nは、各検索エンジン104a、104b、・・・、104nに接続されている。
【0006】
ホストシステム101は、ユーザのアカウントを処理する認証処理部102と、検索の要求・検索結果の統合を行う検索処理部103と、を備える。また、各検索エンジン104a、104b、・・・、104nは電子文書の検索を行う検索処理部105a、105b、・・・、105nとファイルシステムのデータを蓄積するインデックス部106a、106b、・・・、106nとから構成されている。
【0007】
このようなFederated Searchシステムにおいては、まずホストシステム101が、ユーザからユーザの認証情報と検索クエリを受け取ると、認証処理部102は登録された認証サーバ108で認証を行う。認証に成功すれば、検索処理部103がそれぞれの検索エンジン104a、104b、・・・、104n向けにカスタマイズしたクエリを作成する。このとき、クエリには、検索を実行したユーザの権限情報を含める。ホストシステム101はクエリを利用して各検索エンジン104a、104b、・・・、104nに検索を要求し、応答を待つ。各検索エンジン104a、104b、・・・、104nの検索処理部105a、105b、・・・、105nでは、クエリに含まれる権限情報から、そのアカウントが参照権限を持つ文書のみを検索対象としてインデックス部106a、106b、・・・、106nに対し、検索を実行する。検索処理部102は各検索エンジン104a、104b、・・・、104nの検索結果が出揃ったところで各検索結果を統合し、整理し、整列してユーザに応答を返す。
【0008】
各検索エンジン104a、104b、・・・、104nのインデックス部106a、106b、・・・、106nでは、定期的にファイルシステムの更新状況を調べ、変更があった場合には、検索用のインデックスを再作成し、検索結果が常に最新となるように努めている。
【0009】
以上のようなFederated Searchシステムは、例えば、特許文献1にも開示されている。
【0010】
【特許文献1】特開2002−245039号公報
【発明の開示】
【発明が解決しようとする課題】
【0011】
ところで、企業内における文書管理の運用形態として、社内での個人認証が必ずしも一種類の認証サーバのみで成り立っているとは限らない。また、各検索エンジンはFederated Searchのために独占できるものではなく、多くのユーザがさまざまな形で使用することが想定される。
【0012】
複数の認証サーバを運用する企業においては、一人のユーザが別々の認証サーバに複数のアカウントを持っていて、各ファイルシステムが別々の認証サーバによる参照権限を持っているケースが考えられる。
【0013】
しかし、従来のFederated Searchでは、ユーザは一度の検索で一つのアカウント参照権限に対する文書しか検索できない。もし、他のアカウントの参照権限に対する文書を検索するとすれば、一度ログアウトして、別のアカウントにログインしなおしてから再度検索を実行しなければならない。
【0014】
また、従来のFederated Searchにおいては、一度実行する度に、全ての検索エンジンが検索処理を余儀なくされるため、各々の検索エンジンに対する負荷は、検索実行数に比例して大きくなる。
【0015】
さらに、従来のFederated Searchにおける処理プログラムにとっては、検索結果を得るために、全ての検索エンジンの検索完了を待たなければならない。また、当該処理プログラムは検索の度に検索クエリの作成、結果の統合、整理、整列を行うため、同時に多数の検索が実行される環境ではシステムへの負荷が増大する。
【0016】
以上のような要因により、本来、高速な検索を提供すべきエンタープライズサーチの利点が損なわれてしまっているのが現状である。
【0017】
本発明はこのような状況に鑑みてなされたものであり、ユーザにとって使い勝手が良く、検索エンジンの負荷を削減することのできるFederated Searchを提供するものである。
【課題を解決するための手段】
【0018】
上記課題を解決するために、本発明では、複数の認証サーバにおける複数のアカウントを統合するテーブルを設け、あらかじめ認証を行ったアカウントの情報をテーブルに保存しておき、以後、いずれかひとつのアカウントで認証を行うだけで、対応する全てのアカウントの権限を伴った検索が行うようにしている。
【0019】
また、本発明は、検索エンジン内を定期的に巡回する専用のクローラと、巡回した結果得られた文書のメタデータのXMLファイルを、統一フォーマットに変換し、再インデックシングを行う。そして、検索時には、実際の各検索エンジンにおいてその都度検索するのではなく、各検索エンジンから集約したインデックス情報に対してのみ検索を実行することによって、登録された全ての検索エンジンによるFederated Searchを行うようにしている。
【0020】
即ち、本発明による検索システムは、ホストコンピュータと、複数の認証サーバと、複数のファイルシステム群の少なくとも1つにそれぞれ接続された複数の検索エンジンと、を備える。そして、ホストコンピュータは、検索を実行するユーザについて、複数の認証サーバについての認証処理を行う認証処理部と、検索を実行するユーザの検索要求に基づいて、複数の検索エンジンから取得した複数のファイルシステム群のインデックス情報に対して検索処理を実行する検索処理部と、を有する。さらに、認証処理部は、全登録ユーザが有する複数の認証サーバのアカウント情報を管理する管理情報に基づいて、検索を実行するユーザのログイン時に、当該ユーザがアカウントを有する全ての認証サーバを特定し、検索処理部は、特定された認証サーバと関連付けられたファイルシステム群に対応するインデックス情報に対して検索処理を実行する。
【0021】
ホストコンピュータは、さらに、複数のファイルシステム群のインデックス情報をまとめて格納するインデックス部を備える。
【0022】
複数の検索エンジンのそれぞれは、対応するファイルシステム群のインデックス情報を任意のタイミングで更新して更新インデックス情報を生成する。そして、インデックス部は、検索エンジンに対して更新インデックス情報の送信を指示するクローラを送信し、このクローラに応答して検索エンジンが返信した更新インデックス情報を用いて、インデックス部が保持するインデックス情報を更新する。
【0023】
インデックス部は、統一フォーマットで生成されたインデックス情報を保持している。複数の検索エンジンが統一フォーマットと異なるフォーマットで更新インデックス情報を保持する場合には、インデックス部及び該当する検索エンジンの何れか一方で統一フォーマットの更新インデックス情報に変換されるようになっている。
【0024】
さらに、インデックス部は、複数の検索エンジンにおけるインデックス情報の更新履歴を管理する検索エンジン管理情報を参照し、最も古い更新インデックス情報を有する検索エンジン、或いはインデックス情報を更新したことがない検索エンジンを特定し、特定された検索エンジンに対してクローラを送信する。
【0025】
さらなる本発明の特徴は、以下本発明を実施するための最良の形態および添付図面によって明らかになるものである。
【発明の効果】
【0026】
本発明のFederated Searchを用いれば、ユーザは一回のログインだけで、自分が有する全てのアカウントによるアクセス権限を行使することができるので使い勝手が良く、また、検索エンジンにも負荷を掛けることなく検索を実行することができるようになる。
【発明を実施するための最良の形態】
【0027】
以下、添付図面を参照して本発明の実施形態に係る統合エンタープライズサーチシステム(検索システム)について説明する。ただし、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。また、各図において共通の構成については同一の参照番号が付されている。
【0028】
まず統合エンタープライズサーチシステム等の構成を説明し、その後フローチャートを用いてその動作について説明する。
【0029】
<システム構成>
図2は、本実施形態による統合エンタープライズサーチシステム(検索システム)の概略構成を示すブロック図である。
当該統合エンタープライズサーチシステムは、認証サーバ管理DB9とアカウント対応管理DB10と検索エンジン管理DB7を有するホストシステム1と、ホストシステム1に接続された複数のエンタープライズサーチ用検索エンジン5a、5b、・・・、5nと、その検索エンジンに接続されたファイルシステム群6a、6b、・・・、6nと、ホストシステム1及びファイルシステム群6a、6b、・・・、6nの各ファイルシステムの双方に接続された認証サーバ群8a、8b、・・・、8mと、を備えている。
【0030】
ホストシステム1は、主に認証に関する処理を行う認証処理部2と、検索に関する処理を行う検索処理部3と、クローラを発行して各ファイルシステム群からメタデータを取得し、インデックシング処理を行うインデックス部4と、を含んでいる。発行されたクローラは検索エンジン5a〜5nに送られる。クローラを受け取った検索エンジン5a〜5nは、各ファイルシステムのインデックス情報のメタデータをインデックス部4に返信する(詳細は後述する)。
【0031】
検索対象となる電子文書は、実際にはファイルシステム群6a、6b、・・・、6nに置かれている。各検索エンジン5a、5b、・・・、5nは、例えばNFSやCIFSといったファイル共有プロトコルによるアクセス権限に基づき、文書を共有している。
【0032】
各検索エンジンでは、ホストシステム1のインデックス部4とは別に、個別にファイルシステムのインデックシング処理を行い、検索情報が常に最新に保たれるようにしている。なお、インデックシング処理する情報としては、単に文書名、容量などの基本的な情報だけでなく、ファイル共有プロトコルのアクセス制御リスト(ACL:Access Control List)が含まれる。検索処理部3はACL情報により、アクセス権限を付加した文書検索を実現する。
【0033】
検索エンジン管理DB7は、各検索エンジンの登録情報(図5参照)を保存している。ホストシステム1のインデックス部4は、検索エンジン管理DB7の情報を基にクローリングする検索エンジンを決定する。
【0034】
また、認証サーバ管理DB9は、アカウントの管理を行う複数の認証サーバ8a、8b、・・・、8mの接続に関する情報(図3参照)を保存している。ここで、認証サーバとしては、例えばNISサーバ、LDAPサーバといったものが挙げられる。上述したファイルシステム群6a、6b、・・・、6nのファイル共有プロトコルのACLは、これら認証サーバのアカウントによって作成されている。
【0035】
アカウント対応管理DB10は、複数の認証サーバのアカウント情報の対応付けを行うための情報(認証サーバ、ユーザ、及びユーザアカウントの対応関係を示す(図4参照))を保存している。ユーザは検索を行う前に、あらかじめ自分の持つ全てのアカウント情報を対応付けておく。対応付けの処理は図7のフローチャートを用いて後述される。この対応情報はアカウント対応管理DB10に保存され、検索の際に呼び出される。ユーザは対応に属するいずれか一つのアカウントでログインを行って検索を実行する。すると、ホストシステム1の認証処理部2がこの対応を取得し、対応に属する全てのアカウントの権限で検索を行う。
【0036】
<認証サーバ管理DBのデータ構造>
図3は、認証サーバ管理DB9のデータ構造の一例を示す図である。
図3において、認証サーバIDカラム21は認証サーバを一意に識別する値であり、例えばIPアドレスやホスト名といったものが挙げられる。認証サーバの種別カラム22にはその名の通り、認証サーバの種別が登録される。認証サーバには、例えばMicrosoft社のActive Directory(登録商標)やOpenLDAPといったものがあり、ホストシステム1の認証処理部2が、これらとの通信手段をサポートしている。
【0037】
管理者IDカラム23及び管理パスワードカラム24はそれぞれ、各認証サーバの管理者のIDとパスワードを格納するカラムで、認証処理部2が認証サーバにログインする際に用いるものである。
【0038】
<アカウント対応管理DBのデータ構造>
図4は、アカウント対応管理DB10のデータ構造の一例を示す図である。
図4において、対応IDカラム31は一つ一つの対応を管理する番号であり、同じ対応に属するアカウント(認証ユーザID33)には同じ対応IDが振られる。なんらかの対応に属するアカウントでログインし、検索を行った結果には、そのアカウントと同じ対応IDを持つ全てのアカウント権限が反映される。例えば、認証サーバ1に属するユーザ1(アカウント1)と、認証サーバ2に属するユーザ2(アカウント2)が同一の対応ID1をもつ場合、ユーザ1でログインして、検索を行った結果は、ユーザ2の参照可能なファイルもヒットする。
【0039】
認証サーバIDカラム32には認証サーバを識別する値(例えばIPアドレスや、ホスト名)が格納される。認証ユーザーIDカラム33には該当する認証サーバが持つ認証IDが格納される。
【0040】
一つの行は一つの対応に含まれるアカウントを表しており、初回ログインを行ったアカウントが他の認証サーバからアカウントを追加する場合に生成され、同じアカウントが異なる対応に同時に属することはない。
【0041】
<検索エンジン管理DBのデータ構造>
図5は、検索エンジン管理DB7のデータ構造の一例を示す図である。
図5において、検索エンジンIDカラム41は検索エンジンを一意に識別する値であり、例えばIPアドレスやホスト名といったものが想定される。
【0042】
最終インデックス日時カラム42には、ホストシステム1のインデックス部4によって最後にインデックスされた日時が格納される。
【0043】
また、フォーマット変換XSLTカラム43には、各検索エンジン固有のメタデータのXMLを統一フォーマットのメタデータXMLに変更するためのXSLTコードが格納される。ホストシステム1のインデックス部4がXSLTコードを含むクローラを発行し、これが各検索エンジンに順次派遣される。クローラを受け取った各検索エンジンにおけるインデックス部53(図6参照)は、クローラに含まれるXSLTコードを使用し、検索エンジン固有のメタデータXMLを統一フォーマットのXMLに変換する。なお、XSLTコードは管理者が作成し、検索エンジンを検索エンジン管理DBに登録するときに、同時に登録される。
【0044】
<検索エンジンの内部構成>
図6は、図2における検索エンジン5a、5b、・・・、5nの詳細な内部構成を示す図である。
検索エンジン51は一般的なエンタープライズ検索エンジンであり、主に検索処理を行う検索処理部52と、主にインデックシング処理を行うインデックス部53を備えている。
【0045】
検索エンジン51はファイルシステム群54の各ファイルシステム54a、54b、54c、・・・、54rと接続されている。各ファイルシステムは、認証サーバ55の各認証サーバ55a、55b、・・・、55mのいずれかと関連付けられている。なお、一つのファイルシステムに関連付けられる認証サーバは複数あってもよい。例えば、ファイルシステム54bには、認証サーバ55aと55bが関連付けられていてもよい。このとき、ファイルシステム54bのアクセス権限は、認証サーバ55aからログインしたときには認証サーバ55aのACLに従い、認証サーバ55bからログインしたときには、認証サーバ55bのACLに従う。
【0046】
検索エンジン51のインデックス部53は、ファイルシステム群54に対し各ファイルシステムの更新状況に応じて定期的にクローリング処理を実施する。そして、クローリング処理の結果得られた文書のメタデータは、インデックス部53によって順次インデックシングされる。インデックシングされるメタデータには、文書の名称やパス、サイズといった一般的な属性のほか、認証サーバのACLが含まれる。
【0047】
各検索エンジンが個別に行うインデックシング処理とは別に、ホストシステム1のインデックス部4も、登録された各検索エンジンに関して、定期的にインデックス情報の更新を行っている。インデックス部4から各検索エンジンにクローラが派遣されると、各検索エンジンのインデックス部53は、蓄積されたインデックスの差分のメタデータをXML形式でホストシステム1のインデックス部4に譲り渡す。このとき譲り渡されたメタデータは、インデックス部4においてそのままの形でインデックシング処理できるとは限らない。なぜなら、各検索エンジンによってメタデータの名称やインデックスする項目はまちまちだからである。そこで、クローラを受け取ると、各検索エンジンのインデックス部53は、メタデータのXMLを検索エンジンごとに登録されたXSLTで変換し、ホストシステム1のインデックス部4で解釈できる形式に変更する。このXSLTは、検索エンジンをシステムに登録する際に、同時に検索エンジン管理DBに登録しておく。そして、クローラには、それを派遣する各検索エンジンのXSLTの情報が含まれている。
【0048】
<アカウント対応作成処理>
図7は、複数認証サーバにおけるアカウント対応作成処理の概要を説明するためのフローチャートである。
まず、認証処理部2はユーザがメインのアカウントでログイン後、その求めに応じてアカウント対応追加画面を表示する(ステップS101)。この画面には現在システムに登録されている認証サーバの一覧と、認証ID(アカウントID)とパスワードの入力欄がある。
【0049】
ユーザが自身のアカウント対応に新たにアカウントを追加することを指示した場合(ステップS102)、認証処理部2は、入力欄に、自分の所持するアカウントのうちログインに使用したもの以外のアカウント情報の入力をユーザに促し、その入力を受け付ける(ステップS103)。
【0050】
次に、認証処理部2は、ユーザの入力情報をもとに該当する認証サーバに認証を問い合わせる(ステップS104)。認証が成功すれば(ステップS105)、認証処理部2は、当該アカウントをログインに使用したユーザと同じ対応IDで保存する(ステップS106)。認証に失敗したときには当該アカウントは保存されない。以上の処理が繰り返される。
【0051】
なお、ログインに使用したユーザ自身のDB内のレコードは、初回ログイン時に自動で作成され、対応IDも未使用のものから自動で採番される。
【0052】
<ログインから検索までの処理>
図7は、統合エンタープライズサーチにおけるログインから検索までの処理の流れを説明するためのフローチャートである。
ホストシステム1がユーザのログイン(ステップS201)及び検索条件の入力を受け付けると(ステップS202)、認証処理部2はユーザのログインアカウントの認証サーバIDと認証IDから、アカウント対応管理DB10に対し、対応表を問い合わせし、同じユーザがアクセス権限を有する認証サーバの情報(認証サーバID)を取得する(ステップS203)。この時点では、ログインした認証サーバのみに接続されている状態である。
【0053】
続いて、認証処理部2は、対応表の認証サーバIDを基に、認証サーバ管理DB9に認証サーバへの接続情報を問い合わせる(ステップS204)。
【0054】
そして、対応する認証サーバとの接続後、認証処理部2は、アカウントの認証IDからアカウントの権限情報を引き出す(ステップS205)。権限情報としては、例えば個体識別情報(UID)やグループ識別情報(GID)がある。この段階で、当該ユーザがアカウントを有する全ての認証サーバにアクセス可能な状態となる。
【0055】
最後に、検索処理部3は、得られた各アカウントの権限情報を検索クエリに埋め込んで、インデックス部4に対して検索を実行する(ステップS206)。
【0056】
<インデックシング処理>
図9はホストシステム1のインデックス部4におけるインデックシング処理を説明するためのフローチャートである。
インデックス部4は、定期的に検索エンジン管理DB7の最終インデックス日時を参照する(ステップS301)。そして、インデックス部4は、インデックスが過去一度も更新されていないか否かチェックする(ステップS302)。過去にインデックシング処理されたことがある場合には処理はステップS304に移行し、されたことが無ければ処理はステップS306に移行する。
【0057】
また、インデックス部4は、処理中の検索エンジンが検索エンジンの中で最も長い間更新されていないものか否かを判定する(ステップS304)。最も長い間更新されていないものであれば、処理はステップS306に移行し、そうでなければ処理はステップS301に移行する。
【0058】
そして、インデックス部4は、該当する検索エンジンにクローラを派遣する(ステップS305)。なお、クローラの派遣に必要なIPアドレスなどの検索エンジンへの接続情報は、全て検索エンジン管理DBに保存されている。また、クローラには最終インデックス履歴の情報が含まれている。
【0059】
派遣先の検索エンジンのインデックス部53は、そのクローラを取得し、クローラに含まれるインデックス履歴に基づいて、検索エンジン内のインデックスが前回のクローラ派遣時から更新されたか否か判断する(ステップS306)。この判断結果はインデックス部53からインデックス部4に通知される。
【0060】
前回からの更新がなければ(ステップS307)、インデックス部4は、検索エンジン管理DB7の最終インデックス日時を更新して終了する(ステップS311)。一方、更新があれば(ステップS307)、インデックス部4は、インデックス部53から更新インデックス部分の差分メタデータをXML形式で受け取る(ステップS308)。さらに、インデックス部4は、検索エンジン管理DB7から取得したフォーマット変換XSLTファイル(コード)に基づいて、更新インデックス部分の差分メタデータのXMLファイルを統一フォーマットのXMLファイルに変換する(ステップS309)。
【0061】
続いて、インデックス部4は、新たに取得した統一フォーマットのXMLファイルのメタデータを用いて再インデックシング処理を行う(ステップ310)。
【0062】
そして、再インデクシング完了後、ステップS307でNOの場合、或いは、ステップS304でNOの場合、インデックス部4は、検索エンジン管理DB7の最終インデックス日時を更新する(ステップ811)。
【0063】
なお、図9の処理では、インデックス部4が差分メタデータを統一フォーマットのXMLファイルに変換しているが、クローラを受け取った各検索エンジンのインデックス部53が統一フォーマットのXMLに変換後、差分メタデータをホストシステム1のインデックス部4に送信するようにしてもよい。その場合には、クローラには各検索エンジンのフォーマット変換XSLTファイルが含まれるようにするか、別の方法でフォーマット変換XSLTファイルを通知する必要がある。
【0064】
<変換前後のXML>
図10は、検索エンジンから得たメタデータのXML(変換前)と、それを変換XSLTコードにより再インデクシング可能な統一的なファイルに変換して得られたXML(変換後)の例を示す図である。
【0065】
検索エンジン固有のメタデータのXML91は、具体的な文書を、ある検索エンジンでクローリングした結果得られたメタデータのXMLを表す。また、再インデクシング用に変換されたメタデータのXML92は、検索エンジン固有の上記XSLTコードにより変換されたXMLを表している。
【0066】
この例では、文書「2007年度決算報告.pdf」のメタデータとして、ファイル名、ファイルパス、容量、変更日時、内容、ファイルのオーナー…などの情報がXML形式で表示されている。検索エンジン固有のメタデータのXML91では、それぞれのメタデータはfilename、filepath、date、content、owner・・・という要素の内容になっているが、各要素名は検索エンジン固有のものであるので、ホストシステム1のインデックス部4がこのXMLを正しく解釈しインデクシングを実行できる保証は無い。これは、例えばファイル名に相当するものがfilename要素の内容であるとインデックス部4が判断できないためである。
【0067】
変換後のXML92は、ホストシステム1のインデックス部4がインデクシング可能な形のメタデータのXMLである。インデックス部4は、このファイルを基に検索エンジンインデックスの再インデックシング処理を行うことができる。
【0068】
<まとめ>
本実施形態では、全登録ユーザが有する複数の認証サーバのアカウント情報を管理する管理情報に基づいて、ログイン時に、ログインユーザがアカウントを有する全ての認証サーバを特定し、特定された認証サーバと関連付けられたファイルシステム群に対応するインデックス情報に対して検索処理を実行する。これにより、一度のログインであらかじめ対応付けられた全てのアカウントが参照権限を持つ文書を検索することが可能となる。従って、ユーザにとっては、他のアカウントで再ログインのうえ、再検索を行う手間を省略することが可能となる。
【0069】
また、複数のファイルシステム群のインデックス情報を一箇所にまとめて管理している。これにより、ホストコンピュータが、検索処理の度に、各検索エンジンからそれぞれの検索結果を取得する必要がなく、システムの負荷を軽減することができるようになる。また、各検索エンジンの検索待ち時間を省略することが可能となる。
【0070】
複数の検索エンジンのそれぞれは、対応するファイルシステム群のインデックス情報を任意のタイミングで更新して更新インデックス情報を生成する。そして、ホストコンピュータ(インデックス部)から、検索エンジンに対して更新インデックス情報の送信を指示するクローラを送信し、このクローラに応答して検索エンジンが返信した更新インデックス情報を用いて、インデックス部が保持するインデックス情報を更新する。これにより、インデックス情報の更新も効率的に実行することができるようになる。
【0071】
なお、ホストコンピュータ(インデックス部)は、統一フォーマットで生成されたインデックス情報を保持している。複数の検索エンジンが統一フォーマットと異なるフォーマットで更新インデックス情報を保持する場合には、インデックス部及び該当する検索エンジンの何れか一方で統一フォーマットの更新インデックス情報に変換されるようになっている。これにより、検索の度に、各検索エンジンの検索結果を統合し、整理し、整列する作業を省略することができるようになるので、システムの負荷を軽減することができる。
【0072】
さらに、インデックス部は、複数の検索エンジンにおけるインデックス情報の更新履歴を管理する検索エンジン管理情報を参照し、最も古い更新インデックス情報を有する検索エンジン、或いはインデックス情報を更新したことがない検索エンジンを特定し、特定された検索エンジンに対してクローラを送信する。
【0073】
なお、本発明は、実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
【0074】
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。
【0075】
また、実施の形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することにより、それをシステム又は装置のハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、使用時にそのシステム又は装置のコンピュータ(又はCPUやMPU)が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしても良い。
【図面の簡単な説明】
【0076】
【図1】従来のFederated Searchシステムの概略構成図である。
【図2】本発明の実施形態に係る統合エンタープライズサーチシステムの概略構成を示すブロック図である。
【図3】認証サーバ管理DBのデータ構造の一例を示す図である。
【図4】アカウント対応管理DBのデータ構造の一例を示す図である。
【図5】検索エンジン管理DBのデータ構造の一例を示す図である。
【図6】検索エンジンの内部構成図である。
【図7】認証処理部の行うアカウント対応作成手順を示すフローチャートである。
【図8】統合エンタープライズサーチにおけるログイン後から検索までの手順を示すフローチャートである。
【図9】インデックス部の行うインデックス作成手順を示すフローチャートである。
【図10】XSLTによるメタデータXMLの変換の一例を示す図である。
【符号の説明】
【0077】
1・・・ホストシステム、2・・・認証処理部、3・・・検索処理部、4・・・インデックス部、5a乃至5n・・・検索エンジン、6a乃至6n・・・ファイルシステム群、7・・・検索エンジン管理DB、8a乃至8m・・・認証サーバ、9・・・認証サーバ管理DB、10・・・アカウント対応管理DB

【特許請求の範囲】
【請求項1】
ホストコンピュータと、複数の認証サーバと、複数のファイルシステム群の少なくとも1つにそれぞれ接続された複数の検索エンジンと、を備える検索システムであって、
前記ホストコンピュータは、
検索を実行するユーザについて、前記複数の認証サーバについての認証処理を行う認証処理部と、
前記検索を実行するユーザの検索要求に基づいて、前記複数の検索エンジンから取得した前記複数のファイルシステム群のインデックス情報に対して検索処理を実行する検索処理部と、を有し、
前記認証処理部は、全登録ユーザが有する前記複数の認証サーバのアカウント情報を管理する管理情報に基づいて、前記検索を実行するユーザのログイン時に、当該ユーザがアカウントを有する全ての前記認証サーバを特定し、
前記検索処理部は、前記特定された認証サーバと関連付けられた前記ファイルシステム群に対応する前記インデックス情報に対して検索処理を実行することを特徴とする検索システム。
【請求項2】
前記ホストコンピュータは、さらに、前記複数のファイルシステム群のインデックス情報をまとめて格納するインデックス部を備えることを特徴とする請求項1に記載の検索システム。
【請求項3】
前記複数の検索エンジンのそれぞれは、対応するファイルシステム群のインデックス情報を任意のタイミングで更新して更新インデックス情報を生成し、
前記インデックス部は、検索エンジンに対して前記更新インデックス情報の送信を指示するクローラを送信し、このクローラに応答して前記検索エンジンが返信した前記更新インデックス情報を用いて、前記インデックス部が保持する前記インデックス情報を更新することを特徴とする請求項2に記載の検索システム。
【請求項4】
前記インデックス部は、統一フォーマットで生成された前記インデックス情報を保持することを特徴とする請求項3に記載の検索システム。
【請求項5】
前記複数の検索エンジンが前記統一フォーマットと異なるフォーマットで前記更新インデックス情報を保持する場合には、前記インデックス部及び該当する検索エンジンの何れか一方で統一フォーマットの更新インデックス情報に変換されることを特徴とする請求項4に記載の検索システム。
【請求項6】
前記インデックス部は、前記複数の検索エンジンにおけるインデックス情報の更新履歴を管理する検索エンジン管理情報を参照し、最も古い更新インデックス情報を有する検索エンジン、或いはインデックス情報を更新したことがない検索エンジンを特定し、特定された検索エンジンに対して前記クローラを送信することを特徴とする請求項4に記載の検索システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2010−102518(P2010−102518A)
【公開日】平成22年5月6日(2010.5.6)
【国際特許分類】
【出願番号】特願2008−273552(P2008−273552)
【出願日】平成20年10月23日(2008.10.23)
【出願人】(000233055)日立ソフトウエアエンジニアリング株式会社 (1,610)
【Fターム(参考)】