(57)【特許請求の範囲】
【請求項１】
検索処理を行なう複数の検索サーバと、該複数の検索サーバの動作を管理するための検索管理サーバとをそなえ、
該検索管理サーバが、
各検索サーバの使用可能メモリ量が推奨メモリ量を超える検索サーバ数を抽出し、当該検索サーバ数が検索対象テキストベースを該推奨メモリ量で処理できる分割数に達している場合には、当該分割数に基づいて前記テキストベースの分割数を決定し、前記検索サーバ数が該推奨メモリ量で処理できる分割数に達していない場合には、各検索サーバの使用可能メモリ量が最低メモリ量を超える検索サーバ数を抽出し、さらに、当該検索サーバ数が該検索対象テキストベースを該最低メモリ量で処理できる分割数に達している場合には、当該分割数に基づいて当該テキストベースの分割数を決定し、決定した分割数に従って当該テキストベースと該テキストベースについての関連情報とをそれぞれ分割し、該テキストベースの分割部分とその分割部分に対応する関連情報とを組にして前記複数の検索サーバのうちの一部または全部に割り当てるように構成されるとともに、
該複数の検索サーバが、それぞれ、該検索管理サーバによって割り当てられた該テキストベースの分割部分に対する情報検索を並列かつ独立に行なうように構成されていることを特徴とする、情報検索システム。
【請求項２】
該検索管理サーバが、
各検索サーバ毎に、検索を担当しているテキストベース名，そのテキストベースについて検索を担当している分割部分のデータ量，使用可能メモリ量を含む検索サーバ情報を管理する検索サーバ管理機能と、
検索対象テキストベース毎に、そのテキストベース名，そのテキストベース実体を格納するテキストファイル名，そのテキストベースについての関連情報を格納する関連ファイル名，使用すべき検索アルゴリズム情報を管理するテキストベース管理機能と、
テキストベースの検索を新たに始める際に、当該テキストベースのサイズ情報と該テキストベース管理機能で管理されている検索アルゴリズム情報と該検索サーバ管理機能で管理されている各検索サーバの使用可能メモリ量とに基づいて当該テキストベースの分割数を決定する分割数決定機能と、
該分割数決定機能により決定された分割数と前記の各検索サーバの使用可能メモリ量とに応じて、当該テキストベースとその関連情報とを、使用可能メモリ量の大きい検索サーバから順に割り当てる検索サーバ割当機能と、
該検索サーバ割当機能による割当結果に基づいて、当該テキストベースの分割部分とその関連情報とを割当先の検索サーバへロードするためのローディング指示を、該テキストベース管理機能で管理されているテキストファイル名，関連情報ファイル名および検索アルゴリズム情報とともに割当先の各検索サーバへ送るローディング指示機能とを有していることを特徴とする、請求項１記載の情報検索システム。
【請求項３】
各検索サーバが、
該検索管理サーバからのローディング指示を受けると、該ローディング指示に伴うテキストファイル名および関連情報ファイル名によってそれぞれ指定されるテキストベースの分割部分およびその関連情報を読み込むファイルアクセス機能と、
複数種類の検索アルゴリズムをそなえ、検索要求を受けると、該検索管理サーバからの検索アルゴリズム情報により指定される検索アルゴリズムを用いて、該ファイルアクセス機能により読み込んだテキストベースの分割部分に対する情報検索を行なう検索機能と、
該検索機能による検索結果を検索要求元に返す検索結果送出機能とを有していることを特徴とする、請求項２記載の情報検索システム。
【請求項４】
ユーザプロセスからの検索要求を受け付けるユーザ管理サーバをそなえ、
該ユーザ管理サーバが、ユーザプロセスからの検索要求に応じて、検索対象テキストベースに対する検索を行なっている検索サーバ群情報の照会を該検索管理サーバに行ない、その照会結果に基づいて実際の検索要求を各検索サーバに対して直接的に行なうように構成されていることを特徴とする、請求項１記載の情報検索システム。
【請求項５】
該ユーザ管理サーバが、
ユーザプロセスからの検索要求を受け付ける検索要求受付機能と、
該検索要求受付機能により受け付けた検索要求に応じて、当該検索要求の検索対象テキストベースに対する検索処理を割り当てられている検索サーバ群情報を該検索管理サーバに照会する検索サーバ照会機能と、
該検索サーバ照会機能により該検索管理サーバから得られた検索サーバ群情報に基づいて、当該検索要求の検索対象テキストベースに対する検索処理を割り当てられている各検索サーバに対して直接的に検索要求を送出する検索要求機能と、
該検索要求機能の検索要求に対する各検索サーバからの応答をマージし検索結果として検索要求元のユーザプロセスに転送する検索結果転送機能とを有していることを特徴とする、請求項４記載の情報検索システム。
【請求項６】
該検索管理サーバが、
検索サーバ毎に、検索を担当しているテキストベース名，そのテキストベースについて検索を担当している分割部分のデータ量，使用可能メモリ量を含む検索サーバ情報を管理する検索サーバ管理機能と、
検索対象テキストベースのローディング先である検索サーバ群に関するローディング情報を管理するローディング情報管理機能と、
検索対象テキストベース毎に、そのテキストベース名，そのテキストベース実体を格納するテキストファイル名，そのテキストベースについての関連情報を格納する関連ファイル名，使用すべき検索アルゴリズム情報を管理するテキストベース管理機能と、
該ユーザ管理サーバから受けた照会要求の検索対象テキストベースが未だロードされていない場合、当該テキストベースのサイズ情報と該テキストベース管理機能で管理されている検索アルゴリズム情報と該検索サーバ管理機能で管理されている各検索サーバの使用可能メモリ量とに基づいて当該テキストベースの分割数を決定する分割数決定機能と、
該分割数決定機能により決定された分割数と前記の各検索サーバの使用可能メモリ量とに応じて、当該テキストベースとその関連情報とを、使用可能メモリ量の大きい検索サーバから順に割り当てる検索サーバ割当機能と、
該検索サーバ割当機能による割当結果に基づいて、当該テキストベースの分割部分とその関連情報とを割当先の検索サーバへロードするためのローディング指示を、該テキストベース管理機能により得られるテキストファイル名および関連情報ファイル名とともに割当先の各検索サーバへ送るローディング指示機能と、
該検索サーバ割当機能により当該テキストベースを割り当てられた検索サーバ群に関するローディング情報を、検索サーバ群情報として該ユーザ管理サーバへ転送するローディング情報転送機能とを有していることを特徴とする、請求項５記載の情報検索システム。
【請求項７】
該分割数決定機能により決定された分割数分の検索サーバを該検索サーバ割当機能により確保できない場合には、該分割数決定機能により決定された当該テキストベースの分割数を見直し、その分割数に応じて該検索サーバ割当機能，該ローディング指示機能および該ローディング情報転送機能による処理を行なうことをことを特徴とする、請求項６記載の情報検索システム。
【請求項８】
該ユーザ管理サーバから受けた照会要求の検索対象テキストベースが既にロードされている場合、該ローディング情報転送機能が、該ローディング情報管理機能で管理されている当該検索対象テキストベースについてのローディング情報を、検索サーバ群情報として該ユーザ管理サーバへ転送することを特徴とする、請求項６または請求項７に記載の情報検索システム。
【請求項９】
該ユーザ管理サーバから受けた照会要求の検索対象テキストベースが既にロードされている場合、該分割数決定機能が、当該テキストベースのサイズ情報と該テキストベース管理機能で管理されている検索アルゴリズム情報と該検索サーバ管理機能で管理されている各検索サーバの使用可能メモリ量とに基づいて当該テキストベースの分割数を決定し、
該複数の検索サーバの中から所定値よりも使用可能メモリ量の大きい検索サーバを該分割数決定機能により決定された分割数だけ確保できる場合、該検索サーバ割当機能が、前記所定値よりも使用可能メモリ量の大きい検索サーバを当該分割数だけ選択して当該テキストベースとその関連情報とを割り当て、該ローディング指示機能が、該検索サーバ割当機能による割当結果に基づいて、当該テキストベースの分割部分とその関連情報とを割当先の検索サーバへロードするためのローディング指示を、該テキストベース管理機能により得られるテキストファイル名，関連情報ファイル名および検索アルゴリズム情報とともに割当先の各検索サーバへ送り、該ローディング情報転送機能が、該検索サーバ割当機能により当該テキストベースを割り当てられた検索サーバ群に関するローディング情報を、検索サーバ群情報として該ユーザ管理サーバへ転送する一方、
該複数の検索サーバの中から前記所定値よりも使用可能メモリ量の大きい検索サーバを該分割数決定機能により決定された分割数だけ確保できない場合、該ローディング情報転送機能が、該ローディング情報管理機能で管理されている当該検索対象テキストベースについてのローディング情報を、検索サーバ群情報として該ユーザ管理サーバへ転送することを特徴とする、請求項６または請求項７に記載の情報検索システム。
【発明の詳細な説明】
【０００１】
（目次）
発明の属する技術分野
従来の技術
発明が解決しようとする課題
課題を解決するための手段（図１）
発明の実施の形態
（ａ）情報検索システム全体の構成説明（図２〜図１０）
（ｂ）ユーザ管理サーバの動作説明（図１１〜図１４）
（ｃ）検索管理サーバの動作説明（図１５〜図１９）
（ｄ）検索サーバの動作説明（図２０）
発明の効果
【０００２】
【発明の属する技術分野】
本発明は、情報検索システムに関し、特に、ファイルシステムなどの各種データベースにおいて所望の情報を高速に検索する、情報検索システムに関する。
【０００３】
【従来の技術】
周知のように、情報検索システムにおける情報検索処理は、計算機の資源〔ＣＰＵ（中央処理装置），メモリ，Ｉ／Ｏ（入出力装置）など〕を大量に使用（専有）して行なわれるため、計算機の負荷が非常に重くなり、検索速度が低下してしまう場合がある。
【０００４】
そこで、従来の情報検索システムでは、情報検索専用のハードウェアなどを付加したりして計算機の負荷を軽減することによって、検索速度の向上を図っている。
【０００５】
【発明が解決しようとする課題】
しかしながら、上述のように情報検索専用のハードウェアを付加した場合でも、検索対象となるデータベース（例えば、新聞や特許文書などのテキスト文書を保持するテキストベース）が大規模になると、その検索能力の限界から、やはり、検索速度は低下してしまう。また、このように情報検索専用のハードウェアを付加することは、コストの面でも非常に不利である。
【０００６】
さらに、一般に従来の情報検索システムは、基本的に逐次システム、つまり、テキストベース内の情報と検索すべき情報との比較・判定処理を逐次に行なうことによって検索を行なうシステムであるため、例えば、複数のユーザが同時にシステムを利用して、複数のテキストベースを検索しなければならない場合などには、検索速度が大幅に低下してしまうという課題もある。
【０００７】
本発明は、このような課題に鑑み創案されたもので、検索対象テキストベースを分割し、各分割部分に対する情報検索をそれぞれ複数の検索サーバが並列かつ独立に行なうことによって、複数のテキストベースを同時に検索する場合でも、特別なハードウェアを必要とせずに、且つ、そのテキストベースの大きさにも影響されずに高速に情報検索を行なえるようにした、情報検索システムを提供することを目的とする。
【０００８】
【課題を解決するための手段】
図１は本発明の原理ブロック図で、この図１において、１は検索処理を行なう複数の検索サーバ、２は各検索サーバ１の動作を管理するための検索管理サーバ、３は各検索サーバ１による検索処理対象となる検索対象テキストベースである。
【０００９】
そして、この場合、検索管理サーバ２は、検索対象テキストベース３とこのテキストベース３についての関連情報とをそれぞれ分割し、テキストベース３の分割部分３１とその分割部分３１に対応する関連情報とを組にして各検索サーバ１のうちの一部または全部に割り当てるように構成され、各検索サーバ１は、それぞれ、検索管理サーバ２によって割り当てられたテキストベース３の分割部分３１に対する情報検索を並列かつ独立に行なうように構成される。
【００１０】
具体的に、上述の検索管理サーバ２は、以下のような各機能を有して構成される。
（１ａ）各検索サーバ１毎に、検索を担当しているテキストベース名とそのテキストベース３について検索を担当している分割部分３１のデータ量とを含む検索サーバ情報を管理する検索サーバ管理機能。
【００１１】
（２ａ）検索対象テキストベース３毎に、そのテキストベース名，そのテキストベース実体を格納するテキストファイル名，そのテキストベース３についての関連情報を格納する関連ファイル名を管理するテキストベース管理機能。
（３ａ）テキストベース３の検索を新たに始める際に、テキストベース３のサイズ情報と上記（１ａ）の検索サーバ管理機能で管理されている検索サーバ情報から得られる各検索サーバ１の負荷状況とに基づいてテキストベース３の分割数を決定する分割数決定機能。
【００１２】
（４ａ）上記（３ａ）の分割数決定機能により決定された分割数と各検索サーバ１の負荷状況とに応じて、テキストベース３とその関連情報とを、各検索サーバ１のうち負荷の軽い検索サーバ１から順に割り当てる検索サーバ割当機能。
（５ａ）上記（４ａ）の検索サーバ割当機能による割当結果に基づいて、テキストベース３の分割部分３１とその関連情報とを割当先の検索サーバ１へロードするためのローディング指示を、上記（２ａ）のテキストベース管理機能で管理されているテキストファイル名および関連情報ファイル名とともに割当先の検索サーバ１へ送るローディング指示機能。
【００１３】
一方、各検索サーバ１は、以下のような各機能を有して構成される。
（１ｂ）検索管理サーバ２からのローディング指示を受けると、このローディング指示に伴うテキストファイル名および関連情報ファイル名によってそれぞれ指定されるテキストベース３の分割部分３１およびその関連情報を読み込むファイルアクセス機能。
【００１４】
（２ｂ）検索要求を受けると、上記（１ｂ）のファイルアクセス機能により読み込んだテキストベース３の分割部分３１に対する情報検索を行なう検索機能。
（３ｂ）上記（２ｂ）の検索機能による検索結果を検索要求元に返す検索結果送出機能。
なお、上述の検索管理サーバ２は、以下の各機能を有して構成してもよい。
【００１５】
（１ｃ）各検索サーバ１毎に、検索を担当しているテキストベース名，そのテキストベース３について検索を担当している分割部分３１のデータ量，使用可能メモリ量を含む検索サーバ情報を管理する検索サーバ管理機能。
（２ｃ）検索対象テキストベース３毎に、そのテキストベース名，そのテキストベース実体を格納するテキストファイル名，そのテキストベース３についての関連情報を格納する関連ファイル名，使用すべき検索アルゴリズム情報を管理するテキストベース管理機能。
【００１６】
（３ｃ）テキストベース３の検索を新たに始める際に、テキストベース３のサイズ情報と上記（２ｃ）のテキストベース管理機能で管理されている検索アルゴリズム情報と上記（１ｃ）の検索サーバ管理機能で管理されている各検索サーバ１の使用可能メモリ量とに基づいてテキストベース３の分割数を決定する分割数決定機能。
【００１７】
（４ｃ）上記（３ｃ）の分割数決定機能により決定された分割数と前記の各検索サーバ１の使用可能メモリ量とに応じて、テキストベース３とその関連情報とを、各検索サーバ１のうち使用可能メモリ量の大きい検索サーバ１から順に割り当てる検索サーバ割当機能。
（５ｃ）上記（４ｃ）の検索サーバ割当機能による割当結果に基づいて、テキストベース３の分割部分３１とその関連情報とを割当先の検索サーバ１へロードするためのローディング指示を、上記（２ｃ）のテキストベース管理機能で管理されているテキストファイル名，関連情報ファイル名および検索アルゴリズム情報とともに割当先の各検索サーバ１へ送るローディング指示機能。
【００１８】
一方、この場合、各検索サーバ１は、以下のような各機能を有して構成される。
（１ｄ）検索管理サーバ２からのローディング指示を受けると、このローディング指示に伴うテキストファイル名および関連情報ファイル名によってそれぞれ指定されるテキストベース３の分割部分３１およびその関連情報を読み込むファイルアクセス機能。
【００１９】
（２ｄ）複数種類の検索アルゴリズムをそなえ、検索要求を受けると、検索管理サーバ２からの検索アルゴリズム情報により指定される検索アルゴリズムを用いて、上記（１ｄ）のファイルアクセス機能により読み込んだテキストベース３の分割部分３１に対する情報検索を行なう検索機能。
（３ｄ）上記（２ｄ）の検索機能による検索結果を検索要求元に返す検索結果送出機能。
【００２０】
また、図１に示す情報検索システムは、ユーザプロセスからの検索要求を受け付けるユーザ管理サーバをそなえ、このユーザ管理サーバが、ユーザプロセスからの検索要求に応じて、検索対象テキストベース３に対する検索を行なっている検索サーバ群情報の照会を検索管理サーバ２に行ない、その照会結果に基づいて実際の検索要求を各検索サーバ１に対して直接的に行なうように構成してもよい。
【００２１】
そして、この場合、上述のユーザ管理サーバは、以下のような各機能を有して構成される。
（１ｅ）ユーザプロセスからの検索要求を受け付ける検索要求受付機能。
（２ｅ）上記（１ｅ）の検索要求受付機能により受け付けた検索要求に応じて、検索要求の検索対象テキストベース３に対する検索処理を割り当てられている検索サーバ群情報を検索管理サーバ２に照会する検索サーバ照会機能。
【００２２】
（３ｅ）上記（２ｅ）の検索サーバ照会機能により検索管理サーバ２から得られた検索サーバ群情報に基づいて、検索要求の検索対象テキストベース３に対する検索処理を割り当てられている各検索サーバ１に対して直接的に検索要求を送出する検索要求機能。
（４ｅ）上記（３ｅ）の検索要求機能の検索要求に対する各検索サーバ１からの応答をマージし検索結果として検索要求元のユーザプロセスに転送する検索結果転送機能。
【００２３】
また、この場合、検索管理サーバ２は、以下のような各機能を有して構成される。
（１ｆ）検索サーバ１毎に、検索を担当しているテキストベース名とそのテキストベース３について検索を担当している分割部分３１のデータ量とを含む検索サーバ情報を管理する検索サーバ管理機能。
【００２４】
（２ｆ）検索対象テキストベース３のローディング先である検索サーバ群に関するローディング情報を管理するローディング情報管理機能。
（３ｆ）検索対象テキストベース３毎に、そのテキストベース名，そのテキストベース実体を格納するテキストファイル名，そのテキストベース３についての関連情報を格納する関連ファイル名を管理するテキストベース管理機能。
【００２５】
（４ｆ）ユーザ管理サーバから受けた照会要求の検索対象テキストベース３が未だロードされていない場合、そのテキストベース３のサイズ情報と上記（１ｆ）の検索サーバ管理機能で管理されている検索サーバ情報から得られる各検索サーバ１の負荷状況とに基づいてテキストベース３の分割数を決定する分割数決定機能。
【００２６】
（５ｆ）上記（４ｆ）の分割数決定機能により決定された分割数と前記の各検索サーバ１の負荷状況とに応じて、テキストベース３とその関連情報とを、負荷の軽い検索サーバ１から順に割り当てる検索サーバ割当機能。
（６ｆ）上記（５ｆ）の検索サーバ割当機能による割当結果に基づいて、テキストベース３の分割部分３１とその関連情報とを割当先の検索サーバ１へロードするためのローディング指示を、上記（３ｆ）のテキストベース管理機能により得られるテキストファイル名および関連情報ファイル名とともに割当先の各検索サーバ１へ送るローディング指示機能。
【００２７】
（７ｆ）上記（５ｆ）の検索サーバ割当機能によりテキストベース３を割り当てられた検索サーバ群に関するローディング情報を、検索サーバ群情報としてユーザ管理サーバへ転送するローディング情報転送機能。
なお、このとき上記（４ｆ）の分割数決定機能により決定された分割数分の検索サーバ１を上記（５ｆ）の検索サーバ割当機能により確保できない場合には、上記（４ｆ）の分割数決定機能により決定されたテキストベース３の分割数を見直し、その分割数に応じて上記（５ｆ）の検索サーバ割当機能，上記（６ｆ）のローディング指示機能および上記（７ｆ）のローディング情報転送機能による処理が行なわれる。
【００２８】
また、上述のユーザ管理サーバから受けた照会要求の検索対象テキストベース３が既にロードされている場合には、上記（７ｆ）のローディング情報転送機能によって、上記（２ｆ）のローディング情報管理機能で管理されている検索対象テキストベース３についてのローディング情報が、検索サーバ群情報としてユーザ管理サーバへ転送される。
【００２９】
さらに、上述のようにユーザ管理サーバから受けた照会要求の検索対象テキストベース３が既にロードされている場合、検索管理サーバ２では、次のような処理を行なうようにしてもよい。
すなわち、上記（４ｆ）の分割数決定機能により、テキストベース３のサイズ情報と上記（１ｆ）の検索サーバ管理機能で管理されている検索サーバ情報から得られる各検索サーバ１の負荷状況とに基づいてテキストベース３の分割数を決定し、各検索サーバ１の中から所定値よりも負荷の軽い検索サーバ１を上記（４ｆ）の分割数決定機能により決定された分割数だけ確保できる場合、上記（５ｆ）の検索サーバ割当機能により、前記所定値よりも負荷の軽い検索サーバ１を分割数だけ選択してテキストベース３とその関連情報とを割り当てる。
【００３０】
そして、前記（５ａ）のローディング指示機能により、上記（５ｆ）の検索サーバ割当機能による割当結果に基づいて、テキストベース３の分割部分（Ａ０〜Ａｎ）とその関連情報とを割当先の検索サーバ１へロードするためのローディング指示を、上記（３ｆ）のテキストベース管理機能により得られるテキストファイル名および関連情報ファイル名とともに割当先の各検索サーバ１へ送り、上記（７ｆ）のローディング情報転送機能によって、上記（５ｆ）の検索サーバ割当機能によりテキストベース３を割り当てられた検索サーバ群に関するローディング情報を、検索サーバ群情報としてユーザ管理サーバへ転送する。
【００３１】
一方、各検索サーバ１の中から前記所定値よりも負荷の軽い検索サーバ１を上記（４ｆ）の分割数決定機能により決定された分割数だけ確保できない場合は、上記（７ｆ）のローディング情報転送機能により、上記（２ｆ）のローディング情報管理機能で管理されている検索対象テキストベース３についてのローディング情報を、検索サーバ群情報としてユーザ管理サーバへ転送する。
【００３２】
このため、この場合の各検索サーバ１は、以下のような各機能を有して構成される。
（１ｇ）検索管理サーバ２からのローディング指示を受けると、ローディング指示に伴うテキストファイル名および関連情報ファイル名によってそれぞれ指定されるテキストベース３の分割部分３１およびその関連情報を読み込むファイルアクセス機能。
【００３３】
（２ｇ）ユーザ管理サーバから検索要求を受けると、上記（１ｇ）のファイルアクセス機能により読み込んだテキストベース３の分割部分３１に対する情報検索を行なう検索機能。
（３ｇ）上記（２ｇ）の検索機能による検索結果をユーザ管理サーバに返す検索結果送出機能。
【００３４】
また、上述の検索管理サーバ２は、以下のような各機能を有して構成してもよい。
（１ｈ）検索サーバ１毎に、検索を担当しているテキストベース名，そのテキストベース３について検索を担当している分割部分３１のデータ量，使用可能メモリ量を含む検索サーバ情報を管理する検索サーバ管理機能。
【００３５】
（２ｈ）検索対象テキストベース３のローディング先である検索サーバ群に関するローディング情報を管理するローディング情報管理機能。
（３ｈ）検索対象テキストベース３毎に、そのテキストベース名，そのテキストベース実体を格納するテキストファイル名，そのテキストベース３についての関連情報を格納する関連ファイル名，使用すべき検索アルゴリズム情報を管理するテキストベース管理機能。
【００３６】
（４ｈ）ユーザ管理サーバから受けた照会要求の検索対象テキストベース３が未だロードされていない場合、テキストベース３のサイズ情報と上記（３ｈ）のテキストベース管理機能で管理されている検索アルゴリズム情報と上記（１ｈ）の検索サーバ管理機能で管理されている各検索サーバ１の使用可能メモリ量とに基づいてテキストベース３の分割数を決定する分割数決定機能。
【００３７】
（５ｈ）上記（４ｈ）の分割数決定機能により決定された分割数と各検索サーバ１の使用可能メモリ量とに応じて、テキストベース３とその関連情報とを、使用可能メモリ量の大きい検索サーバ１から順に割り当てる検索サーバ割当機能。
（６ｈ）上記（５ｈ）の検索サーバ割当機能による割当結果に基づいて、テキストベース３の分割部分３１とその関連情報とを割当先の検索サーバ１へロードするためのローディング指示を、上記（３ｈ）のテキストベース管理機能により得られるテキストファイル名および関連情報ファイル名とともに割当先の各検索サーバ１へ送るローディング指示機能。
【００３８】
（７ｈ）上記（５ｈ）の検索サーバ割当機能によりテキストベース３を割り当てられた検索サーバ群に関するローディング情報を、検索サーバ群情報としてユーザ管理サーバへ転送するローディング情報転送機能。
なお、この場合も、上記（４ｈ）の分割数決定機能により決定された分割数分の検索サーバ１を上記（５ｈ）の検索サーバ割当機能により確保できない場合には、上記（４ｈ）の分割数決定機能により決定されたテキストベース３の分割数を見直し、その分割数に応じて上記（５ｈ）の検索サーバ割当機能，上記（６ｈ）のローディング指示機能および上記（７ｈ）のローディング情報転送機能による処理が行なわれる。
【００３９】
また、ユーザ管理サーバから受けた照会要求の検索対象テキストベースが既にロードされている場合は、上記（７ｈ）のローディング情報転送機能により、上記（２ｈ）のローディング情報管理機能で管理されている検索対象テキストベース３についてのローディング情報が、検索サーバ群情報としてユーザ管理サーバへ転送される。
【００４０】
なお、上述のようにユーザ管理サーバから受けた照会要求の検索対象テキストベース３が既にロードされている場合、この検索管理サーバ２では、次のような処理を行なうようにしてもよい。
すなわち、上記（４ｈ）の分割数決定機能により、テキストベース３のサイズ情報と上記（３ｈ）のテキストベース管理機能で管理されている検索アルゴリズム情報と上記（１ｈ）の検索サーバ管理機能で管理されている各検索サーバ１の使用可能メモリ量とに基づいてテキストベース３の分割数を決定する。
【００４１】
そして、各検索サーバ１の中から所定値よりも使用可能メモリ量の大きい検索サーバ１を上記（４ｈ）の分割数決定機能により決定された分割数だけ確保できる場合、上記（１ｈ）の検索サーバ割当機能が、前記所定値よりも使用可能メモリ量の大きい検索サーバ１を分割数だけ選択してテキストベース３とその関連情報とを割り当て、上記（６ｈ）のローディング指示機能によって、上記（１ｈ）の検索サーバ割当機能による割当結果に基づいて、テキストベース３の分割部分３１とその関連情報とを割当先の検索サーバ１へロードするためのローディング指示を、上記（３ｈ）のテキストベース管理機能により得られるテキストファイル名，関連情報ファイル名および検索アルゴリズム情報とともに割当先の各検索サーバ１へ送り、上記（７ｈ）のローディング情報転送機能が、上記（１ｈ）の検索サーバ割当機能によりテキストベース３を割り当てられた検索サーバ群に関するローディング情報を、検索サーバ群情報としてユーザ管理サーバへ転送する。
【００４２】
一方、複数の検索サーバ１の中から前記所定値よりも使用可能メモリ量の大きい検索サーバ１を上記（４ｈ）の分割数決定機能により決定された分割数だけ確保できない場合、上記（７ｈ）のローディング情報転送機能により、上記（２ｈ）のローディング情報管理機能で管理されている検索対象テキストベース３についてのローディング情報を、検索サーバ群情報としてユーザ管理サーバへ転送する。
【００４３】
なお、この場合、検索サーバ１は、以下のような各機能を有して構成される。
（１ｉ）検索管理サーバ２からのローディング指示を受けると、ローディング指示に伴うテキストファイル名および関連情報ファイル名によってそれぞれ指定されるテキストベース３の分割部分３１およびその関連情報を読み込むファイルアクセス機能。
【００４４】
（２ｉ）複数種類の検索アルゴリズムをそなえ、ユーザ管理サーバから検索要求を受けると、検索管理サーバ２からの検索アルゴリズム情報により指定される検索アルゴリズムを用いて、上記（１ｉ）のファイルアクセス機能により読み込んだテキストベース３の分割部分３１に対する情報検索を行なう検索機能。
（３ｉ）上記（２ｉ）の検索機能による検索結果をユーザ管理サーバに返す検索結果送出機能。
【００４５】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
（ａ）情報検索システム全体の構成説明
図２は本発明の一実施形態としての情報検索システムの構成を示すブロック図で、この図２において、４はユーザ管理サーバ、５は検索管理サーバ、６は検索サーバ、７は複数のテキストベース（ＴＢ）８を保持するファイルシステム（データベース）である。
【００４６】
なお、この図２に示す情報検索システムは、各サーバ（ユーザ管理サーバ４，検索管理サーバ５，検索サーバ６）が、それぞれ複数のＰＥ(Processor Element) として分散構築されていることを想定しているが、これらの各サーバのうちいくつかのサーバが同一のＰＥとして構築される場合もある。また、各サーバは、それぞれこの図２に示す数以上存在してもよい。
【００４７】
ここで、各ユーザ管理サーバ４は、システムの利用者（ユーザ）を統括して管理し、ファイルシステム７に保持されているテキストベース８に対するユーザからの検索要求に応じて、各検索サーバ６に検索要求を出すものであるが、本実施形態では、それぞれＷＡＩＳ(Wide Area Information Server)プロトコルなどの通信プロトコルに従ってクライアントプロセス（ユーザプロセス）から送信されてくる検索要求を受け付け、受け付けた検索要求に応じて、テキストベース８に対する検索を行なっている検索サーバ（群）６の情報を、後述する検索管理サーバ５に照会して獲得し、獲得した照会結果に基づいて実際の検索要求を各検索サーバ６に対して直接的に行なうように構成されている。
【００４８】
また、検索管理サーバ５は、各検索サーバ６の動作を管理するためのもので、ここでは、ファイルシステム７に保持されている検索対象のテキストベース８と、そのテキストベース８についての関連データ（後述するインデックス情報など）とをそれぞれ分割し、その分割部分（分割テキストベース）８１とそれぞれに対応する関連データとを組にして各検索サーバ６のうちの一部または全部に割り当てるように構成されている。
【００４９】
例えば、図２では、この検索管理サーバ５により、テキストベース８とそのテキストベース８についての関連データとがそれぞれ分割され、その分割部分８１とこれらの分割部分８１に対応する関連データとが各検索サーバ６に割り当てられることを表している。
さらに、各検索サーバ６は、それぞれ、テキストベース８に対する情報検索を実際に行なうもので、ここでは、図９により後述するような複数種類の検索エンジン（検索アルゴリズム）６１−１〜６１−ｍ（ｍは自然数）をそなえ、上述の検索管理サーバ５によって割り当てられた分割部分８１に対する情報検索が、検索管理サーバ５により指定される検索エンジン６１−１〜６１−ｍのいずれかを用いて、並列かつ独立に行なわれるように構成されている。
【００５０】
図３は上述の各ユーザ管理サーバ４の詳細構成を示すブロック図で、この図３に示すように、各ユーザ管理サーバ４は、それぞれ、システムを利用するユーザ毎に作成されるユーザ固有情報テーブル４１，外部命令パケット送受信機能４２，ユーザ管理サーバ命令解析部４３，ユーザ固有情報登録・更新・照会機能４４，検索サーバ照会機能４５，検索要求機能４６及び検索マッチデータ回復機能４７を有して構成される。
【００５１】
ここで、各ユーザ固有情報テーブル４１は、それぞれ、ユーザ名，アクセス（検索対象）テキストベース名，アクセス識別子（ＡＤ：Access Descriptor)などの情報をユーザ毎に管理するためのもので、例えば図４に示すように、ユーザ名(User name) ４１Ａ，ユーザ端末の収容位置などを示すユーザアドレス(User address)４１Ｂ，ＡＤポインタ（*AD pointer)４１Ｃ，マッチポイントテーブルポインタ（*Match point tp)４１Ｄなどの各種の固有情報を格納するリスト構造となっている。
【００５２】
なお、ＡＤポインタ４１Ｃは、検索対象のテキストベース８毎に作成される検索サーバリスト４１１の先頭アドレスを指すポインタで、新たに作成される検索サーバリスト４１１の先頭アドレスを既に作成された検索サーバリスト４１１の次リスト参照用ポインタ（*next ptr)４１１ａに順次格納してリンクさせてゆくことにより、このＡＤポインタ４１Ｃから全ての検索サーバリスト４１１を参照できるように管理されている。
【００５３】
また、マッチポイントテーブルポインタ４１Ｄは、検索条件（検索すべきキーワードなど）毎に作成される検索条件リスト４１２の先頭アドレスを指すポインタで、新たに作成される検索条件リスト４１２の先頭アドレスを既に作成された検索条件リスト４１２の次リスト参照用ポインタ（*next ptr)４１２ａに順次格納してリンクさせてゆくとともに、検索条件にマッチしたデータのアドレス情報を格納するマッチポイントテーブル４１３の先頭アドレスをそれぞれ対応する検索条件リスト４１２のテーブルポインタ(*table ptr)に格納してリンクさせることにより、このマッチポイントテーブルポインタ４１Ｄから全ての検索条件リスト４１２，マッチポイントテーブル４１３を参照できるように管理されている。
【００５４】
一方、図３において、外部命令パケット送受信機能（検索要求受付機能）４２は、クライアント（ユーザ）プロセスなどの外部との通信の際に遣り取りされる命令パケットを送受信して、ユーザプロセスから命令パケットとして送信されてくる検索要求を受け付けるものであり、ユーザ管理サーバ命令解析部４３は、この外部命令パケット送受信機能４２を通じて遣り取りされる命令パケットから検索要求などの各種の命令を解析するものである。
【００５５】
さらに、ユーザ固有情報登録・更新・照会機能４４は、このユーザ管理サーバ命令解析部４３での解析結果に応じて、ユーザ固有情報テーブル４１の作成，ユーザ固有情報テーブル４１内の各種情報の登録，更新，照会などを行なうものである。
また、検索サーバ照会機能４５は、外部命令パケット送受信機能４２，ユーザ管理サーバ命令解析部４３を通じて受け付けられたユーザからの検索要求に応じて、検索要求されたテキストベース（群）８に対する検索処理を割り当てられている検索サーバ群情報（検索サーバ６のＩＤ群など）を検索管理サーバ５に照会するもので、この検索サーバ照会機能４３により、ユーザの指定した検索対象のテキストベース８がどの検索サーバ６に保持されているかという情報（検索サーバ群情報）を獲得できるようになっている。
【００５６】
さらに、検索要求機能４６は、この検索サーバ照会機能４５により検索管理サーバ５から得られた検索サーバ群情報に基づいて、検索要求の出ているテキストベース８に対する検索処理を割り当てられている各検索サーバ６に対して直接的に検索要求を送出するものであり、この検索要求機能４６の検索要求に応じた各検索サーバ６による検索結果（各検索サーバ６でのアドレス情報）は、マッチポイントデータとしてマッチポイントテーブル４１３に格納されるようになっている。
【００５７】
検索マッチデータ回復機能４７は、外部命令パケット送受信機能４２，ユーザ管理サーバ命令解析部４３を通じて受け付けられたユーザからの検索マッチデータ回復要求に応じて、各検索サーバ６から読み出されたデータ（ユーザ固有情報テーブル４１内のマッチポイントテーブル４１３のマッチポイントデータに対応するデータ）をマージして、外部命令パケット送受信機能４２を通じて検索要求元のユーザプロセスに転送するものである。
【００５８】
次に、図５は上述の検索管理サーバ５の詳細構成を示すブロック図で、この図５に示すように、検索管理サーバ５は、テキストベース８毎に作成されるテキストベース（ＴＢ）管理テーブル５１，アクセス識別子（ＡＤ）管理テーブル５２，各検索サーバ６毎に作成される検索サーバ情報テーブル５３，検索管理サーバ命令解析部５４，テーブル更新機能５５，アクセス識別子（ＡＤ）割当機能５６，データ分割数決定機能５７，検索サーバ割当機能５８及びローディング指示機能５９を有して構成され、基本的に、この検索管理サーバ５は、各テーブル５１〜５３に基づいて動作するようになっている。
【００５９】
ここで、各ＴＢ管理テーブル（テキストベース管理機能）５１は、それぞれ、複数のテキストベース８毎に、テキストベース名とその原データ及び関連データ（インデックス情報など）を管理するもので、後述するように各検索サーバ６に対してテキストベース８の分割部分８１のローディング指示を出す際に使用される。
【００６０】
具体的に、各ＴＢ管理テーブル５１には、例えば図６に示すように、それぞれテキストベース名，そのテキストベース８の分割部分８１を保持するテキストファイル名（１〜ｎ：ｎはテキストベース８の分割数），そのサイズ情報（１〜ｎ），アクセスユーザ数，検索サーバＩＤ群，そのテキストベース８についてのインデックスなどの関連データを格納する関連ファイル名（１〜ｎ），そのサイズ情報（１〜ｎ），テキストベース８毎に使用すべき検索エンジン（使用検索アルゴリズム）６１−１〜６１−ｍなどを格納するリスト構造になっている。
【００６１】
なお、アクセスユーザ数は現在そのテキストベース８を用いて検索を行なっている総ユーザ数、検索サーバＩＤ群はこのテキストベースの検索を担当している検索サーバ６のＩＤ群である。
一方、ＡＤ管理テーブル（ローディング情報管理機能）５２は、例えば図７に示すように、ＡＤ毎に、対応する参照ユーザ数，テキストベース名，検索対象テキストベース８をローディング（保持）している検索サーバ（群）６に関するローディング情報（検索サーバ６のＩＤ群など）を管理するものであり、検索サーバ情報テーブル（検索サーバ管理機能）５３は、例えば図８に示すように、検索サーバ６のＩＤ，検索ユーザ数，総検索テキストベース量，使用可能メモリ量，検索を担当しているテキストベース名，そのテキストベース８について検索を担当している分割部分８１のデータ量などを含む検索サーバ情報を管理するもので、これらの各種情報に基づいて、各検索サーバ６の残りメモリ量（又は負荷状況）などを判断できるようになっている。
【００６２】
なお、検索ユーザ数はその検索サーバ６を用いて検索を行なっているユーザ数、総検索テキストベース量はその検索サーバ６で現在検索を担当しているテキストベース量の合計、使用可能メモリ量はテキストベース８の割当／解放に伴って増減する検索サーバ６の残りメモリ量である。
さらに、図５において、検索管理サーバ命令解析部５４は、外部との通信の際に遣り取りされる命令パケットから各種の命令を解析するものであり、テーブル更新機能５５は、上述のＴＢ管理テーブル５１，ＡＤ管理テーブル５２及び検索サーバ情報テーブル５３の各種情報に対する更新などを行なうものであり、ＡＤ割当機能５６は、ＴＢ管理テーブル５１，検索サーバ情報テーブル５３で管理されている各種の情報に基づいて、ＡＤ管理テーブル５２のＡＤに対応する情報の割当／獲得などを行なうもので、例えば、ユーザ管理サーバ４から新たなテキストベース８に対する照会要求を受けると、新たなＡＤを割り当てるとともに、ＡＤ管理テーブル５２にそのＡＤについての領域を獲得して各種パラメータ（図７参照）を設定するものである。
【００６３】
また、データ分割数決定機能５７は、ユーザ管理サーバ４から受けた照会要求の検索対象テキストベース８が未だロードされていない場合、そのテキストベース８のサイズ情報と、ＴＢ管理テーブル５１で管理されている使用検索アルゴリズム情報と、検索サーバ情報テーブル５３で管理されている各検索サーバ６の使用可能メモリ量とに基づいてテキストベース８の分割数を決定するものでり、検索サーバ割当機能５８は、このデータ分割数決定機能５７により決定された分割数と各検索サーバ６の使用可能メモリ量（又は、負荷状況）とに応じて、テキストベース８とその関連データとを、使用可能メモリ量の大きい検索サーバ６（又は、負荷状況の軽い検索サーバ６）から順に割り当てるものである。
【００６４】
さらに、ローディング指示機能５９は、この検索サーバ割当機能５８による割当結果に基づいて、テキストベース８の分割部分とその関連データとを割当先の検索サーバ６へロードするためのローディング指示を、ＴＢ管理テーブル５１により得られるテキストファイル名および関連ファイル名とともに割当先の各検索サーバ６へ送るものであるが、本実施形態では、検索対象テキストベース８の分割部分８１を割り当てられた検索サーバ（群）６に関するローディング情報を、実際に分割部分８１に対する検索を行なう検索サーバ群情報としてユーザ管理サーバ４へ転送するローディング情報転送機能も兼ねている。
【００６５】
つまり、この検索管理サーバ５は、例えば、ユーザ管理サーバ４から照会要求のあったテキストベース（ユーザが検索要求した検索対象テキストベース）８がその時点で未だ検索サーバ６にロードされていない場合は、そのテキストベース８の大きさ，使用検索アルゴリズム情報，各検索サーバ６の使用可能メモリ量（又は、負荷状況）などに応じて、テキストベース８の分割数を決定し、この分割数に基づいて、各検索サーバ６の中から必要な数の検索サーバ６を選択して、各検索サーバ６に、それぞれが担当する部分（検索対象テキストベース８の分割部分８１）のみをロードさせたのち、そのローディング情報（検索を割り当てられた検索サーバ６のＩＤなど）を照会元のユーザ管理サーバ４に返すようになっているのである。
【００６６】
なお、この検索管理サーバ５は、上述のようにデータ分割数決定機能５７により決定された分割数分の検索サーバ６を、検索サーバ割当機能５８により確保できない場合には、後述するように、データ分割数決定機能５７により決定されたテキストベース８の分割数を見直し、見直された分割数に応じて、再度、検索サーバ割当機能５８，ローディング指示機能５９による処理が行なわれるようになっている。
【００６７】
また、本実施形態では、ユーザの検索要求した検索対象テキストベース８が検索サーバ６に既にロードされている場合は、ローディング指示機能５９により、ＡＤ管理テーブル５２に既に登録され管理されている検索対象テキストベース８についてのローディング情報が検索サーバ群情報としてユーザ管理サーバ４へ転送されるようになっているが、検索対象テキストベース８が既にロードされている場合は、後述するように、所定値よりも使用可能メモリ量の大きい（又は、所定値よりも負荷の軽い）検索サーバ６を確保できれば、確保した他の検索サーバ６にも検索対象テキストベース８を割り当てるようにしてもよい。
【００６８】
次に、図９は上述の各検索サーバ６の詳細構成を示すブロック図で、この図９に示すように、各検索サーバ６は、それぞれ、図２により前述したように複数種類の検索エンジン６１−１〜６１−ｍをそなえるほか、検索サーバ命令解析部６２，ファイルアクセス機能６３，ＡＤ毎に作成されるテキストベース／インデックス(TB/Index)管理テーブル６４，各検索サーバ６の存在するＰＥのメモリ上にキャッシュされるテキスト領域６５，検索機能６６，検索マッチ情報格納機能６７，マッチポイントテーブル６８，検索結果送出機能６９及び原データ転送機能７０を有して構成される。
【００６９】
ここで、各検索エンジン６１−１〜６１−ｍは、それぞれ、情報検索の際に検索精度を重視するか検索速度を重視するかなどの条件に応じた検索方法（検索アルゴリズム）による検索を実行するもので、後述する検索機能６６により、情報検索の際に使用すべき検索エンジン６１−１〜６１−ｍが選択されて用いられるようになっている。
【００７０】
また、検索サーバ命令解析部６２は、ユーザ管理サーバ４から受信する命令パケットから行なうべき処理を解析するものであり、ファイルアクセス機能６３は、検索管理サーバ５からのローディング指示を受けると、そのローディング指示に伴なうテキストファイル名および関連ファイル名によってそれぞれ指定されるテキストファイル（テキストベース８の分割部分８１の実体を格納したファイル）７１′及びそのテキストファイル７１′の関連データ（インデックス情報など）が格納された関連ファイル７２′をテキスト領域６５に読み込むものである。
【００７１】
さらに、各TB/Index管理テーブル６４は、それぞれ、上述のごとくファイルアクセス機能６３によりテキスト領域６５に格納されたテキストファイル７１′と関連ファイル７２′とのテキスト領域６５におけるアドレス情報や、検索サーバ６の使用可能メモリ量（残りメモリ容量），情報検索時に使用すべき検索エンジン６１−１〜６１−ｍなどの情報を管理するものである。
【００７２】
例えば、このTB/Index管理テーブル６４には、それぞれ、図１０に示すように、テキストベースポインタ(*TB ptr) ６４１，関連データポインタ(*con ptr)６４２を始め、テキストベース（ＴＢ）ファイル名，オープンしたテキストベースのファイル識別子（ＴＢ用file descriptor)，関連ファイル名，オープンした関連ファイルのファイル識別子（関連ファイル用ｆｄ），使用可能メモリ量，使用検索エンジンなどの各種情報がＡＤ（ＡＤ＃０，ＡＤ＃１，・・・）毎に格納されるようになっている。
【００７３】
そして、この場合も、例えば、テキストベースポインタ６４１に、読み込んだテキストファイル７１′の先頭アドレス（テキスト領域６５内の格納位置を示すアドレス情報）を格納し、関連データポインタ６４２に、読み込んだ関連ファイル７２′の先頭アドレス情報をそれぞれ格納することによって、各検索サーバ６５で自己が保持する全てのテキストファイル７１′と関連ファイル７２′についての情報を参照できるように管理される。
【００７４】
また、検索機能６６は、検索サーバ命令解析部６２を通じてユーザ管理サーバ４から検索要求を受けると、検索エンジン６１−１〜６１−ｍのうち、検索管理サーバ５からの検索アルゴリズム情報により指定される検索エンジンを用いて、ファイルアクセス機能６３によりテキスト領域６５に読み込んだテキストベース８の分割部分８１（テキストファイル７１′，関連ファイル７２′）に対する情報検索を行なうものである。
【００７５】
さらに、検索マッチ情報格納機能６７は、この検索機能６６による検索結果をマッチポイントテーブル６８に一旦格納させるもので、例えば、この場合は、キーワードなどの検索条件にマッチしたデータのテキスト領域６５における位置（アドレス情報）がマッチポイントデータとしてマッチポイントテーブル６８に格納されるようになっている。
【００７６】
また、検索結果送出機能６９は、検索マッチ情報格納機能６７により、マッチポイントテーブル６８に格納されたマッチポイントデータ（アドレス情報）を、検索対象テキストベース８に対する検索結果として検索要求元のユーザ管理サーバ４に返すものであり、原データ転送機能７０は、ユーザ管理サーバ４からのマッチデータ回復要求に応じて、このマッチデータ回復要求とともに送られてくるマッチポイントデータに対応するテキスト領域６５内の原データを取り出してユーザ管理サーバ４へ転送するものである。
【００７７】
つまり、各検索サーバ６は、それぞれ、ファイルアクセス機能６３により各自が検索担当するテキストベース８の分割部分８１のみをテキスト領域６５に読み込んで、検索機能６６によりその分割部分８１に対する情報検索を行なうことによって、検索対象テキストベース８の分割部分８１に対する情報検索を並列かつ独立に行なえるようになっている。
【００７８】
なお、以下に示す表１〜表３はそれぞれ上述のユーザ管理サーバ４，検索管理サーバ５，検索サーバ６間の通信時に付加されるパラメータ（通信プロトコル）の一例を示す表で、例えば、表１はユーザ管理サーバ４と検索管理サーバ５との間での通信プロトコルを示し、ユーザ管理サーバ４から検索管理サーバ５にテキストベース照会要求を出す場合は、パラメータとしてそのテキストベース名が付加され、この照会要求に対する検索管理サーバ５からの応答に、パラメータとしてＡＤ，その照会要求のあったテキストベース８を保持している検索サーバ（群）６のＩＤ（群）が付加されることを表している。
【００７９】
【表１】
0003842319.tif 000002
【００８０】
【表２】
0003842319.tif 000003
【００８１】
【表３】
0003842319.tif 000004
【００８２】
以下、上述のごとく構成された情報検索システムの動作について、ユーザ管理サーバ４，検索管理サーバ５，検索サーバ６ごとに詳述する。
（ｂ）ユーザ管理サーバ４の動作説明
まず、ユーザ管理サーバ４の動作について、図１１〜図１４に示す各フローチャート（ステップＳ１〜Ｓ１６）を用いて説明する。
【００８３】
例えば、ユーザプロセスからユーザ管理サーバ４に対して何らかの処理要求があったとする。すると、ユーザ管理サーバ４では、図１１に示すように、受け付けた要求が、検索対象テキストベース８のオープン処理，検索処理，検索マッチデータ回復処理（検索結果の転送処理）のいずれであるかがユーザ管理サーバ命令解析部４３（図３参照）で判定される（ステップＳ１〜Ｓ３）。
【００８４】
この判定の結果、ユーザプロセスからの要求が、例えばテキストベース８のオープン処理であった場合（ステップＳ１でＹＥＳと判定された場合）は、図１２に示すように、要求のあったユーザに対応するユーザ固有情報テーブル４１（図４参照）が既に作成されているかどうかが判定され（ステップＳ４）、作成されていない場合（ステップＳ４でＮＯと判定された場合）は、ユーザ固有情報登録・更新・照会機能４４により、そのユーザに対応するユーザ固有情報テーブル４１を新たに作成して、要求元のユーザ名，ユーザアドレス，検索するテキストベース名などを設定したのち（ステップＳ５）、検索サーバ照会機能４５により、ユーザから指定された検索対象テキストベース８のテキストベース名を付加したテキストベース（検索サーバ）照会要求を検索管理サーバ５に送出する（ステップＳ６）。
【００８５】
なお、要求のあったユーザに対応するユーザ固有情報テーブル４１が既に作成されていた場合は、そのユーザ固有情報テーブル４１に基づいて、同様に、テキストベース（検索サーバ）照会要求を検索管理サーバ５に送出する（ステップＳ４のＹＥＳルートからステップＳ６）。
その後、ユーザ管理サーバ４は、検索管理サーバ５からの応答を受信するまで処理を待機し（ステップＳ７のＮＯルート）、検索管理サーバ５からの応答を受信すると、ユーザ固有情報登録・更新・照会機能４４によって、ユーザ固有情報テーブル４１のＡＤポインタ４１Ｃが指すリスト領域に新しい検索条件リスト４１２を作成し、検索管理サーバ５からの応答に付加されているパラメータ（ＡＤ，検索サーバＩＤ群，テキストベース名など）をそのリスト４１２に書き込んで登録する（ステップＳ７のＹＥＳルートからステップＳ８）。
【００８６】
以上の処理が完了すると、ユーザ管理サーバ４は、要求のあったユーザに対してテキストベース８のオープン処理が完了した旨を通知したのち、次の要求に対する待受動作状態となる（ステップＳ９）。
次に、ユーザプロセスから検索処理が要求され、ユーザ管理サーバ命令解析部４３で受け付けた要求が検索処理であると判定されると（図１１のステップＳ２でＹＥＳと判定されると）、図１３に示すように、ユーザ管理サーバ４では、まず、要求元のユーザ名(User name) に該当するユーザ固有情報テーブル４１をユーザ固有情報登録・更新・照会機能４４により特定し、その項目（リスト４１１）からユーザが指定したテキストベース名に対応するＡＤを抽出したのち、検索要求機能４６により、このＡＤとともにリスト４１１で指定されている検索サーバのＩＤ（群）に対応する検索サーバ（例えば、検索サーバ６）に検索要求（検索コマンド）を送出する（ステップＳ１０）。
【００８７】
つまり、ユーザ管理サーバ４は、ユーザプロセスからの検索要求に応じて、検索対象テキストベース８に対する検索を行なっている検索サーバ群情報（検索サーバ６のＩＤ群など）の照会を検索管理サーバ５に行ない、その照会結果に基づいて、実際の検索要求を各検索サーバ６に直接的に行なう。なお、ユーザにより検索対象のテキストベース名が指定されていなかった場合は、そのユーザが保持している全てのＡＤに対応するテキストベース８が検索対象となる。
【００８８】
そして、ユーザ管理サーバ４は、検索要求を送出した全ての検索サーバ６からの応答を受信するまで処理を待機し（ステップＳ１１のＮＯルート）、全ての検索サーバ６からの応答を受信した時点で、ユーザ固有情報テーブル４１にリンクされるマッチポイントテーブル４１３（図４参照）を必要サイズ分だけ割り当てて、それぞれに受信したマッチポイントデータを書き込んだのち（ステップＳ１２）、要求元のユーザにマッチ数を返して、次の要求に対する待受動作状態となる（ステップＳ１３）。
【００８９】
次に、その後、ユーザプロセスから検索マッチデータ回復処理（検索結果の転送処理）が要求され、その旨がユーザ管理サーバ命令解析部４３で認識されると（図１１のステップＳ３でＹＥＳと判定されると）、図１４に示すように、ユーザ管理サーバ４は、まず、ユーザ固有情報登録・更新・照会機能４４によって、要求元のユーザ名から該当するユーザ固有情報テーブル４１を特定し、そのリスト４１２に格納されているマッチポイントテーブル４１３より、検索対象テキストベース８内でのアドレス（マッチポイントデータ）を抽出して検索サーバ６への転送要求メッセージを作成する。
【００９０】
その後、この転送要求メッセージは、検索サーバ群情報（検索サーバ６のＩＤ群）に基づいて、検索を行なった各検索サーバ６にＡＤとともに送出される（ステップＳ１４）。なお、ユーザにより転送要求のテキストベース名が指定されていなかった場合は、そのユーザが保持している全てのＡＤに対応するマッチポイントテーブル４１３のマッチポイントデータが転送処理対象となる。
【００９１】
そして、ユーザ管理サーバ４は、転送要求を出した全ての検索サーバ６からの応答を受信するまで処理を待機し（ステップＳ１５のＮＯルート）、全検索サーバ６からの応答を受信した時点で、ＡＤ毎に検索サーバ６から転送されてきたデータを検索マッチデータ回復機能４７により編集（マージ）して、これを外部命令パケット送受信機能４２により検索結果としてユーザに転送する（ステップＳ１５のＹＥＳルートからステップＳ１６）。
【００９２】
このように、上述のユーザ管理サーバ４では、ユーザプロセスからの検索要求に応じて、検索管理サーバ５に、検索対象のテキストベース８に対する情報検索を行なっている検索サーバ６に関する情報を照会することによって、常に、検索対象のテキストベース８を保持している検索サーバ６に実際の検索要求を直接行なうことができるので、ユーザプロセスからの検索要求に対して遅延なく、後述する各検索サーバ６に、検索対象テキストベース８に対する情報検索処理を実行させることができる。
【００９３】
（ｃ）検索管理サーバ５の動作説明
次に、以下では、検索管理サーバ５の動作について、図１５〜図１７に示す各フローチャート（ステップＳ２１〜Ｓ３９）を用いて説明する。
まず、検索管理サーバ５は、図１５に示すように、ユーザ管理サーバ４から検索テキストベースの照会要求があるまで待機状態となっている（ステップＳ２１のＮＯルート）。この状態で、例えば、図１２のステップＳ６により前述したように、ユーザ管理サーバ４からテキストベース８についての照会要求が送出されると、検索管理サーバ５では、この照会要求を受けて、照会要求のあったテキストベース８が既にＡＤ管理テーブル５２に存在している（登録されている）かどうかがＡＤ割当機能５６によって判定される（ステップＳ２１のＹＥＳルートからステップＳ２２）。
【００９４】
そして、照会要求のあったテキストベース８が既に登録され検索サーバ６にロードされている場合は、テーブル更新機能５５によりＡＤ管理テーブル５２の参照ユーザ数（図７参照）を１つ増やしたのち（ステップＳ２３）、既に登録されている対応するＡＤと検索サーバ群情報（検索サーバ６のＩＤ群など）とが照会要求元のユーザ管理サーバ４に返される（ステップＳ２４）。
【００９５】
つまり、この検索管理サーバ５は、照会要求のあった検索対象テキストベース８が既に検索サーバ６にロードされている場合は、検索対象テキストベース８を保持している検索サーバを新たに特定せずに、既にＡＤ管理テーブル５２に登録されている検索サーバ６に関する情報をユーザ管理サーバ４に転送するのである。従って、この場合、照会要求元のユーザ管理サーバ４が実際の検索要求を各検索サーバ６へ出すまでの処理時間が大幅に短縮される。
【００９６】
一方、照会要求のあったテキストベース８がロードされていない場合（ステップＳ２２でＮＯと判定された場合）は、データ分割数決定機能５７により、図１６に示すように、ＴＢ管理テーブル５１（図６参照）から該当するテキストベース８に関する情報を特定し、その実体を格納しているテキストファイル７１′のサイズ情報，各ＴＢ管理テーブル５１で管理されている使用検索アルゴリズム情報，各検索サーバ情報テーブル５３で管理されている各検索サーバ６の使用可能メモリ量に基づいて、検索に必要な総メモリ量“ａ”，検索サーバ６が余裕をもって情報検索を実行できる１ＰＥ当たりの推奨メモリ量“ｂ”，１ＰＥ当たりの残存メモリ量の最低ラインである最低メモリ量“ｃ”が算出される（ステップＳ２５，Ｓ２６）。
【００９７】
さらに、データ分割数決定機能５７では、上述のごとく算出された各メモリ量“ａ”，“ｂ”，“ｃ”を用いて、分割数“ｎＰＥ”，最小分割数“ｎＰＥmin ”が、それぞれ、（ａ＋ｂ−１）／ｂ，（ａ＋ｃ−１）／ｃなる演算により決定されるとともに（ステップＳ２７）、検索サーバ情報テーブル５３（図８参照）に基づいて、使用可能メモリ量が推奨メモリ量“ｂ”を超える検索サーバ数“ｄ”が抽出され（ステップＳ２８）、この検索サーバ数“ｄ”が分割数“ｎＰＥ”以上であるかどうかが判定される（ステップＳ２９）。
【００９８】
この結果、検索サーバ数“ｄ”が分割数“ｎＰＥ”以上であった場合（ステップＳ２９でＹＥＳと判定された場合）、つまり、上述のごとくデータ分割数決定機能５７により決定された分割数“ｎＰＥ”分の検索サーバ６を確保できる場合は、検索サーバ割当機能５８により、使用可能メモリ量が推奨メモリ量“ｂ”を超える“ｄ”個分の検索サーバ６から“ｎＰＥ”個分の検索サーバ６が抽出されるとともに、検索サーバ情報テーブル５３における各種の情報が、テーブル更新機能５５により以下のように更新される（ステップＳ２９のＹＥＳルートからステップＳ３０）。
【００９９】
・「検索ユーザ数」に１加算
・「総検索テキストベース量」に推奨メモリ量“ｂ”を加算
・「使用可能メモリ量」から推奨メモリ量“ｂ”を減算
・「検索テキストベース名」を登録
・「分割数」に“ｎＰＥ”を登録
・「データ量」に推奨メモリ量“ｂ”を登録
つまり、この検索管理サーバ５は、データ分割数決定機能５７により決定された検索対象テキストベース８の分割数“ｎＰＥ”と、各検索サーバ６の使用可能メモリ量とに応じて、検索サーバ割当機能５８により、テキストベース８の実体を格納しているテキストファイル７１′とその関連データを格納している関連ファイル７２′とを、使用可能メモリ量の大きい検索サーバ６から順に割り当てるようになっているのである。
【０１００】
従って、この場合、特定の検索サーバ６の負荷が大きくなり過ぎるようなことはなく、各検索サーバ６は、常に、最適な負荷状況で高速に情報検索処理を行なうことができる。
その後、検索管理サーバ５は、このような検索サーバ割当機能５８による割当結果に基づいて、例えば、検索対象テキストベース８の分割部分８１（テキストファイル７１′）と、関連ファイル７２′とを割当先の各検索サーバ６へ分散してロードさせるためのローディング指示を、ローディング指示機能５９により各検索サーバ６に送出する（ステップＳ３１）。
【０１０１】
そして、ＡＤ割当機能５６により、ＴＢ管理テーブル５１，検索サーバ情報テーブル５３に基づいて、ＡＤ管理テーブル５２に空き項目を１つ割り当て、参照ユーザ数に“１”，対応するテキストベース名に検索対象テキストベース８のファイル名，検索対象テキストベース８の分割部分８１を保持している各検索サーバ６のＩＤ群を設定したのち（ステップＳ３２）、対応するＡＤと各検索サーバ６のＩＤ群を照会要求元のユーザ管理サーバ４に応答して処理を終える（ステップＳ３３）。
【０１０２】
一方、検索サーバ数“ｄ”が分割数“ｎＰＥ”よりも小さかった場合（ステップＳ２９でＹＥＳと判定された場合）、つまり、分割数“ｎＰＥ”分の検索サーバを確保できない場合には、図１７に示すように、改めて、データ分割数決定機能５７により、使用可能メモリ量が最低メモリ量“ｃ”を超える検索サーバ（推奨メモリ量“ｂ”分のメモリ量は残っていないが最低限必要なメモリ量“ｃ”は残っている検索サーバ）の数“ｅ”を検索サーバ情報テーブル５３から抽出して、分割数“ｎＰＥ”を見直す（ステップＳ３４）。
【０１０３】
そして、上述のごとく抽出された検索サーバ数“ｅ”は、図１６のステップＳ２７において算出された最小分割数“ｎＰＥmin ”と比較され（ステップＳ３５）、ｅ＜ｎＰＥmin であった場合（ステップＳ３５でＮＯと判定された場合）、つまり、使用可能メモリ量（残りメモリ量）に多少余裕のある検索サーバ数“ｅ”が最小分割数“ｎＰＥmin ”より小さくなってしまった場合は、何らかの異常が発生したものとしてエラー(error) 情報が照会要求元のユーザ管理サーバ４へ送出される。
【０１０４】
一方、残りメモリ量に多少余裕のある検索サーバ数“ｅ”が最小分割数“ｎＰＥmin ”以上（ｅ≧ｎＰＥmin ）であった場合（ステップＳ３５でＹＥＳと判定された場合）は、検索サーバ数“ｅ”のうち、残りメモリ量の大きい検索サーバから最小分割数“ｎＰＥmin ”分だけ検索サーバを抽出して、検索サーバ割当機能５８により、それぞれに、検索対象テキストベース８の分割部分８１が割り当てられるとともに、テーブル更新機能５５により、検索サーバ情報テーブル５３における各種の情報が以下のように更新される（ステップＳ３６）。
【０１０５】
・「検索ユーザ数」に“１”加算
・「総検索テキストベース量」に最低メモリ量“ｃ”を加算
・「使用可能メモリ量」から最低メモリ量“ｃ”を減算
・「検索テキストベース名」を登録
・「分割数」に“ｎＰＥmin ”を登録
・「データ量」に最低メモリ量“ｃ”を登録
その後、検索管理サーバ５は、上述のごとく検索サーバ割当機能５８により検索対象テキストベース８の分割部分８１に対する検索を割り当てられた検索サーバに対して、検索対象テキストベース８の分割部分８１とその関連データとをロードするめのローディング指示が、ローディング指示機能５９によって、ＴＢ管理テーブル５１で管理されているテキストファイル名及び関連ファイル名とともに割当先の各検索サーバ６へ送られる（ステップＳ３７）。
【０１０６】
そして、検索管理サーバ５は、ＡＤ割当機能５６により、ＡＤ管理テーブル５２に空き項目を１つ割り当て、「参照ユーザ数」＝１，対応するテキストベース名，検索サーバＩＤ群（検索対象テキストベース８を割り当てられた検索サーバ（群）６に関するローディング情報）を設定したのち（ステップＳ３８）、ローディング指示機能（ローディング情報転送機能）５９により、この検索サーバＩＤ群とＡＤとを検索サーバ群情報として照会要求元のユーザ管理サーバ４に応答（転送）する（ステップＳ３９）。
【０１０７】
つまり、この検索管理サーバ５は、データ分割数決定機能５７により決定された分割数“ｎＰＥ”分の検索サーバを検索サーバ割当機能５８により確保できない場合、データ分割数決定機能５７により決定された検索対象テキストベース８の分割数“ｎＰＥ”を見直し、見直した分割数“ｎＰＥmin ”に応じて検索サーバ割当機能５８，ローディング指示機能（ローディング情報転送機能）５９による処理を行なうようになっているのである。
【０１０８】
従って、検索対象のテキストベース８のサイズが大きい場合でも、常に、各検索サーバ６にその使用可能メモリ量（残りメモリ量）を考慮したサイズのテキストベース８の分割部分８１を割り当てることができるので、テキストベース８のサイズが大きすぎるために大幅に検索速度が低下したり、検索不能になったりすることがない。
【０１０９】
なお、上述の検索管理サーバ５では、テキストベース８の分割部分８１とその関連データとが、検索対象のテキストベース８の分割数“ｎＰＥ”と各検索サーバ６の使用可能メモリ量とに応じて、使用可能メモリ量の大きい検索サーバ６から順に割り当てられているが、上述の分割数“ｎＰＥ”と各検索サーバの負荷状況とに応じて、負荷の軽い検索サーバから順に割り当てるようにしてもよい。
【０１１０】
（ｃ１）検索管理サーバ５の動作の変形例の説明
次に、以下では、上述の検索管理サーバ５の動作の変形例について、図１８，図１９に示す各フローチャート（ステップＳ４１〜Ｓ５３）を用いて説明する。
まず、図１８に示すように、この場合も、例えば、ユーザ管理サーバ４から検索対象テキストベース８の照会要求があると（ステップＳ４１でＹＥＳと判定されると）、検索管理サーバ５では、ＡＤ割当機能５６によって、ＡＤ管理テーブル５２に照会要求のあった検索対象テキストベース８が既に存在している（登録されている）かどうかが判定される（ステップＳ４２）。
【０１１１】
この結果、ＡＤ管理テーブル５２に検索対象テキストベース８が登録されておらず、検索サーバ６に検索対象テキストベース８が未だロードされていない場合（ステップＳ４２でＮＯと判定された場合）は、図１６，図１７により前述したステップＳ２５〜Ｓ３９と同様の処理が行なわれるが、既に検索対象テキストベース８がロードされている場合（ステップＳ４２でＹＥＳと判定された場合）は、図１９に示すように、データ分割数決定機能５７によってＴＢ管理テーブル５１からテキストベース８に関する情報が特定され、その中のテキストベース８の実体を格納しているファイルのサイズ情報より、情報検索に必要な総メモリ量“ａ”が算出される（ステップＳ４３）。
【０１１２】
さらに、データ分割数決定機能５７は、検索対象テキストベース８に対応するＴＢ管理テーブル５１の使用検索アルゴリズム情報に基づいて、１ＰＥ当たりの推奨メモリ量“ｂ”を算出し（ステップＳ４４）、検索対象テキストベース８の分割数“ｎＰＥ”を、ｎＰＥ＝（ａ＋ｂ−１）／ｂなる演算により算出する（ステップＳ４６）。
【０１１３】
一方、このとき検索サーバ割当機能５８では、検索サーバ情報テーブル５３から使用可能メモリ量が所定値（ここでは、推奨メモリ量“ｂ”の３倍）以上残っている検索サーバ数“ｄ”を抽出しており（ステップＳ４６）、この検索サーバ数“ｄ”と検索対象テキストベース８の分割数“ｎＰＥ”とを比較することによって検索サーバ数“ｄ”が分割数“ｎＰＥ”以上（ｄ≧ｎＰＥ）であるかが判定される（ステップＳ４７）。
【０１１４】
この結果、ｄ≧ｎＰＥであった場合、つまり、複数の検索サーバの中から推奨メモリ量“ｂ”の３倍よりも使用可能メモリ量の大きい検索サーバを分割数“ｎＰＥ”だけ確保できる場合は、検索サーバ割当機能５８が、検索サーバ数“ｄ”の中から“３×ｂ”よりも使用可能メモリ量の大きい検索サーバを分割数“ｎＰＥ”分だけ選択して、検索サーバ情報テーブル５３の各種の情報を以下のように更新することにより、検索対象テキストベース８とその関連データとが選択された各検索サーバ６に割り当てられるとともに、検索サーバ情報テーブル５３における各種の情報が、テーブル更新機能５５により以下のように更新される（ステップＳ４７のＹＥＳルートからステップＳ４８）。
【０１１５】
・「検索ユーザ数」に“１”加算
・「総検索テキストベース量」に推奨メモリ量“ｂ”を加算
・「使用可能メモリ量」から推奨メモリ量“ｂ”を減算
・「検索テキストベース名」を登録
・「分割数」に“ｎＰＥ”を登録
・「データ量」に推奨メモリ量“ｂ”を登録
さらに、検索管理サーバ５は、上述の検索サーバ割当機能５８による割当結果に基づいて、検索対象テキストベース８の分割部分８１とその関連データとを割当先の各検索サーバへロードするためのＴＢローディング指示を、ローディング指示機能５９により、ＴＢ管理テーブル５１で管理されているテキストファイル名，関連ファイル名及び使用検索アルゴリズム情報とともに割当先の各検索サーバへ送る（ステップＳ４９）。
【０１１６】
その後、検索管理サーバ５は、ＡＤ割当機能５６により、ＡＤ管理テーブル５２に空き項目を１つ割り当て、そこに、「参照ユーザ数」＝１，対応するテキストベース名，ローディング先の検索サーバＩＤ群などの各パラメータを設定したのち（ステップＳ５０）、ローディング指示機能（ローディング情報転送機能）５９により、この検索サーバＩＤ群やＡＤなどのテキストベース８を割り当てられた検索サーバ（群）６に関するローディング情報を、検索対象テキストベース８に対する情報検索を実際に行なう検索サーバ群情報としてユーザ管理サーバ４へ転送する（ステップＳ５１）。
【０１１７】
ところで、上述のステップＳ４７において、ｄ＜ｎＰＥであった場合、つまり、複数の検索サーバ６の中から推奨メモリ量“ｂ”の３倍よりも使用可能メモリ量の大きい検索サーバ６を分割数“ｎＰＥ”だけ確保できない場合は、ＡＤ割当機能５６によって、指定された（照会要求のあった）検索対象テキストベース８に対応するＡＤ管理テーブル５２の「参照ユーザ数」が更新（増加）される（ステップＳ４７のＮＯルートからステップＳ５２）。
【０１１８】
そして、既に登録済みでＡＤ管理テーブル５２で管理されているテキストベース８についてのローディング情報（既にテキストベース８をロードしている検索サーバ６のＩＤ群）が、そのままテキストベース８に対する情報検索を担当している検索サーバ群情報として、ローディング指示機能（ローディング情報転送機能）５９によりユーザ管理サーバ４へ転送される（ステップＳ５３）。
【０１１９】
このように、上述の検索管理サーバ５では、照会要求のあった検索対象テキストベース８が既にロードされている場合でも、各検索サーバ６の中から所定値（推奨メモリ量“ｂ”の３倍）よりも使用可能メモリ量の大きい検索サーバをテキストベース８の分割数“ｎＰＥ”だけ確保できれば、既にロードされているテキストベース８を、所定値よりも使用可能メモリ量の大きい他の検索サーバにも分散して割り当てるので、さらに検索対象のテキストベース８に対する情報検索処理を高速に行なうことができる。
【０１２０】
なお、この場合、既にロードされている検索対象テキストベース８は、上述のように所定値よりも使用可能メモリ量の大きい検索サーバに割り当てているが、所定値よりも負荷の軽い検索サーバに割り当てるようにしてもよい。
（ｄ）検索サーバ６の動作説明
次に、以下では、検索サーバ６の動作について、図２０に示すフローチャート（ステップＳ５５〜Ｓ６２）を用いて説明する。
【０１２１】
まず、各検索サーバ６では、図２０に示すように、外部から受け付けた要求が、検索管理サーバ５からのＴＢローディング指示であるか，ユーザ管理サーバ４からの検索要求あるいはマッチデータ回復要求（検索結果の転送要求）であるかが検索サーバ命令解析部６２で判定される（ステップＳ５５〜Ｓ５７）。
そして、例えば、受け付けた要求が検索管理サーバ５からのＴＢローディング指示であった場合（ステップＳ５５でＹＥＳと判定された場合）は、ファイルアクセス機能６３により、TB/Index管理テーブル６４（図１０参照）のＡＤに対応するリストに、このＴＢローディング指示に伴なって送られてくるテキストファイル名，関連ファイル名，使用可能メモリ量，使用検索エンジン（検索アルゴリズム情報）などが登録される（ステップＳ５８）。
【０１２２】
さらに、上述のごとくＴＢローディング指示を受けた検索サーバ６は、ファイルアクセス機能６３により、受け付けたＴＢローディング指示に伴うテキストファイル名及び関連ファイル名によってそれぞれ指定されるテキストファイル７１′及び関連ファイル７２′をオープンするとともに、使用可能メモリ量分のテキスト領域６５を確保（アロック：allocate）し、このテキスト領域６５にテキストファイル７１′及び関連ファイル７２′をロードする（ステップＳ５９）。
【０１２３】
その後、例えば、ユーザ管理サーバ４から上述のごとくロードした検索対象テキストベース８に対する検索要求があった場合（ステップＳ５５でＮＯと判定され且つステップＳ５６でＹＥＳと判定された場合）、この検索要求を受けた検索サーバ６では、検索機能６６が、TB/Index管理テーブル６４に登録されている検索エンジン６１−１〜６１−ｍ、つまり、検索管理サーバ５からの検索アルゴリズム情報により指定される検索エンジン６１−１〜６１−ｍを用いて、テキスト領域６５に読み込んだテキストベース８の分割部分８１に対して、ユーザから指示された検索コマンドでの情報検索を行なう（ステップＳ６０）。
【０１２４】
そして、この検索機能６６による検索結果（マッチデータのテキスト領域６５内でのアドレス情報）は、検索マッチ情報格納機能６７により、順次、マッチポイントテーブル６８に格納されてゆき、情報検索が終了した時点で、検索結果送出機能６９により、マッチポイントテーブル６８に格納されているマッチポイントデータ（アドレス情報）が検索結果として検索要求元のユーザ管理サーバ４に返される（ステップＳ６１）。
【０１２５】
さらに、検索サーバ６は、その後、例えばユーザ管理サーバ４から上述のごとく検索を行なったテキストベース８に対するマッチデータ回復要求を受けると（ステップＳ５５，Ｓ５６でＮＯと判定され且つステップＳ５７でＹＥＳと判定されると）、検索サーバは、原データ転送機能７０により、ＡＤにて特定されるテキストベース８に関してユーザから送られてくるマッチポイントデータ（アドレス情報）を基に、テキスト領域６５に読み込んだテキストベース８から該当する原データを取り出して、要求元のユーザ管理サーバ４に転送する（ステップＳ６２）。
【０１２６】
このように、各検索サーバ６は、検索管理サーバ５によって割り当てられた自己が担当するテキストベース８の分割部分８１に対してのみ情報検索を行なうので、テキストベース８に対する情報検索の並列・独立処理が容易に実現され、検索対象テキストベースに対する情報検索を極めて高速に行なうことができる。
また、この各検索サーバは、検索管理サーバ５からの検索アルゴリズム情報により指定される検索エンジン６１−１〜６１−ｍのいずれかを用いて、読み込んだテキストベース８の分割部分８１に対する情報検索を行なうので、検索対象のテキストベース８に最適な検索エンジンを検索エンジン６１−１〜６１−ｍから選択してテキストベース８に対する情報検索を行なうことができる。従って、例えば、情報検索の際に、検索精度を重視するか、検索速度を重視するかなどの検索条件に応じて、検索エンジン６１−１〜６１−ｍを選択して用いて情報検索処理を行なうことができ、情報検索処理の柔軟性にも大いに寄与する。
【０１２７】
以上のように、本実施形態における情報検索システムによれば、検索管理サーバ５が、検索対象テキストベース８とこのテキストベース８についての関連データとをそれぞれ分割して、各検索サーバ６のうちの一部または全部に割り当て、各検索サーバ６が、それぞれ、割り当てられたテキストベース８の分割部分８１に対する情報検索を並列かつ独立に行なうので、テキストベース８のサイズが大きくても、各検索サーバ６による情報検索処理の負荷は非常に軽くなる。
【０１２８】
従って、複数のユーザからの検索要求などにより複数のテキストベース８に対する情報検索を同時に行なう場合でも、特別なハードウェアを必要とせずに、極めて高速にその処理を行なうことができる。
なお、上述の情報検索システムでは、ユーザ管理サーバ４をそなえて、これらのユーザ管理サーバ４がユーザからの各種の要求を受け付けて、その要求に応じた処理を検索管理サーバ５，各検索サーバ６に要求することによって、情報検索処理が実行されるようになっているが、各ユーザ管理サーバ４は、システム構築上の必須用件ではなく、他のサーバからの要求、あるいはユーザからの直接の要求に応じて情報検索処理を実行するようにしてもよい。
【０１２９】
また、各検索サーバ６は、複数種類の検索エンジン６１−１〜６１−ｍを選択して用いるようになっているが、１種類の検索エンジンのみをそなえてこれを固定的に用いるようにしてもよいし、このような検索エンジンを用いずに検索機能６６が、直接、検索対象テキストベース８に対する情報検索を行なうようにしてもよい。
【０１３０】
【発明の効果】
以上詳述したように、本発明の情報検索システムによれば、検索管理サーバが、検索対象テキストベースとこのテキストベースについての関連情報とをそれぞれ分割して、複数の検索サーバのうちの一部または全部に割り当て、複数の検索サーバが、それぞれ、割り当てられたテキストベースの分割部分に対する情報検索を並列かつ独立に行なうので、検索対象テキストベースのサイズが大きくても、各検索サーバによる情報検索処理の負荷は非常に軽くなる。従って、複数のユーザからの検索要求などにより複数のテキストベースに対する情報検索を同時に行なう場合でも、特別なハードウェアを必要とせずに、極めて高速にその処理を行なうことができる。
【０１３１】
具体的に、このとき検索管理サーバは、テキストベースの分割数と各検索サーバの負荷状況とに応じて、テキストベースとその関連情報とを、負荷の軽い（使用可能メモリ量の大きい）検索サーバから順に割り当てるので、特定の検索サーバの負荷が大きくなり過ぎるようなことはなく、各検索サーバは、最適な負荷状況で高速に情報検索処理を行なうことができる。
【０１３２】
一方、各検索サーバは、検索管理サーバからのローディング指示に伴うテキストファイル名および関連情報ファイル名によってそれぞれ指定されるテキストベースの分割部分およびその関連情報を読み込んで情報検索を行なう、つまり、検索管理サーバに割り当てられた自己が担当するテキストベースの分割部分に対してのみ情報検索を行なうので、上述のような情報検索の並列・独立処理を容易に実現して、検索対象テキストベースに対する情報検索を極めて高速に行なうことができる。
【０１３３】
なお、各検索サーバは、検索管理サーバからの検索アルゴリズム情報により指定される検索アルゴリズムを用いて、読み込んだテキストベースの分割部分に対する情報検索を行なうこともできるので、検索対象のテキストベースに最適な検索アルゴリズムを選択してテキストベースに対する情報検索を行なうことができる。従って、例えば、情報検索の際に、検索精度を重視するか、検索速度を重視するかなどの検索条件に応じた検索処理を行なうことができ、情報検索処理の柔軟性にも大いに寄与する。
【０１３４】
また、ユーザプロセスからの検索要求を受け付けるユーザ管理サーバをそなえた場合、このユーザ管理サーバが、ユーザプロセスからの検索要求に応じて、検索管理サーバに、検索対象テキストベースに対する情報検索を行なっている検索サーバ群情報の照会することによって、常に、実際の検索要求を検索対象テキストベースを保持している検索サーバに直接的に行なうことができるので、ユーザプロセスからの検索要求に対して遅延なく情報検索処理を実行することができる。
【０１３５】
さらに、検索管理サーバは、検索対象テキストベースのサイズ情報と各検索サーバの負荷状況とに基づいて決定された分割数分の検索サーバを確保できない場合には、そのテキストベースの分割数を見直して、再度、各検索サーバへのテキストベースの割当処理などを行なうので、検索対象テキストベースのサイズが大きい場合でも、常に、各検索サーバにその使用可能メモリ量（又は、負荷状況）を考慮したサイズのテキストベース（分割部分）を割り当てることができる。従って、検索対象テキストベースのサイズが大きすぎるために大幅に検索速度が低下したり、検索不能になったりすることがない。
【０１３６】
また、検索管理サーバは、照会要求のあった検索対象テキストベースが既にロードされている場合、検索対象テキストベースについてのローディング情報（検索対象テキストベースを保持している検索サーバ群情報）を、照会要求元のユーザ管理サーバへ転送するので、新たに、検索対象テキストベースを保持している検索サーバを特定しなくてもよく、照会結果に基づいた実際の検索要求を各検索サーバへ出すまでの処理時間を大幅に短縮して高速化することができる。
【０１３７】
さらに、検索管理サーバは、照会要求のあった検索対象テキストベースが既にロードされている場合、複数の検索サーバの中から所定値よりも使用可能メモリ量の大きい（又は、負荷の軽い）検索サーバを検索対象テキストベースの分割数だけ確保できれば、ロードされている検索対象テキストベースを、確保した所定値よりも使用可能メモリ量の大きい（又は、負荷の軽い）検索サーバに分散して割り当てることもできるので、さらに各検索サーバによる情報検索処理を高速に行なうことができる。
【図面の簡単な説明】
【図１】本発明の原理ブロック図である。
【図２】本発明の一実施形態としての情報検索システムの構成を示すブロック図である。
【図３】本実施形態におけるユーザ管理サーバの詳細構成を示すブロック図である。
【図４】本実施形態におけるユーザ固有情報テーブルの一例を示す図である。
【図５】本実施形態における検索管理サーバの詳細構成を示すブロック図である。
【図６】本実施形態におけるテキストベース（ＴＢ）管理テーブルの一例を示す図である。
【図７】本実施形態におけるアクセス識別子（ＡＤ）管理テーブルの一例を示す図である。
【図８】本実施形態における検索サーバ情報テーブルの一例を示す図である。
【図９】本実施形態における検索サーバの詳細構成を示すブロック図である。
【図１０】本実施形態におけるテキストベース／インデックス(TB/Index)管理テーブルの一例を示す図である。
【図１１】本実施形態におけるユーザ管理サーバの動作を説明するためのフローチャートである。
【図１２】本実施形態におけるユーザ管理サーバの動作を説明するためのフローチャートである。
【図１３】本実施形態におけるユーザ管理サーバの動作を説明するためのフローチャートである。
【図１４】本実施形態におけるユーザ管理サーバの動作を説明するためのフローチャートである。
【図１５】本実施形態における検索管理サーバの動作を説明するためのフローチャートである。
【図１６】本実施形態における検索管理サーバの動作を説明するためのフローチャートである。
【図１７】本実施形態における検索管理サーバの動作を説明するためのフローチャートである。
【図１８】本実施形態における検索管理サーバの動作の変形例を説明するためのフローチャートである。
【図１９】本実施形態における検索管理サーバの動作の変形例を説明するためのフローチャートである。
【図２０】本実施形態における検索サーバの動作を説明するためのフローチャートである。
【符号の説明】
１，６  検索サーバ
２，５  検索管理サーバ
３，８  テキストベース
４  ユーザ管理サーバ
７  ファイルシステム（データベース）
３１，８１  分割部分
４１  ユーザ固有情報テーブル
４１Ａ  ユーザ名(User name)
４１Ｂ  ユーザアドレス(User address)
４１Ｃ  ＡＤポインタ（*AD pointer)
４１Ｄ  マッチポイントテーブルポインタ（*Match point tp)
４２  外部命令パケット送受信機能（検索要求受付機能，検索結果転送機能）
４３  ユーザ管理サーバ命令解析部
４４  ユーザ固有情報登録・更新・照会機能
４５  検索サーバ照会機能
４６  検索要求機能
４７  検索マッチデータ回復機能
５１  テキストベース（ＴＢ）管理テーブル（テキストベース管理機能）
５２  アクセス識別子（ＡＤ）管理テーブル（ローディング情報管理機能）
５３  検索サーバ情報テーブル（検索サーバ管理機能）
５４  検索管理サーバ命令解析部
５５  テーブル更新機能
５６  ＡＤ割当機能
５７  データ分割数決定機能
５８  検索サーバ割当機能
５９  ローディング指示機能
６１−１〜６１−ｍ  検索エンジン
６２  検索サーバ命令解析部
６３  ファイルアクセス機能
６４  テキストベース／インデックス(TB/Index)管理テーブル
６５  テキスト領域
６６  検索機能
６７  検索マッチ情報格納機能
６８  マッチポイントテーブル
６９  検索結果送出機能
７０  原データ転送機能
７１′  テキストファイル
７２′  関連ファイル
４１１  検索サーバリスト
４１１ａ，４１２ａ  次リスト参照用ポインタ(*next ptr)
４１２  検索条件リスト
４１３  マッチポイントテーブル
６４１  テキストベースポインタ(*TB ptr)
６４２  関連データポインタ(*con ptr)
【図１】
0003842319.tif 000005
【図２】
0003842319.tif 000006
【図３】
0003842319.tif 000007
【図４】
0003842319.tif 000008
【図５】
0003842319.tif 000009
【図６】
0003842319.tif 000010
【図７】
0003842319.tif 000011
【図８】
0003842319.tif 000012
【図９】
0003842319.tif 000013
【図１０】
0003842319.tif 000014
【図１１】
0003842319.tif 000015
【図１２】
0003842319.tif 000016
【図１３】
0003842319.tif 000017
【図１４】
0003842319.tif 000018
【図１５】
0003842319.tif 000019
【図１６】
0003842319.tif 000020
【図１７】
0003842319.tif 000021
【図１８】
0003842319.tif 000022
【図１９】
0003842319.tif 000023
【図２０】
0003842319.tif 000024