検索システム及びプログラム
【課題】複数の国や地域に存在する複数の検索サーバを対象に検索処理を実行する場合、検索結果をまとめる1つの検索サーバに処理負荷が集中する。
【解決手段】複数の検索サーバをドメインという単位でまとめて管理する。例えば事業所毎にドメインを作成する。他のドメインから検索要求を受信したマスター検索サーバとして機能する検索サーバは、同じドメイン内から収集された検索結果を統合、整理、整列した後に、検索要求の送信元である他のドメインに返送する。
【解決手段】複数の検索サーバをドメインという単位でまとめて管理する。例えば事業所毎にドメインを作成する。他のドメインから検索要求を受信したマスター検索サーバとして機能する検索サーバは、同じドメイン内から収集された検索結果を統合、整理、整列した後に、検索要求の送信元である他のドメインに返送する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検索システム及び検索システムを構成する検索サーバに搭載されたコンピュータで実行されるプログラムに関する。例えば複数地点に存在する複数の検索サーバ間での検索処理の実行が想定される検索システム及び各検索サーバに搭載されたコンピュータに実行させて好適なプログラムに関する。
【背景技術】
【0002】
今日、多くの企業では、多数の電子文書が扱われている。また、それらの企業では、多数の電子文書の管理と検索に多くの時間を要しており、結果的に多くのコストを要している。このため、電子文書のコスト削減は、企業にとって、性急に対応すべき課題となっている。
【0003】
エンタープライズサーチは、企業内の文書検索機能を提供する検索実行装置である。エンタープライズサーチは、要求文書の検索を高速かつ正確に行うことができるため、導入事例が増えている。今後、さらなる電子文書の増加に伴い、複数のエンタープライズサーチのファイル検索結果(以下、「検索結果」という。)を統合、整理、整列する仕組みが必要になると予想される。この明細書では、この種の仕組みを「Federated Search」という。ここで、検索結果を「統合する」とは、フォーマットの異なる検索結果を予め決められたルールに従って統一することをいう。「整理する」とは、同一の検索結果を省略することをいう。「整列する」とは、ユーザによって指定されたオーダーによって検索結果を並び替えることをいう。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−70547号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
規模の大きい企業では、検索システムを構成する検索サーバの数も大量になる。ところが、検索サーバの数が増えるのに従って、ファイル検索要求(以下、「検索要求」という。)を受け付けた検索サーバに掛かる負荷が非常に高くなる。その理由は、当該検索要求を受け付けた検索サーバが、各検索サーバの検索結果を統合する全ての処理を実行するためである。
【0006】
また、一定規模以上の企業であれば、事業所が分散されていることが普通である。各事業所に検索サーバが配置される場合、検索要求に付随する大量のデータがインターネット経由で受け渡しされる。このため、通信負荷が高くなってしまう。
本発明は、以上の課題を解決することを目的とする。
【課題を解決するための手段】
【0007】
本発明は、複数の検索サーバを「ドメイン」という単位にまとめ、ドメイン間で検索処理を実行する場合に適用して好適な処理機能を提供する。例えばドメインは、事業所ごと、国ごと、地域ごとに設定することができる。また、ドメインは、複数の国や地域を対象として設定することができる。
【0008】
なお、本発明の1つの態様として、他のドメインから検索要求を受信し、マスター検索サーバとして機能する検索サーバが、同じドメインに属する他の検索サーバに対して検索要求を転送する処理と、受信した検索要求に従って検索処理を実行する処理と、同じドメインに属する他の検索サーバから収集された検索結果を統合、整理、整列する処理と、統合後の検索結果をドメインの検索結果として前記他のドメインに送信する処理とを実行するものを提案する。
【0009】
また、本発明の1つの態様として、ユーザからの検索要求を受け付けたマスター検索サーバとして機能する検索サーバが、システムを構成するドメインの数だけスレッドを作成する処理と、同じドメインに属する他の検索サーバに対して検索要求を送信すると共に、他のドメインのマスター検索サーバに検索要求を送信する処理と、各時点までに取得された各ドメインの検索結果を対象として統合、整理、整列する処理と、当該処理後の検索結果をユーザに提示する処理とを実行するものを提案する。
【発明の効果】
【0010】
本発明の1つの態様によれば、他のドメインに属する検索サーバに対して検索要求を送信した検索サーバにおける負荷の集中を低減することができる。また、他のドメインに対して検索結果を送信する前に整理処理が実行されるため、通信負荷を低減することができる。
【図面の簡単な説明】
【0011】
【図1】遠距離間を跨ぐワイドエリアサーチシステムの概略構成例を示す図。
【図2】ドメイン管理データベースに格納されているデータ例を示す図。
【図3】検索サーバがユーザから検索要求を受け付けた後、検索結果をユーザに提示するまでの処理の一例を示すフローチャート。
【図4】ドメイン毎の検索結果を個別に表示できる表示画面例を示す図。
【図5】ドメイン毎の検索結果を個別に表示できる他の表示画面例を示す図。
【図6】フィルタリング設定を行うフィルタ管理部の処理動作例を示すフローチャート。
【図7】フィルタリング設定を行うフィルタ管理部の別の処理動作例を示すフローチャート。
【図8】検索実行前にフィルタリング処理を行うフィルタ処理部の処理動作例を示すフローチャート。
【図9】検索実行後にフィルタリング処理を行うフィルタ処理部の処理動作例を示すフローチャート。
【図10】フィルタ管理データベースのデータ構成例を示す図。
【図11】国別に用意されたフィルタ管理データベースのデータ構成例を示す図。
【図12】1つのドメイン内に複数のマスター検索サーバが存在する場合のシステム構成例を説明する図。
【発明を実施するための形態】
【0012】
以下、図面に基づいて、発明の実施形態例を説明する。なお、後述する実施形態はいずれも一例であり、本発明には、本明細書に記載する任意の機能を組み合わせることで実現されるシステム、本明細書に記載する一部の機能を周知技術で置換したシステム、本明細書に記載する機能に周知技術を追加したシステムも含まれる。また、後述する実施例で実行される機能は、計算機(コンピュータ)上で実行されるプログラムとして実現される。もっとも、プログラムの一部又は全部は、ハードウェアを通じて実現しても良い。
【0013】
(システム構成)
図1に、実施例に係るワイドエリアサーチシステムの構成図を示す。実施例に係るワイドエリアサーチシステムは、日本と米国に跨って構成される例である。勿論、国名は一例であり、任意の国名や地域の組み合わせが考えられる。また、国や地域には、事業所、行政区域、国家間や地域を跨って設定される領域が含まれる。図1の場合、日本には2つのドメインが存在し、米国には1つのドメインが存在する。ドメインとは、検索の実行単位又は実行範囲を与える概念である。
【0014】
各ドメインには、マスター検索サーバ1とスレーブ検索サーバ2が配置される。1つのドメインには、少なくとも1つのマスター検索サーバ1が存在する。この実施例の場合、1つのドメインには1つのマスター検索サーバ1が存在する。なお、スレーブ検索サーバ2は、1つのドメイン内に存在しない場合もある。ただし、図1の場合は、各ドメインに1つ又は2つのスレーブ検索サーバ2が存在する。
【0015】
マスター検索サーバ1は、検索処理部3と、検索結果統合処理部4と、フィルタ管理部5と、フィルタ処理部6を有する。ここで、マスター検索サーバ1は、ドメイン内の検索処理の起点であると共に、他のドメインとの間で検索要求や検索結果を受け渡す際の窓口として機能する。一方、スレーブ検索サーバ2は、検索処理部3のみを有している。これらマスター検索サーバ1及びスレーブ検索サーバ2を構成する各処理部の具体的な機能については後述する。
【0016】
マスター検索サーバ1は、ドメイン管理データベース7とフィルタ管理データベース8を保持し又は接続されている。ドメイン管理データベース7とフィルタ管理データベース8は、必ずしもマスター検索サーバ1と同じ筐体内、同じ部屋内、同じ施設内に存在しなくても良いが、マスター検索サーバ1が必要に応じてアクセスできることが要求される。
【0017】
ドメイン間は、VPN(Virtual Private Network)等の専用線で接続されている場合に限らず、WAN(Wide Area Network)やインターネット経由で接続される場合も存在する。
【0018】
マスター検索サーバ1とスレーブ検索サーバ2は、CPU(Central Processing Unit)や主記憶装置等を備えるコンピュータ(計算機)として実現され、各処理部はコンピュータを通じて実行されるプログラムとして実現される。また、マスター検索サーバ1は、機能の一部としてGUI(Graphical User Interface)サーバやCLI(Command Line Interface)サーバを有し、ユーザからの検索要求を受け付ける機能を有している。なお、ユーザの操作入力には、不図示のマウス、キーボード、ポインティングデバイスその他の入力装置が使用される。
【0019】
(ドメイン管理データベースのデータ構造)
図2に、ドメイン管理データベース7が格納する情報の一例を示す。図2の場合、ドメイン管理データベース7は、ユーザ識別ID21、ドメイン名22、認証サーバ23、認証ユーザID24、認証パスワード25を格納する。これらの情報は、マスター検索サーバ1が他のドメインに対して検索要求を出す場合に参照される。マスター検索サーバ1は、これらの情報を利用してユーザを認証する。認証処理は、検索処理部3の機能として実行される。
【0020】
例えば、DomainTokyoのマスター検索サーバ1にログインしたK-satoから検索要求を受け付けた場合を考える。この場合、DomainTokyoのマスター検索サーバ1は、ドメイン管理データベース7にアクセスし、検索要求を入力したユーザ(K-sato)のユーザ識別IDを読み出す。図2の場合、K-satoは、操作中のマスター検索サーバ1が存在するDomainTokyoの他、DomainOsakaとDomainSanJoseの2箇所について登録されている。この場合、DomainTokyoのマスター検索サーバ1は、DomainOsakaに検索要求を出す場合にはK-satoの認証ユーザID“1”を使用し、DomainSanJoseに検索要求を出す場合にはSato-Kの認証ユーザID“1”を使用する。
【0021】
もし、検索要求を入力したユーザが他のドメインに対するユーザアカウントを登録していない場合は、そのドメインに対する検索要求は送出されない。例えばT-suzukiは、DomainTokyoについてしかユーザアカウントが登録されていない。従って、DomainTokyoのマスター検索サーバ1にログインしたT-suzukiから検索要求が入力された場合、その検索要求は、DomainTokyoのマスター検索サーバ1から他のドメインには送信されないことになる。以上により、各ドメインのマスター検索サーバ1が、正しいユーザ権限を有するドメインに対してのみ検索を実行することが可能となる。
【0022】
(検索結果統合処理部4の処理)
図3に、マスター検索サーバ1の検索結果統合処理部4が実行する処理動作例を示す。なお、図3に示す処理は、ユーザから検索要求を受け付けたマスター検索サーバ1の検索結果統合処理部4が実行する。
【0023】
検索結果結合処理部4は、認証されたドメインに対して検索要求を送信する。このため、送信可能なドメインの数だけスレッドを作成する(ステップ301)。図2の場合、DomainTokyoのマスター検索サーバ1にログインしたK-satoから検索要求を受け付けたとき、3つのスレッドが作成される。これに対し、DomainTokyoのマスター検索サーバ1にログインしたT-suzukiから検索要求を受け付けたとき、1つのスレッドが作成される。
【0024】
次に、検索結果統合処理部4は、ステップ301で作成した各スレッドを通じ、対応する各ドメインのマスター検索サーバ1に対して検索要求を送信する(ステップ302)。
【0025】
この後、検索結果統合処理部4は、検索要求が送信されたドメインのマスター検索サーバ1から検索結果が取得されたか否かを判定する(ステップ303)。すなわち、各スレッドに対応する検索結果の受信を待ち受ける。判定時点において検索結果の取得が確認されない場合(ステップ303で否定結果の場合)、検索結果統合処理部4は、検索結果の待ち受け時間がタイムアウトしたか否かを判定する(ステップ304)。タイムアウトが検出されない場合(ステップ304で否定結果の場合)、検索結果統合処理部4は、ステップ303の判定処理に戻る。一方、タイムアウトが検出された場合(ステップ304で肯定結果の場合)、検索結果統合処理部4は、検索結果の待ち受け状態から抜け、ステップ308に移行する。
【0026】
ここでは、検索結果の待ち受け時間中に、あるドメインから検索結果が受信された場合を考える。この場合、検索結果統合処理部4は、新たに取得した検索結果を既に取得されている検索結果の全体に統合、整理、整列する(ステップ305)。ここでの検索結果の整理により、最終的に表示される検索結果の全体数が必要とする件数以上に増えないようにできる。
【0027】
なお、検索結果統合処理部4による検索結果の統合、整理、整列は、検索要求を他のドメインから受信したマスター検索サーバ1でも実行される。例えば取得したい検索結果の全体数が20件の場合、各ドメインのマスター検索サーバ1は、最大でも20件しか検索結果を返信しない。
【0028】
仮に検索要求を受け付けたドメインのマスター検索サーバ1が、全体として既に10件の検索結果を保持している場合、検索結果統合処理部4は、ステップ305の処理として、新たに取得した20件の検索結果を既存の10件の検索結果に統合した後、再び20件に整理する。
【0029】
ステップ305の処理動作の後、検索結果統合処理部4は、新たに取得したドメインからの検索結果を、不図示の表示装置の画面上に表示できる状態に制御する(ステップ306)。ここでの制御は、後述するようにユーザインターフェースの画面に依存する。詳細は後述するが、統合後の検索結果の表示領域の他に、各ドメインに対応する検索結果を選択的に表示できる場合、個別のドメインに対応する表示領域に、他のドメインから取得した検索結果を表示する又は表示する準備を行う。
【0030】
次に、検索結果統合処理部4は、全てのドメインから検索結果が取得されたか否かを判定する(ステップ307)。検索結果が取得されていないドメインが存在する場合、検索結果統合処理部4はステップ303に戻り、新たな検索結果の取得を待ち受ける状態になる。一方、全てのドメインから検索結果が取得されたと判定された場合、検索結果統合処理部4は、不図示の表示装置の画面上にFederated Searchの検索結果を表示する(ステップ308)。
【0031】
(検索結果の表示画面)
図4に、検索結果の表示画面例を示す。図4に示す表示画面例は、Federated Searchの検索結果が表示されるタブ画面(Federateタブ)401と、各ドメインに対応する3つのタブ画面402で構成される。Federateタブ401には、ユーザから検索要求を受けたマスター検索サーバ1が全てのドメインから検索結果を取得された段階で、全ドメインからの検索結果を統合し、整理し、整列した後の検索結果が一覧的に表示される。一方、タブ画面402には、対応するドメインから検索結果が取得された段階で検索結果が表示される。このため、ユーザは全てのドメインの検索結果が揃うまで待ち続ける必要はない。
【0032】
なお、Federateタブ401及び各ドメイン専用のタブ画面402の表示形態は、検索結果の表示の準備が完了した段階で変化することが望ましい。例えば表示色が変化する、表示枠の太さが変化する、模様が変化する、輝度が変化する、表示位置が変化する表示の大きさが変化する等の制御を適用することが望ましい。これら表示形態の変化により、ユーザはどのタブが参照可能であるかを知ることができ、Federateタブ401が完了するまでの間に他の結果を参照することが可能となる。
【0033】
図4の場合、検索結果の表示画面の左側には、ドメイン選択用の領域403が用意される。領域403を使用可能な場合、ユーザは、検索要求を送信するドメインに対応する領域403にチェックを入れる。これにより、不必要なドメインに対して検索要求が送信される事態を回避でき、その分、通信負荷と全ての検索結果が取得されるまでの時間の短縮を実現できる。ユーザは、Federateタブ401又は各ドメイン専用のタブ画面402を選択することにより、検索結果一覧404を参照することができる。
【0034】
なお、Federateタブ401及び各ドメイン専用のタブ画面402そのものが、検索結果が取得された順番に追加的に表示されるようにしても良い。図4の場合であれば、検索結果の表示画面には、DomainTokyoのタブ画面402が最初に表示され、次にDomainOsakaのタブ画面402が先の1つに追加的に表示され、最後にDomainSanJoseのタブ画面402が先の2つに追加的に表示され、最後にFederated Searchのタブ画面が追加的に表示されるようにしても良い。最終的には、図4に示すように、4つのタブ画面が表示される。この場合も、ユーザは全てのドメインの検索結果が揃うまで待ち続ける必要はない。
【0035】
図5に、検索結果の表示画面の別例を示す。図5に示す表示画面例は、ユーザから検索要求を受けたマスター検索サーバ1が、各ドメインから新たな検索結果が取得されるたび、既存の検索結果一覧501に追加するように表示していく。図の例では、DomainTokyoが一番最初に結果を返し、次にDomainOsakaが結果を返したため、先頭にDomainTokyoの結果が、その後ろにDomainOsakaの結果が続く形になっている。なお、全てのドメインから検索結果が得られた段階で、表示画面の表示内容をFederateタブ401(図4)の表示内容に変更しても良い。
【0036】
(フィルタ管理部5の処理)
図6に、マスター検索サーバ1のフィルタ管理部5が実行する処理動作例を示す。フィルタ管理部5は、フィルタの強度を管理する機能を提供する。
【0037】
フィルタ管理部5は、他のドメインから検索対象に追加された場合に動作する(ステップ601)。フィルタ管理部5は、自ドメインを検索対象に追加した他のドメインに対する検索結果の出力に対し、出力条件が最も厳しいフィルタを自動的に適用する(ステップ602)。その理由は、他のドメインの検索対象に自ドメインが追加された段階では、どのフィルタ強度を適用すれば良いのか一意に決定できないためである。このため、新規のドメイン登録には安全性が最も高い、換言すると最も出力条件が厳しいフィルタを適用する。
【0038】
この後、フィルタ管理部5は、自ドメインのマスター検索サーバ1の管理者に宛ててメールを送信する(ステップ603)。自装置のドメインが検索対象に設定されたとの通知を受けた管理者は、自ドメインを検索対象に追加した他のドメインに対して適切なフィルタを設定する(ステップ604)。自ドメインを検索対象に設定した他のドメインが、自ドメインと同じ国内の場合、全くフィルタを掛けない設定にすることもできる。また、自ドメインを検索対象に設定した他のドメインが、自国と特定の関係にある国の場合、当該国にのみ有効な固有のフィルタを設定することもできる。
【0039】
なお、ステップ601からステップ604までの間に検索要求が受信された場合、フィルタ管理部5は、最も強いフィルタを適用する。ステップ604で適切なフィルタを設定した後に検索要求が受信された場合、フィルタ管理部は、最も強いフィルタではなく、ステップ604で設定されたフィルタを適用する。
【0040】
図7に、マスター検索サーバ1のフィルタ管理部5が実行する他の処理動作例を示す。フィルタ管理部5は、他のドメインから検索対象として追加された場合に動作する(ステップ701)。この点は、図6に示す処理動作と同じである。次に、フィルタ管理部5は、後述する国別フィルタ管理データベースを参照し、追加要求を出したドメインが属する国用のフィルタが用意されているか否かを判定する(ステップ702)。フィルタが用意されていない場合、フィルタ管理部5は、フィルタ管理データベース8から最も強いフィルタを取得する(ステップ703)。一方、フィルタが用意されている場合、フィルタ管理部5は、国別フィルタ管理データベースから該当するフィルタ条件を取得する(ステップ704)。その後、フィルタ管理部5は、フィルタ管理データベース8に対し、ドメイン名とフィルタ条件を追加する(ステップ705)。
【0041】
(フィルタ処理部6の処理)
図8に、他のドメインから検索要求を受けたマスター検索サーバ1のフィルタ処理部6が実行する処理動作を示す。図8は、検索実行前にフィルタを適用する方式を採用する場合のフローチャートを示している。
【0042】
フィルタ処理部6は、他のドメインから検索要求を受信することで動作を開始する(ステップ801)。まず、フィルタ処理部6は、検索要求の送信元であるドメイン用のフィルタが設定されているか否かを判定する(ステップ802)。
【0043】
否定結果が得られた場合(検索要求の送信元であるドメイン用のフィルタが設定されていない場合)、フィルタ処理部6は、予め管理者が用意している最も強度の高い(安全の高い)フィルタを適用する(ステップ803)。一方、肯定結果が得られた場合(検索要求の送信元であるドメイン用のフィルタが設定されている場合)、フィルタ処理部6は、設定されているフィルタを読み出して適用する(ステップ804)。
【0044】
続いて、フィルタ処理部6は、検索要求を受け付けた検索キーワードに対し、ステップ803又はステップ804で確定したフィルタ(出力条件)を追加する(ステップ805)。すなわち、受け付けた検索キーワードにフィルタ(出力条件)を付加したものを、自ドメイン内で使用する検索キーワードとする。図8のうちフィルタ処理部6の処理動作は、当該ステップまでである。
【0045】
この後、ステップ805で作成された検索キーワードは、マスター検索サーバ1の検索処理部3に与えられる。検索処理部3は、検索要求元に応じて最適化された検索キーワードを用いて自ドメイン内を検索する(ステップ806)。その後、検索処理部3は、最終的に取得された検索結果を、自ドメインにおける検索結果として、検索要求の送信元のドメインに宛てて送信する(ステップ807)。
【0046】
もっとも、フィルタの適用手法はこれに限らない。図9に、他のドメインから検索要求を受けたマスター検索サーバ1のフィルタ処理部6が実行する別の処理動作例を示す。図9は、検索実行後にフィルタを適用する方式を採用する場合のフローチャートを示している。すなわち、検索実行後にフィルタ条件を適用し、フィルタ条件で出力が禁止されたファイルを出力対象から除外する方式を採用する。
【0047】
まず、フィルタ処理部6は、他のドメインから検索要求を受信することで動作を開始する(ステップ901)。この場合、フィルタ処理部6は、検索処理部3に検索の実行を指示する。検索処理部3は、検索要件に規定されている検索キーワードに基づいて自ドメイン内を検索する(ステップ902)。この時点では、検索キーワードのみに応じた検索結果が取得される。この後、検索結果はフィルタ処理部6に与えられる。
【0048】
次に、フィルタ処理部6は、検索要求の送信元であるドメイン用のフィルタが設定されているか否かを判定する(ステップ903)。
【0049】
否定結果が得られた場合(検索要求の送信元であるドメイン用のフィルタが設定されていない場合)、フィルタ処理部6は、予め管理者が用意している最も強度の高い(安全の高い)フィルタを検索結果に対して適用する(ステップ904)。すなわち、予め管理者が用意している最も強度が高い(安全性の高い)フィルタ条件を検索結果に適用する。具体的には、フィルタ条件に該当するファイルを、ステップ902で取得された検索結果から除外する。
【0050】
一方、肯定結果が得られた場合(検索要求の送信元であるドメイン用のフィルタが設定されている場合)、フィルタ処理部6は、設定されているフィルタを読み出して検索結果に適用する(ステップ905)。すなわち、特定のドメイン用に最適化されている強度のフィルタ条件を検索結果に適用する。この場合も、フィルタ条件の強度が異なるだけで、フィルタ条件に該当するファイルを、ステップ902で取得された検索結果から除外する。
【0051】
その後、フィルタ処理部6は、最終的に取得された検索結果を、自ドメインにおける検索結果として、検索要求の送信元のドメインに宛てて送信する(ステップ906)。なお、検索結果の他のドメインに対する送信は、検索処理部3を通じて実行しても良い。
【0052】
(フィルタ管理データベースのデータ構造)
図10に、フィルタ管理データベース8が格納する情報の一例を示す。図10の場合、フィルタ管理データベース8は、ドメイン名101とフィルタ条件102で構成される。このフィルタ管理データベース8は、他のドメインから検索要求を受け付けた場合に適切なフィルタを適用するために参照される。
【0053】
図10は、最も出力条件が厳しい(安全性が高い)デフォルトのフィルタ条件と、DomainTokyo用のフィルタ条件だけが設定された状態を示している。この例の場合、デフォルトのフィルタ条件として、他のドメインに対して出力する検索結果から、画像ファイルと、音声ファイルと、ドキュメントファイルを除外することが規定されている。一方、DomainTokyo用のフィルタ条件として、他のドメインに対して出力する検索結果からドキュメントファイルを除外すること、すなわち画像ファイルと音声ファイルは検索結果に含めて良いことが規定されている。
【0054】
例えば図8に示すフィルタ処理を適用する場合であれば、DomainTokyo以外のドメインから検索要求を受け付けた場合、受信した検索条件に対して「ドキュメントファイルと、画像ファイルと、音声ファイルを除外」という条件が追加され、その後、検索処理が実行される。そして、検索処理後に取得される検索結果はそのまま検索要求元のドメインに送出される。一方、DomainTokyoから検索要求を受け付けた場合、受信した検索条件に対して「ドキュメントファイルを除外」という条件が追加され、その後、検索処理が実行される。そして、検索処理後に取得された検索結果がそのまま検索要求元のドメインに送出される。勿論、図9に示すフィルタ処理を適用する場合には、受信した検索条件に対して取得された検索結果に対してフィルタ条件が適用され、フィルタ適用後のファイルが最終的な検索結果として検索要求元のドメインに送出される。以上により、ドメイン毎に検索結果の出力内容を最適化することができる。この機能は、輸出管理等に有効である。
【0055】
図11に、フィルタ管理データベース8の他の構成例を示す。図11は、フィルタの設定処理を国別に自動実行する際に参照して好適なデータベースの一例である。図11の場合、国名111とフィルタ条件112で構成される。なお、出力条件が最も厳しいフィルタ条件(デフォルト条件)は、図11のデータベースの他にも設定されているものとする。この図11の場合、米国、日本、中国が登録されている。例えば検索要求の送信元であるドメインが米国である場合、フィルタ処理部6は、検索結果にドキュメントファイルと画像ファイルが含まれないようにフィルタ処理を実行できる。すなわち、登録された国については自動的にフィルタ条件を最適化できる。なお、図11の場合には、ドメインとして国が指定されているが、国以外のドメインについて個別のフィルタ条件を設定することもできる。
【0056】
(他のシステム構成)
前述の説明では、1つのドメイン内にはマスター検索サーバ1が1つだけ存在する場合を想定した。しかし、図12に示すように、1つのドメイン内に複数のマスター検索サーバ1が存在しても良い。図12の場合、図1の構成に加えて負荷分散サーバ121が用意されている。負荷分散サーバ121は、他のドメインのマスター検索サーバ1から送信された検索要求を受信し、検索要求の転送先を振り分ける装置として機能する。すなわち、複数のマスター検索サーバ1を有するドメインとの通信は、マスター検索サーバ1同士の直接通信ではなく、負荷分散サーバ121を介しての通信となる。
【0057】
負荷分散サーバ121は、自ドメイン内における複数のマスター検索サーバ1の負荷を監視し、検索処理の負荷がいずれかのマスター検索サーバ1に集中しないように動作する。例えば負荷分散サーバ121は、交互又は巡回的にマスター検索サーバ1を指定する。また例えば負荷分散サーバ121は、検索要求受信時における各マスター検索サーバ1の負荷の高さを参照し、負荷が少ないマスター検索サーバ1に又は複数のマスター検索サーバ1間で負荷が均等になるように検索要求の送信先を振り分ける。
【0058】
(まとめ)
以上説明したように、ネットワーク経由で接続された複数の検索サーバ1、2で構成される検索システムにおいて、複数の検索サーバ1、2が複数のドメイン(例えば図1の場合、日本と米国)のいずれかに収容されるとき、他のドメイン(日本)から検索要求を受信した米国のマスター検索サーバ1は、同じドメイン(米国)に属する他の検索サーバ2に対して検索要求を転送する。この場合、米国のマスター検索サーバ1は、受信した検索要求に従って検索処理を実行し、同じドメインに属する他の検索サーバ2から収集された検索結果を統合、整理、整列し、当該処理後の検索結果をドメインの検索結果として他のドメイン(日本)に送信する。このとき、検索結果の一時的な統合、整理、整列が、検索要求の受信側である米国側のマスター検索サーバ1で実行されるため、検索要求をユーザから受け付けた日本側のマスター検索サーバ1に処理負荷が集中する事態を低減できる。また、検索結果を送り返す前に、検索結果の一時的な統合、整理、整列が米国側のマスター検索サーバ1で実行されるため、通信負荷も低減することができる。
【0059】
また、検索システムを構成する全てのドメインのマスター検索サーバ1間において、検索結果の統合、整理、整列処理の内容をドメイン間の検索用に予め定め共通化しておくことにより、検索要求を受け付けた(他のドメインに対して検索要求を送信する)マスター検索サーバ1における処理負荷を低減することができる。具体的には、統合処理を省略することができる。
【0060】
また、前述したように、ユーザから検索要求を受け付けたマスター検索サーバ1(図1の場合、DomainTokyo)は、システムを構成するドメインの数だけスレッドを作成し、同じドメインに属する他の検索サーバ2に対して検索要求を送信すると共に、他のドメイン(図1の場合、DomainOsakaとDomainSanJose)のマスター検索サーバ1に検索要求を送信する。また、日本側のマスター検索サーバ1は、各時点までに取得された各ドメインの検索結果を対象として統合、整理、整列し、当該処理後の検索結果をユーザに提示する。すなわち、各時点で取得済みの検索結果から順番にユーザに提示する。これにより、検索結果の少なくとも一部が表示されるまでの時間を従来に比して短縮でき、検索結果が表示されるまでに要するユーザのストレスを低減することができる。
【0061】
なお、従来システムの場合には、全ての検索サーバからの検索結果が揃うのを待って検索結果を表示する。例えばユーザからの検索要求を受け付けた検索サーバ(図1の場合、東京の事業所)からの距離が近い事業所(図1の場合、大阪の事業所)と遠い事業所(SanJoseの事業所)とが存在する場合、従来システムにおいて検索要求を発した検索サーバは、全ての事業所からの検索結果が揃った後に、統合、整理、整列を行ってから検索結果を表示する。このため、検索結果が最終的にユーザに提示されるまで処理時間が長くなり易く、ユーザに不要なストレスを与えることがあった。
【0062】
しかし、前述の通り、実施例に係る検索システムの場合には、検索結果が受信されたドメインから順番に検索結果が提示される。このため、ユーザの待ち時間を短縮でき、ストレスを低減することができる。
【0063】
さらに、前述したように、実施例に係る検索システムの場合には、他のドメインから検索要求を受信したマスター検索サーバ1が、他のドメインからの検索要求に対し、検索結果の出力条件が最も厳しいフィルタ処理を適用するものを提案する。または、他のドメインから検索要求を受信したマスター検索サーバが、検索要求の送信元のドメインを識別し、識別されたドメインに対応するフィルタ処理を実行する。このため、意図せぬ情報が検索結果の一部として他のドメインに送信される事態を回避できる。
【0064】
特に、事業所が複数の国に分散して存在する場合、従来システムにおける検索結果には、国外への送信が禁止されている情報が意図せず含まれる可能性がある。しかし、実施例に係る検索システムの場合には、他国からの検索要求に対しては、最も厳しいフィルタ条件を適用するか、国別に最適化されたフィルタ条件を適用する。これにより、複数の国や地域で活動する事業者にとって安全性の高い検索システムを実現できる。
【符号の説明】
【0065】
1…マスター検索サーバ
2…スレーブ検索サーバ
3…検索処理部
4…検索結果統合処理部
5…フィルタ管理部
6…フィルタ処理部
7…ドメイン管理データベース
8…フィルタ管理データベース
【技術分野】
【0001】
本発明は、検索システム及び検索システムを構成する検索サーバに搭載されたコンピュータで実行されるプログラムに関する。例えば複数地点に存在する複数の検索サーバ間での検索処理の実行が想定される検索システム及び各検索サーバに搭載されたコンピュータに実行させて好適なプログラムに関する。
【背景技術】
【0002】
今日、多くの企業では、多数の電子文書が扱われている。また、それらの企業では、多数の電子文書の管理と検索に多くの時間を要しており、結果的に多くのコストを要している。このため、電子文書のコスト削減は、企業にとって、性急に対応すべき課題となっている。
【0003】
エンタープライズサーチは、企業内の文書検索機能を提供する検索実行装置である。エンタープライズサーチは、要求文書の検索を高速かつ正確に行うことができるため、導入事例が増えている。今後、さらなる電子文書の増加に伴い、複数のエンタープライズサーチのファイル検索結果(以下、「検索結果」という。)を統合、整理、整列する仕組みが必要になると予想される。この明細書では、この種の仕組みを「Federated Search」という。ここで、検索結果を「統合する」とは、フォーマットの異なる検索結果を予め決められたルールに従って統一することをいう。「整理する」とは、同一の検索結果を省略することをいう。「整列する」とは、ユーザによって指定されたオーダーによって検索結果を並び替えることをいう。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−70547号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
規模の大きい企業では、検索システムを構成する検索サーバの数も大量になる。ところが、検索サーバの数が増えるのに従って、ファイル検索要求(以下、「検索要求」という。)を受け付けた検索サーバに掛かる負荷が非常に高くなる。その理由は、当該検索要求を受け付けた検索サーバが、各検索サーバの検索結果を統合する全ての処理を実行するためである。
【0006】
また、一定規模以上の企業であれば、事業所が分散されていることが普通である。各事業所に検索サーバが配置される場合、検索要求に付随する大量のデータがインターネット経由で受け渡しされる。このため、通信負荷が高くなってしまう。
本発明は、以上の課題を解決することを目的とする。
【課題を解決するための手段】
【0007】
本発明は、複数の検索サーバを「ドメイン」という単位にまとめ、ドメイン間で検索処理を実行する場合に適用して好適な処理機能を提供する。例えばドメインは、事業所ごと、国ごと、地域ごとに設定することができる。また、ドメインは、複数の国や地域を対象として設定することができる。
【0008】
なお、本発明の1つの態様として、他のドメインから検索要求を受信し、マスター検索サーバとして機能する検索サーバが、同じドメインに属する他の検索サーバに対して検索要求を転送する処理と、受信した検索要求に従って検索処理を実行する処理と、同じドメインに属する他の検索サーバから収集された検索結果を統合、整理、整列する処理と、統合後の検索結果をドメインの検索結果として前記他のドメインに送信する処理とを実行するものを提案する。
【0009】
また、本発明の1つの態様として、ユーザからの検索要求を受け付けたマスター検索サーバとして機能する検索サーバが、システムを構成するドメインの数だけスレッドを作成する処理と、同じドメインに属する他の検索サーバに対して検索要求を送信すると共に、他のドメインのマスター検索サーバに検索要求を送信する処理と、各時点までに取得された各ドメインの検索結果を対象として統合、整理、整列する処理と、当該処理後の検索結果をユーザに提示する処理とを実行するものを提案する。
【発明の効果】
【0010】
本発明の1つの態様によれば、他のドメインに属する検索サーバに対して検索要求を送信した検索サーバにおける負荷の集中を低減することができる。また、他のドメインに対して検索結果を送信する前に整理処理が実行されるため、通信負荷を低減することができる。
【図面の簡単な説明】
【0011】
【図1】遠距離間を跨ぐワイドエリアサーチシステムの概略構成例を示す図。
【図2】ドメイン管理データベースに格納されているデータ例を示す図。
【図3】検索サーバがユーザから検索要求を受け付けた後、検索結果をユーザに提示するまでの処理の一例を示すフローチャート。
【図4】ドメイン毎の検索結果を個別に表示できる表示画面例を示す図。
【図5】ドメイン毎の検索結果を個別に表示できる他の表示画面例を示す図。
【図6】フィルタリング設定を行うフィルタ管理部の処理動作例を示すフローチャート。
【図7】フィルタリング設定を行うフィルタ管理部の別の処理動作例を示すフローチャート。
【図8】検索実行前にフィルタリング処理を行うフィルタ処理部の処理動作例を示すフローチャート。
【図9】検索実行後にフィルタリング処理を行うフィルタ処理部の処理動作例を示すフローチャート。
【図10】フィルタ管理データベースのデータ構成例を示す図。
【図11】国別に用意されたフィルタ管理データベースのデータ構成例を示す図。
【図12】1つのドメイン内に複数のマスター検索サーバが存在する場合のシステム構成例を説明する図。
【発明を実施するための形態】
【0012】
以下、図面に基づいて、発明の実施形態例を説明する。なお、後述する実施形態はいずれも一例であり、本発明には、本明細書に記載する任意の機能を組み合わせることで実現されるシステム、本明細書に記載する一部の機能を周知技術で置換したシステム、本明細書に記載する機能に周知技術を追加したシステムも含まれる。また、後述する実施例で実行される機能は、計算機(コンピュータ)上で実行されるプログラムとして実現される。もっとも、プログラムの一部又は全部は、ハードウェアを通じて実現しても良い。
【0013】
(システム構成)
図1に、実施例に係るワイドエリアサーチシステムの構成図を示す。実施例に係るワイドエリアサーチシステムは、日本と米国に跨って構成される例である。勿論、国名は一例であり、任意の国名や地域の組み合わせが考えられる。また、国や地域には、事業所、行政区域、国家間や地域を跨って設定される領域が含まれる。図1の場合、日本には2つのドメインが存在し、米国には1つのドメインが存在する。ドメインとは、検索の実行単位又は実行範囲を与える概念である。
【0014】
各ドメインには、マスター検索サーバ1とスレーブ検索サーバ2が配置される。1つのドメインには、少なくとも1つのマスター検索サーバ1が存在する。この実施例の場合、1つのドメインには1つのマスター検索サーバ1が存在する。なお、スレーブ検索サーバ2は、1つのドメイン内に存在しない場合もある。ただし、図1の場合は、各ドメインに1つ又は2つのスレーブ検索サーバ2が存在する。
【0015】
マスター検索サーバ1は、検索処理部3と、検索結果統合処理部4と、フィルタ管理部5と、フィルタ処理部6を有する。ここで、マスター検索サーバ1は、ドメイン内の検索処理の起点であると共に、他のドメインとの間で検索要求や検索結果を受け渡す際の窓口として機能する。一方、スレーブ検索サーバ2は、検索処理部3のみを有している。これらマスター検索サーバ1及びスレーブ検索サーバ2を構成する各処理部の具体的な機能については後述する。
【0016】
マスター検索サーバ1は、ドメイン管理データベース7とフィルタ管理データベース8を保持し又は接続されている。ドメイン管理データベース7とフィルタ管理データベース8は、必ずしもマスター検索サーバ1と同じ筐体内、同じ部屋内、同じ施設内に存在しなくても良いが、マスター検索サーバ1が必要に応じてアクセスできることが要求される。
【0017】
ドメイン間は、VPN(Virtual Private Network)等の専用線で接続されている場合に限らず、WAN(Wide Area Network)やインターネット経由で接続される場合も存在する。
【0018】
マスター検索サーバ1とスレーブ検索サーバ2は、CPU(Central Processing Unit)や主記憶装置等を備えるコンピュータ(計算機)として実現され、各処理部はコンピュータを通じて実行されるプログラムとして実現される。また、マスター検索サーバ1は、機能の一部としてGUI(Graphical User Interface)サーバやCLI(Command Line Interface)サーバを有し、ユーザからの検索要求を受け付ける機能を有している。なお、ユーザの操作入力には、不図示のマウス、キーボード、ポインティングデバイスその他の入力装置が使用される。
【0019】
(ドメイン管理データベースのデータ構造)
図2に、ドメイン管理データベース7が格納する情報の一例を示す。図2の場合、ドメイン管理データベース7は、ユーザ識別ID21、ドメイン名22、認証サーバ23、認証ユーザID24、認証パスワード25を格納する。これらの情報は、マスター検索サーバ1が他のドメインに対して検索要求を出す場合に参照される。マスター検索サーバ1は、これらの情報を利用してユーザを認証する。認証処理は、検索処理部3の機能として実行される。
【0020】
例えば、DomainTokyoのマスター検索サーバ1にログインしたK-satoから検索要求を受け付けた場合を考える。この場合、DomainTokyoのマスター検索サーバ1は、ドメイン管理データベース7にアクセスし、検索要求を入力したユーザ(K-sato)のユーザ識別IDを読み出す。図2の場合、K-satoは、操作中のマスター検索サーバ1が存在するDomainTokyoの他、DomainOsakaとDomainSanJoseの2箇所について登録されている。この場合、DomainTokyoのマスター検索サーバ1は、DomainOsakaに検索要求を出す場合にはK-satoの認証ユーザID“1”を使用し、DomainSanJoseに検索要求を出す場合にはSato-Kの認証ユーザID“1”を使用する。
【0021】
もし、検索要求を入力したユーザが他のドメインに対するユーザアカウントを登録していない場合は、そのドメインに対する検索要求は送出されない。例えばT-suzukiは、DomainTokyoについてしかユーザアカウントが登録されていない。従って、DomainTokyoのマスター検索サーバ1にログインしたT-suzukiから検索要求が入力された場合、その検索要求は、DomainTokyoのマスター検索サーバ1から他のドメインには送信されないことになる。以上により、各ドメインのマスター検索サーバ1が、正しいユーザ権限を有するドメインに対してのみ検索を実行することが可能となる。
【0022】
(検索結果統合処理部4の処理)
図3に、マスター検索サーバ1の検索結果統合処理部4が実行する処理動作例を示す。なお、図3に示す処理は、ユーザから検索要求を受け付けたマスター検索サーバ1の検索結果統合処理部4が実行する。
【0023】
検索結果結合処理部4は、認証されたドメインに対して検索要求を送信する。このため、送信可能なドメインの数だけスレッドを作成する(ステップ301)。図2の場合、DomainTokyoのマスター検索サーバ1にログインしたK-satoから検索要求を受け付けたとき、3つのスレッドが作成される。これに対し、DomainTokyoのマスター検索サーバ1にログインしたT-suzukiから検索要求を受け付けたとき、1つのスレッドが作成される。
【0024】
次に、検索結果統合処理部4は、ステップ301で作成した各スレッドを通じ、対応する各ドメインのマスター検索サーバ1に対して検索要求を送信する(ステップ302)。
【0025】
この後、検索結果統合処理部4は、検索要求が送信されたドメインのマスター検索サーバ1から検索結果が取得されたか否かを判定する(ステップ303)。すなわち、各スレッドに対応する検索結果の受信を待ち受ける。判定時点において検索結果の取得が確認されない場合(ステップ303で否定結果の場合)、検索結果統合処理部4は、検索結果の待ち受け時間がタイムアウトしたか否かを判定する(ステップ304)。タイムアウトが検出されない場合(ステップ304で否定結果の場合)、検索結果統合処理部4は、ステップ303の判定処理に戻る。一方、タイムアウトが検出された場合(ステップ304で肯定結果の場合)、検索結果統合処理部4は、検索結果の待ち受け状態から抜け、ステップ308に移行する。
【0026】
ここでは、検索結果の待ち受け時間中に、あるドメインから検索結果が受信された場合を考える。この場合、検索結果統合処理部4は、新たに取得した検索結果を既に取得されている検索結果の全体に統合、整理、整列する(ステップ305)。ここでの検索結果の整理により、最終的に表示される検索結果の全体数が必要とする件数以上に増えないようにできる。
【0027】
なお、検索結果統合処理部4による検索結果の統合、整理、整列は、検索要求を他のドメインから受信したマスター検索サーバ1でも実行される。例えば取得したい検索結果の全体数が20件の場合、各ドメインのマスター検索サーバ1は、最大でも20件しか検索結果を返信しない。
【0028】
仮に検索要求を受け付けたドメインのマスター検索サーバ1が、全体として既に10件の検索結果を保持している場合、検索結果統合処理部4は、ステップ305の処理として、新たに取得した20件の検索結果を既存の10件の検索結果に統合した後、再び20件に整理する。
【0029】
ステップ305の処理動作の後、検索結果統合処理部4は、新たに取得したドメインからの検索結果を、不図示の表示装置の画面上に表示できる状態に制御する(ステップ306)。ここでの制御は、後述するようにユーザインターフェースの画面に依存する。詳細は後述するが、統合後の検索結果の表示領域の他に、各ドメインに対応する検索結果を選択的に表示できる場合、個別のドメインに対応する表示領域に、他のドメインから取得した検索結果を表示する又は表示する準備を行う。
【0030】
次に、検索結果統合処理部4は、全てのドメインから検索結果が取得されたか否かを判定する(ステップ307)。検索結果が取得されていないドメインが存在する場合、検索結果統合処理部4はステップ303に戻り、新たな検索結果の取得を待ち受ける状態になる。一方、全てのドメインから検索結果が取得されたと判定された場合、検索結果統合処理部4は、不図示の表示装置の画面上にFederated Searchの検索結果を表示する(ステップ308)。
【0031】
(検索結果の表示画面)
図4に、検索結果の表示画面例を示す。図4に示す表示画面例は、Federated Searchの検索結果が表示されるタブ画面(Federateタブ)401と、各ドメインに対応する3つのタブ画面402で構成される。Federateタブ401には、ユーザから検索要求を受けたマスター検索サーバ1が全てのドメインから検索結果を取得された段階で、全ドメインからの検索結果を統合し、整理し、整列した後の検索結果が一覧的に表示される。一方、タブ画面402には、対応するドメインから検索結果が取得された段階で検索結果が表示される。このため、ユーザは全てのドメインの検索結果が揃うまで待ち続ける必要はない。
【0032】
なお、Federateタブ401及び各ドメイン専用のタブ画面402の表示形態は、検索結果の表示の準備が完了した段階で変化することが望ましい。例えば表示色が変化する、表示枠の太さが変化する、模様が変化する、輝度が変化する、表示位置が変化する表示の大きさが変化する等の制御を適用することが望ましい。これら表示形態の変化により、ユーザはどのタブが参照可能であるかを知ることができ、Federateタブ401が完了するまでの間に他の結果を参照することが可能となる。
【0033】
図4の場合、検索結果の表示画面の左側には、ドメイン選択用の領域403が用意される。領域403を使用可能な場合、ユーザは、検索要求を送信するドメインに対応する領域403にチェックを入れる。これにより、不必要なドメインに対して検索要求が送信される事態を回避でき、その分、通信負荷と全ての検索結果が取得されるまでの時間の短縮を実現できる。ユーザは、Federateタブ401又は各ドメイン専用のタブ画面402を選択することにより、検索結果一覧404を参照することができる。
【0034】
なお、Federateタブ401及び各ドメイン専用のタブ画面402そのものが、検索結果が取得された順番に追加的に表示されるようにしても良い。図4の場合であれば、検索結果の表示画面には、DomainTokyoのタブ画面402が最初に表示され、次にDomainOsakaのタブ画面402が先の1つに追加的に表示され、最後にDomainSanJoseのタブ画面402が先の2つに追加的に表示され、最後にFederated Searchのタブ画面が追加的に表示されるようにしても良い。最終的には、図4に示すように、4つのタブ画面が表示される。この場合も、ユーザは全てのドメインの検索結果が揃うまで待ち続ける必要はない。
【0035】
図5に、検索結果の表示画面の別例を示す。図5に示す表示画面例は、ユーザから検索要求を受けたマスター検索サーバ1が、各ドメインから新たな検索結果が取得されるたび、既存の検索結果一覧501に追加するように表示していく。図の例では、DomainTokyoが一番最初に結果を返し、次にDomainOsakaが結果を返したため、先頭にDomainTokyoの結果が、その後ろにDomainOsakaの結果が続く形になっている。なお、全てのドメインから検索結果が得られた段階で、表示画面の表示内容をFederateタブ401(図4)の表示内容に変更しても良い。
【0036】
(フィルタ管理部5の処理)
図6に、マスター検索サーバ1のフィルタ管理部5が実行する処理動作例を示す。フィルタ管理部5は、フィルタの強度を管理する機能を提供する。
【0037】
フィルタ管理部5は、他のドメインから検索対象に追加された場合に動作する(ステップ601)。フィルタ管理部5は、自ドメインを検索対象に追加した他のドメインに対する検索結果の出力に対し、出力条件が最も厳しいフィルタを自動的に適用する(ステップ602)。その理由は、他のドメインの検索対象に自ドメインが追加された段階では、どのフィルタ強度を適用すれば良いのか一意に決定できないためである。このため、新規のドメイン登録には安全性が最も高い、換言すると最も出力条件が厳しいフィルタを適用する。
【0038】
この後、フィルタ管理部5は、自ドメインのマスター検索サーバ1の管理者に宛ててメールを送信する(ステップ603)。自装置のドメインが検索対象に設定されたとの通知を受けた管理者は、自ドメインを検索対象に追加した他のドメインに対して適切なフィルタを設定する(ステップ604)。自ドメインを検索対象に設定した他のドメインが、自ドメインと同じ国内の場合、全くフィルタを掛けない設定にすることもできる。また、自ドメインを検索対象に設定した他のドメインが、自国と特定の関係にある国の場合、当該国にのみ有効な固有のフィルタを設定することもできる。
【0039】
なお、ステップ601からステップ604までの間に検索要求が受信された場合、フィルタ管理部5は、最も強いフィルタを適用する。ステップ604で適切なフィルタを設定した後に検索要求が受信された場合、フィルタ管理部は、最も強いフィルタではなく、ステップ604で設定されたフィルタを適用する。
【0040】
図7に、マスター検索サーバ1のフィルタ管理部5が実行する他の処理動作例を示す。フィルタ管理部5は、他のドメインから検索対象として追加された場合に動作する(ステップ701)。この点は、図6に示す処理動作と同じである。次に、フィルタ管理部5は、後述する国別フィルタ管理データベースを参照し、追加要求を出したドメインが属する国用のフィルタが用意されているか否かを判定する(ステップ702)。フィルタが用意されていない場合、フィルタ管理部5は、フィルタ管理データベース8から最も強いフィルタを取得する(ステップ703)。一方、フィルタが用意されている場合、フィルタ管理部5は、国別フィルタ管理データベースから該当するフィルタ条件を取得する(ステップ704)。その後、フィルタ管理部5は、フィルタ管理データベース8に対し、ドメイン名とフィルタ条件を追加する(ステップ705)。
【0041】
(フィルタ処理部6の処理)
図8に、他のドメインから検索要求を受けたマスター検索サーバ1のフィルタ処理部6が実行する処理動作を示す。図8は、検索実行前にフィルタを適用する方式を採用する場合のフローチャートを示している。
【0042】
フィルタ処理部6は、他のドメインから検索要求を受信することで動作を開始する(ステップ801)。まず、フィルタ処理部6は、検索要求の送信元であるドメイン用のフィルタが設定されているか否かを判定する(ステップ802)。
【0043】
否定結果が得られた場合(検索要求の送信元であるドメイン用のフィルタが設定されていない場合)、フィルタ処理部6は、予め管理者が用意している最も強度の高い(安全の高い)フィルタを適用する(ステップ803)。一方、肯定結果が得られた場合(検索要求の送信元であるドメイン用のフィルタが設定されている場合)、フィルタ処理部6は、設定されているフィルタを読み出して適用する(ステップ804)。
【0044】
続いて、フィルタ処理部6は、検索要求を受け付けた検索キーワードに対し、ステップ803又はステップ804で確定したフィルタ(出力条件)を追加する(ステップ805)。すなわち、受け付けた検索キーワードにフィルタ(出力条件)を付加したものを、自ドメイン内で使用する検索キーワードとする。図8のうちフィルタ処理部6の処理動作は、当該ステップまでである。
【0045】
この後、ステップ805で作成された検索キーワードは、マスター検索サーバ1の検索処理部3に与えられる。検索処理部3は、検索要求元に応じて最適化された検索キーワードを用いて自ドメイン内を検索する(ステップ806)。その後、検索処理部3は、最終的に取得された検索結果を、自ドメインにおける検索結果として、検索要求の送信元のドメインに宛てて送信する(ステップ807)。
【0046】
もっとも、フィルタの適用手法はこれに限らない。図9に、他のドメインから検索要求を受けたマスター検索サーバ1のフィルタ処理部6が実行する別の処理動作例を示す。図9は、検索実行後にフィルタを適用する方式を採用する場合のフローチャートを示している。すなわち、検索実行後にフィルタ条件を適用し、フィルタ条件で出力が禁止されたファイルを出力対象から除外する方式を採用する。
【0047】
まず、フィルタ処理部6は、他のドメインから検索要求を受信することで動作を開始する(ステップ901)。この場合、フィルタ処理部6は、検索処理部3に検索の実行を指示する。検索処理部3は、検索要件に規定されている検索キーワードに基づいて自ドメイン内を検索する(ステップ902)。この時点では、検索キーワードのみに応じた検索結果が取得される。この後、検索結果はフィルタ処理部6に与えられる。
【0048】
次に、フィルタ処理部6は、検索要求の送信元であるドメイン用のフィルタが設定されているか否かを判定する(ステップ903)。
【0049】
否定結果が得られた場合(検索要求の送信元であるドメイン用のフィルタが設定されていない場合)、フィルタ処理部6は、予め管理者が用意している最も強度の高い(安全の高い)フィルタを検索結果に対して適用する(ステップ904)。すなわち、予め管理者が用意している最も強度が高い(安全性の高い)フィルタ条件を検索結果に適用する。具体的には、フィルタ条件に該当するファイルを、ステップ902で取得された検索結果から除外する。
【0050】
一方、肯定結果が得られた場合(検索要求の送信元であるドメイン用のフィルタが設定されている場合)、フィルタ処理部6は、設定されているフィルタを読み出して検索結果に適用する(ステップ905)。すなわち、特定のドメイン用に最適化されている強度のフィルタ条件を検索結果に適用する。この場合も、フィルタ条件の強度が異なるだけで、フィルタ条件に該当するファイルを、ステップ902で取得された検索結果から除外する。
【0051】
その後、フィルタ処理部6は、最終的に取得された検索結果を、自ドメインにおける検索結果として、検索要求の送信元のドメインに宛てて送信する(ステップ906)。なお、検索結果の他のドメインに対する送信は、検索処理部3を通じて実行しても良い。
【0052】
(フィルタ管理データベースのデータ構造)
図10に、フィルタ管理データベース8が格納する情報の一例を示す。図10の場合、フィルタ管理データベース8は、ドメイン名101とフィルタ条件102で構成される。このフィルタ管理データベース8は、他のドメインから検索要求を受け付けた場合に適切なフィルタを適用するために参照される。
【0053】
図10は、最も出力条件が厳しい(安全性が高い)デフォルトのフィルタ条件と、DomainTokyo用のフィルタ条件だけが設定された状態を示している。この例の場合、デフォルトのフィルタ条件として、他のドメインに対して出力する検索結果から、画像ファイルと、音声ファイルと、ドキュメントファイルを除外することが規定されている。一方、DomainTokyo用のフィルタ条件として、他のドメインに対して出力する検索結果からドキュメントファイルを除外すること、すなわち画像ファイルと音声ファイルは検索結果に含めて良いことが規定されている。
【0054】
例えば図8に示すフィルタ処理を適用する場合であれば、DomainTokyo以外のドメインから検索要求を受け付けた場合、受信した検索条件に対して「ドキュメントファイルと、画像ファイルと、音声ファイルを除外」という条件が追加され、その後、検索処理が実行される。そして、検索処理後に取得される検索結果はそのまま検索要求元のドメインに送出される。一方、DomainTokyoから検索要求を受け付けた場合、受信した検索条件に対して「ドキュメントファイルを除外」という条件が追加され、その後、検索処理が実行される。そして、検索処理後に取得された検索結果がそのまま検索要求元のドメインに送出される。勿論、図9に示すフィルタ処理を適用する場合には、受信した検索条件に対して取得された検索結果に対してフィルタ条件が適用され、フィルタ適用後のファイルが最終的な検索結果として検索要求元のドメインに送出される。以上により、ドメイン毎に検索結果の出力内容を最適化することができる。この機能は、輸出管理等に有効である。
【0055】
図11に、フィルタ管理データベース8の他の構成例を示す。図11は、フィルタの設定処理を国別に自動実行する際に参照して好適なデータベースの一例である。図11の場合、国名111とフィルタ条件112で構成される。なお、出力条件が最も厳しいフィルタ条件(デフォルト条件)は、図11のデータベースの他にも設定されているものとする。この図11の場合、米国、日本、中国が登録されている。例えば検索要求の送信元であるドメインが米国である場合、フィルタ処理部6は、検索結果にドキュメントファイルと画像ファイルが含まれないようにフィルタ処理を実行できる。すなわち、登録された国については自動的にフィルタ条件を最適化できる。なお、図11の場合には、ドメインとして国が指定されているが、国以外のドメインについて個別のフィルタ条件を設定することもできる。
【0056】
(他のシステム構成)
前述の説明では、1つのドメイン内にはマスター検索サーバ1が1つだけ存在する場合を想定した。しかし、図12に示すように、1つのドメイン内に複数のマスター検索サーバ1が存在しても良い。図12の場合、図1の構成に加えて負荷分散サーバ121が用意されている。負荷分散サーバ121は、他のドメインのマスター検索サーバ1から送信された検索要求を受信し、検索要求の転送先を振り分ける装置として機能する。すなわち、複数のマスター検索サーバ1を有するドメインとの通信は、マスター検索サーバ1同士の直接通信ではなく、負荷分散サーバ121を介しての通信となる。
【0057】
負荷分散サーバ121は、自ドメイン内における複数のマスター検索サーバ1の負荷を監視し、検索処理の負荷がいずれかのマスター検索サーバ1に集中しないように動作する。例えば負荷分散サーバ121は、交互又は巡回的にマスター検索サーバ1を指定する。また例えば負荷分散サーバ121は、検索要求受信時における各マスター検索サーバ1の負荷の高さを参照し、負荷が少ないマスター検索サーバ1に又は複数のマスター検索サーバ1間で負荷が均等になるように検索要求の送信先を振り分ける。
【0058】
(まとめ)
以上説明したように、ネットワーク経由で接続された複数の検索サーバ1、2で構成される検索システムにおいて、複数の検索サーバ1、2が複数のドメイン(例えば図1の場合、日本と米国)のいずれかに収容されるとき、他のドメイン(日本)から検索要求を受信した米国のマスター検索サーバ1は、同じドメイン(米国)に属する他の検索サーバ2に対して検索要求を転送する。この場合、米国のマスター検索サーバ1は、受信した検索要求に従って検索処理を実行し、同じドメインに属する他の検索サーバ2から収集された検索結果を統合、整理、整列し、当該処理後の検索結果をドメインの検索結果として他のドメイン(日本)に送信する。このとき、検索結果の一時的な統合、整理、整列が、検索要求の受信側である米国側のマスター検索サーバ1で実行されるため、検索要求をユーザから受け付けた日本側のマスター検索サーバ1に処理負荷が集中する事態を低減できる。また、検索結果を送り返す前に、検索結果の一時的な統合、整理、整列が米国側のマスター検索サーバ1で実行されるため、通信負荷も低減することができる。
【0059】
また、検索システムを構成する全てのドメインのマスター検索サーバ1間において、検索結果の統合、整理、整列処理の内容をドメイン間の検索用に予め定め共通化しておくことにより、検索要求を受け付けた(他のドメインに対して検索要求を送信する)マスター検索サーバ1における処理負荷を低減することができる。具体的には、統合処理を省略することができる。
【0060】
また、前述したように、ユーザから検索要求を受け付けたマスター検索サーバ1(図1の場合、DomainTokyo)は、システムを構成するドメインの数だけスレッドを作成し、同じドメインに属する他の検索サーバ2に対して検索要求を送信すると共に、他のドメイン(図1の場合、DomainOsakaとDomainSanJose)のマスター検索サーバ1に検索要求を送信する。また、日本側のマスター検索サーバ1は、各時点までに取得された各ドメインの検索結果を対象として統合、整理、整列し、当該処理後の検索結果をユーザに提示する。すなわち、各時点で取得済みの検索結果から順番にユーザに提示する。これにより、検索結果の少なくとも一部が表示されるまでの時間を従来に比して短縮でき、検索結果が表示されるまでに要するユーザのストレスを低減することができる。
【0061】
なお、従来システムの場合には、全ての検索サーバからの検索結果が揃うのを待って検索結果を表示する。例えばユーザからの検索要求を受け付けた検索サーバ(図1の場合、東京の事業所)からの距離が近い事業所(図1の場合、大阪の事業所)と遠い事業所(SanJoseの事業所)とが存在する場合、従来システムにおいて検索要求を発した検索サーバは、全ての事業所からの検索結果が揃った後に、統合、整理、整列を行ってから検索結果を表示する。このため、検索結果が最終的にユーザに提示されるまで処理時間が長くなり易く、ユーザに不要なストレスを与えることがあった。
【0062】
しかし、前述の通り、実施例に係る検索システムの場合には、検索結果が受信されたドメインから順番に検索結果が提示される。このため、ユーザの待ち時間を短縮でき、ストレスを低減することができる。
【0063】
さらに、前述したように、実施例に係る検索システムの場合には、他のドメインから検索要求を受信したマスター検索サーバ1が、他のドメインからの検索要求に対し、検索結果の出力条件が最も厳しいフィルタ処理を適用するものを提案する。または、他のドメインから検索要求を受信したマスター検索サーバが、検索要求の送信元のドメインを識別し、識別されたドメインに対応するフィルタ処理を実行する。このため、意図せぬ情報が検索結果の一部として他のドメインに送信される事態を回避できる。
【0064】
特に、事業所が複数の国に分散して存在する場合、従来システムにおける検索結果には、国外への送信が禁止されている情報が意図せず含まれる可能性がある。しかし、実施例に係る検索システムの場合には、他国からの検索要求に対しては、最も厳しいフィルタ条件を適用するか、国別に最適化されたフィルタ条件を適用する。これにより、複数の国や地域で活動する事業者にとって安全性の高い検索システムを実現できる。
【符号の説明】
【0065】
1…マスター検索サーバ
2…スレーブ検索サーバ
3…検索処理部
4…検索結果統合処理部
5…フィルタ管理部
6…フィルタ処理部
7…ドメイン管理データベース
8…フィルタ管理データベース
【特許請求の範囲】
【請求項1】
ネットワーク経由で接続された複数の検索サーバで構成される検索システムにおいて、
前記複数の検索サーバは複数のドメインのいずれかに収容されるとき、
他のドメインから検索要求を受信してマスター検索サーバとして機能する検索サーバが、同じドメインに属する他の検索サーバに対して検索要求を転送する処理と、受信した検索要求に従って検索処理を実行する処理と、同じドメインに属する他の検索サーバから収集された検索結果を統合、整理、整列する処理と、当該処理後の検索結果をドメインの検索結果として前記他のドメインに送信する処理とを実行する
ことを特徴とする検索システム。
【請求項2】
請求項1に記載の検索システムにおいて、
前記検索結果を統合、整理、整列する処理の内容は、ドメイン間の検索用に予め定め共通化されている
ことを特徴とする検索システム。
【請求項3】
請求項1に記載の検索システムにおいて、
ユーザからの検索要求を受け付けたマスター検索サーバとして機能する検索サーバは、システムを構成するドメインの数だけスレッドを作成する処理と、同じドメインに属する他の検索サーバに対して検索要求を送信すると共に、他のドメインのマスター検索サーバに検索要求を送信する処理と、各時点までに取得された各ドメインの検索結果を対象として統合、整理、整列する処理と、当該処理後の検索結果をユーザに提示する処理とを実行する
ことを特徴とする検索システム。
【請求項4】
請求項3に記載の検索システムにおいて、
統合後の検索結果をユーザに提示する前記処理は、
各時点で存在する前記統合後の検索結果が表示される第1のタブ画面と、各ドメインに専用の検索結果が表示される第2のタブ画面とのそれぞれに対応する検索結果を表示すると共に、各ドメインに対応する検索結果の取得状態を識別可能に表示する
ことを特徴とする検索システム。
【請求項5】
請求項3に記載の検索システムにおいて、
ドメインの検索結果をユーザに提示する前記処理は、各ドメインのマスター検索サーバから当該ドメインの検索結果が取得される度、取得済みの検索結果の表示領域に、新たに取得したドメインの検索結果を追加的に表示する
ことを特徴とする検索システム。
【請求項6】
請求項1に記載の検索システムにおいて、
他のドメインから検索要求を受信した前記マスター検索サーバは、他のドメインからの検索要求に対し、検索結果の出力条件が最も厳しいフィルタ処理を適用する
ことを特徴とする検索システム。
【請求項7】
請求項1に記載の検索システムにおいて、
他のドメインから検索要求を受信した前記マスター検索サーバは、検索要求の送信元のドメインを識別する処理と、識別されたドメインに対応するフィルタ処理を実行する処理とを適用する
ことを特徴とする検索システム。
【請求項8】
ネットワーク経由で接続された複数の検索サーバで構成される検索システムにおいて、前記複数の検索サーバが複数のドメインのいずれかに収容されるとき、
他のドメインから検索要求を受信してマスター検索サーバとして機能する検索サーバに搭載されるコンピュータに、
同じドメインに属する他の検索サーバに対して検索要求を転送する処理と、
受信した検索要求に従って検索処理を実行する処理と、
同じドメインに属する他の検索サーバから収集された検索結果を統合、整理、整列する処理と、
当該処理後の検索結果をドメインの検索結果として前記他のドメインに送信する処理と
を実行させることを特徴とするプログラム。
【請求項9】
ネットワーク経由で接続された複数の検索サーバで構成される検索システムにおいて、前記複数の検索サーバが複数のドメインのいずれかに収容されるとき、
ユーザからの検索要求を受け付けたマスター検索サーバとして機能する検索サーバに搭載されるコンピュータに、
システムを構成するドメインの数だけスレッドを作成する処理と、
同じドメインに属する他の検索サーバに対して検索要求を送信すると共に、他のドメインのマスター検索サーバに検索要求を送信する処理と、
各時点までに取得された各ドメインの検索結果を対象として統合、整理、整列する処理と、
当該処理後の検索結果をユーザに提示する処理と
を実行させることを特徴とするプログラム。
【請求項1】
ネットワーク経由で接続された複数の検索サーバで構成される検索システムにおいて、
前記複数の検索サーバは複数のドメインのいずれかに収容されるとき、
他のドメインから検索要求を受信してマスター検索サーバとして機能する検索サーバが、同じドメインに属する他の検索サーバに対して検索要求を転送する処理と、受信した検索要求に従って検索処理を実行する処理と、同じドメインに属する他の検索サーバから収集された検索結果を統合、整理、整列する処理と、当該処理後の検索結果をドメインの検索結果として前記他のドメインに送信する処理とを実行する
ことを特徴とする検索システム。
【請求項2】
請求項1に記載の検索システムにおいて、
前記検索結果を統合、整理、整列する処理の内容は、ドメイン間の検索用に予め定め共通化されている
ことを特徴とする検索システム。
【請求項3】
請求項1に記載の検索システムにおいて、
ユーザからの検索要求を受け付けたマスター検索サーバとして機能する検索サーバは、システムを構成するドメインの数だけスレッドを作成する処理と、同じドメインに属する他の検索サーバに対して検索要求を送信すると共に、他のドメインのマスター検索サーバに検索要求を送信する処理と、各時点までに取得された各ドメインの検索結果を対象として統合、整理、整列する処理と、当該処理後の検索結果をユーザに提示する処理とを実行する
ことを特徴とする検索システム。
【請求項4】
請求項3に記載の検索システムにおいて、
統合後の検索結果をユーザに提示する前記処理は、
各時点で存在する前記統合後の検索結果が表示される第1のタブ画面と、各ドメインに専用の検索結果が表示される第2のタブ画面とのそれぞれに対応する検索結果を表示すると共に、各ドメインに対応する検索結果の取得状態を識別可能に表示する
ことを特徴とする検索システム。
【請求項5】
請求項3に記載の検索システムにおいて、
ドメインの検索結果をユーザに提示する前記処理は、各ドメインのマスター検索サーバから当該ドメインの検索結果が取得される度、取得済みの検索結果の表示領域に、新たに取得したドメインの検索結果を追加的に表示する
ことを特徴とする検索システム。
【請求項6】
請求項1に記載の検索システムにおいて、
他のドメインから検索要求を受信した前記マスター検索サーバは、他のドメインからの検索要求に対し、検索結果の出力条件が最も厳しいフィルタ処理を適用する
ことを特徴とする検索システム。
【請求項7】
請求項1に記載の検索システムにおいて、
他のドメインから検索要求を受信した前記マスター検索サーバは、検索要求の送信元のドメインを識別する処理と、識別されたドメインに対応するフィルタ処理を実行する処理とを適用する
ことを特徴とする検索システム。
【請求項8】
ネットワーク経由で接続された複数の検索サーバで構成される検索システムにおいて、前記複数の検索サーバが複数のドメインのいずれかに収容されるとき、
他のドメインから検索要求を受信してマスター検索サーバとして機能する検索サーバに搭載されるコンピュータに、
同じドメインに属する他の検索サーバに対して検索要求を転送する処理と、
受信した検索要求に従って検索処理を実行する処理と、
同じドメインに属する他の検索サーバから収集された検索結果を統合、整理、整列する処理と、
当該処理後の検索結果をドメインの検索結果として前記他のドメインに送信する処理と
を実行させることを特徴とするプログラム。
【請求項9】
ネットワーク経由で接続された複数の検索サーバで構成される検索システムにおいて、前記複数の検索サーバが複数のドメインのいずれかに収容されるとき、
ユーザからの検索要求を受け付けたマスター検索サーバとして機能する検索サーバに搭載されるコンピュータに、
システムを構成するドメインの数だけスレッドを作成する処理と、
同じドメインに属する他の検索サーバに対して検索要求を送信すると共に、他のドメインのマスター検索サーバに検索要求を送信する処理と、
各時点までに取得された各ドメインの検索結果を対象として統合、整理、整列する処理と、
当該処理後の検索結果をユーザに提示する処理と
を実行させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2011−204058(P2011−204058A)
【公開日】平成23年10月13日(2011.10.13)
【国際特許分類】
【出願番号】特願2010−71417(P2010−71417)
【出願日】平成22年3月26日(2010.3.26)
【出願人】(000233055)株式会社日立ソリューションズ (1,610)
【Fターム(参考)】
【公開日】平成23年10月13日(2011.10.13)
【国際特許分類】
【出願日】平成22年3月26日(2010.3.26)
【出願人】(000233055)株式会社日立ソリューションズ (1,610)
【Fターム(参考)】
[ Back to top ]