(57)【要約】      （修正有）【課題】データ量の増加に応じて検索サーバを増設した場合でも各検索サーバにおける検索処理時間をほぼ均等にし、必要最小限のコストで検索結果を取得すること。【解決手段】検索対象文書の登録処理として、  各ページ毎に格納された文書識別子の範囲とそのページのページ識別子を管理する文書識別子管理テーブルを作成し、各検索サーバが担当する文書識別子の範囲を管理する検索サーバ別検索範囲管理テーブルを作成し、検索対象文書の各検索サーバにおける検索処理として、前記検索サーバ別検索範囲管理テーブルを参照し、割り当てられた文書識別子の範囲を取得し、検索条件として指定された検索タームを構成する各インデクスキーについて、前記文書識別子管理テーブルを参照し、上記割り当てられた範囲の文書識別子を蓄積しているページ識別子を取得し、上記取得されたページ識別子で示されるページを参照することにより、検索処理を行なう。【選択図】  図１
2006134191.tif 000002
【特許請求の範囲】
【請求項１】
一つ以上の検索サーバを用いて、文書データベースに蓄積された文書の中から指定された検索条件に適合する文書を検索する文書検索方法において、
該文書に含まれる文字列に対するインデクスを作成するステップと、
上記作成されたインデクスを構成する所定の大きさの管理単位別に、各管理単位に格納される文書の範囲を管理するインデクス管理テーブルを作成するステップと、
各検索サーバで検索する文書の範囲である担当範囲を決定するステップと、
前記インデクス管理テーブルを参照し、上記決定された担当範囲を検索するためのインデクスの管理単位を特定するステップと、
上記特定された管理単位のインデクスを参照することにより、検索を実行するステップ
を有することを特徴とした文書検索方法。
【請求項２】
請求項１記載の文書検索方法において、
検索サーバ数の変更に関する要求を受け付けるステップと、
上記変更要求に基づき担当範囲を変更するステップ
を有することを特徴とした文書検索方法。
【請求項３】
請求項１乃至２のいずれかひとつに記載した文書検索方法において、
各検索サーバの処理能力を算出するステップと、
上記算出された処理能力に基づき各担当範囲を決定あるいは変更するステップ
を有することを特徴とした文書検索方法。
【請求項４】
請求項３記載の文書検索方法において、
各検索サーバの負荷を計測するステップと、
上記計測された各検索サーバの負荷に基づき利用可能な処理能力を算出するステップ
を有することを特徴とした文書検索方法。
【請求項５】
請求項３記載の文書検索方法において、
所定の条件に基づき利用可能な検索サーバの処理能力を算出するステップ
を有することを特徴とした文書検索方法。
【請求項６】
請求項１乃至５のいずれかひとつに記載の文書検索方法において、
各担当範囲を文字列単位に決定あるいは変更するステップ
を有することを特徴とした文書検索方法。
【請求項７】
請求項６記載の文書検索方法において、
２つ以上の文字列に対するインデクスを参照して検索を実行する際に、各インデクスに対する処理コストを比較するステップと、
上記比較の結果、処理コストの大きい文字列に設定された担当範囲を、全ての文字列における担当範囲として決定するステップ
を有することを特徴とした文書検索方法。
【請求項８】
一つ以上の検索サーバを用いて、文書データベースに蓄積された文書の中から指定された検索条件に適合する文書を検索する文書検索システムにおいて、
該文書に含まれる文字列に対するインデクスを作成する手段と、
上記作成されたインデクスを構成する所定の大きさの管理単位別に、各管理単位に格納される文書の範囲を管理するインデクス管理テーブルを作成する手段と、
各検索サーバで検索する文書の範囲である担当範囲を決定する手段と、
前記インデクス管理テーブルを参照し、上記決定された担当範囲を検索するためのインデクスの管理単位を抽出する手段と、
上記特定された管理単位のインデクスを参照することにより、検索を実行する手段
を有することを特徴とした文書検索システム。
【請求項９】
請求項8記載の文書検索システムにおいて、
検索サーバ数の変更に関する要求を受け付ける手段と、
上記変更要求に基づき担当範囲を変更する手段を有することを特徴とした文書検索システム。
【請求項１０】
請求項8乃至9のいずれかひとつに記載した文書検索システムにおいて、
各検索サーバの処理能力を算出する手段と、
上記算出された処理能力に基づき各担当範囲を決定あるいは変更する手段
を有することを特徴とした文書検索システム。
【請求項１１】
請求項10記載の文書検索システムにおいて、
各検索サーバの負荷を計測する手段と、
上記計測された各検索サーバの負荷に基づき利用可能な処理能力を算出する手段
を有することを特徴とした文書検索システム。
【請求項１２】
請求項１０記載の文書検索システムにおいて、
所定の条件に基づき利用可能な検索サーバの処理能力を算出する手段
を有することを特徴とした文書検索システム。
【請求項１３】
請求項８乃至１２のいずれかひとつに記載の文書検索システムにおいて、
各担当範囲を文字列単位に決定あるいは変更する手段
を有することを特徴とした文書検索システム。
【請求項１４】
請求項１３記載の文書検索システムにおいて、
２つ以上の文字列に対するインデクスを参照して検索を実行する際に、各インデクスに対する処理コストを比較する手段と、
上記比較の結果、処理コストの大きい文字列に設定された担当範囲を、全ての文字列における担当範囲として決定する手段
を有することを特徴とした文書検索システム。
【請求項１５】
一つ以上の検索サーバを用いて、文書データベースに蓄積された文書の中から指定された検索条件に適合する文書を検索する文書検索実行プログラムであって、該プログラムは、
該文書に含まれる文字列に対するインデクスを作成する手段と、
上記作成されたインデクスを構成する所定の大きさの管理単位別に、各管理単位に格納される文書の範囲を管理するインデクス管理テーブルを作成する手段と、
各検索サーバで検索する文書の範囲である担当範囲を決定する手段と、
前記インデクス管理テーブルを参照し、上記決定された担当範囲を検索するためのインデクスの管理単位を抽出する手段と、
上記特定された管理単位のインデクスを参照することにより、検索を実行する手段をコンピュータに実行させることを
特徴とした文書検索実行プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、蓄積された文書データを複数の計算機で並列に検索する文書検索方法並びにそのシステムに関し、特に検索処理を分担する計算機数の変更方法に関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータやインターネット等の普及に伴い、電子化文書が爆発的に増加しており、今後もさらに増大していくものと予想される。このような状況において、ユーザが所望する情報を含んだ文書を高速に検索したいという要求が高まってきている。
【０００３】
こうした要望に応える技術として、検索条件として指定された文字列（以下、検索タームと呼ぶ）を含む文書を探し出す全文検索技術が注目されている。
【０００４】
この全文検索技術としては、例えば、検索対象となる文書中に出現するｎ文字の長さの文字列（以下、n-gramと呼ぶ）の出現位置を該文書に付与された文書識別子と共に蓄積した文字列インデクスを作成しておき、検索条件として指定された検索タームを構成するn-gramの該検索ターム内での出現順序を、該当する文字列インデクスを参照することにより得られる検索対象文書内での出現順序と比較することにより、検索条件に適合する文書と判定する方法が特許文献１に開示されている。
【０００５】
特許文献１によれば、検索タームを構成するn-gramに対して作成された文字列インデクスを参照するだけで検索処理を行うことができるため、検索対象文書数によらず、高速に所望する文書を検索できる。
以上示した特許文献１を用いることにより、所望する情報を含んだ文書を高速に検索することができる。
データの増加に伴い検索サーバを追加する方法としては、既存のデータは移動せず、新規に追加されたデータを追加された検索サーバに割り当てるデータベース管理方法が、特許文献２に開示されている。
【０００６】
また、所定の論理的な単位であるバケット別にデータを予め分割管理しておくことにより、データの再配置を高速に実現するデータベース管理方法が特許文献３に開示されている。
【０００７】
【特許文献１】特開平８−１９４７１８号公報
【特許文献２】特開平９−２９３００６号公報
【特許文献３】特開２００１−１４２７５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、特許文献１を適用した文書検索システムを導入したとしても、検索対象文書の増加に応じて作成される文字列インデクスの容量も増加するため、次第に検索速度が低下するようになる。
【０００９】
このため、文書検索システムを複数の検索サーバを用いて構成することにより、検索サーバ1台あたりの検索対象文書数を削減する方法が採用される。
【００１０】
特許文献２に示したデータベース管理方法を用いて検索サーバを増設した場合、既存の検索サーバに蓄積されているデータは移動されない。したがって、既存の検索サーバによる検索処理時間は改善されないため、システム全体としての検索処理時間は改善されず、検索サーバ増設の目的を達成できない。すなわち、特許文献２の方法を適切に用いるためには、十分な検索処理時間が得られる状況で検索サーバを増設する必要があり、実運用上検索サーバ増設時期の判断が難しい。
【００１１】
また、特許文献３に示したデータベース管理方法を用いた場合には、全ての検索サーバに対してデータがほぼ均等に割り当てられることになるため、システム全体としての検索処理時間を改善することができる。しかし、予め検索サーバの増設を見込み、データを所定のバケット単位に管理しているため、同様に、文字列インデクスもバケット単位に管理する必要がある。このため、検索処理実行時には、バケット毎に文字列インデクスを参照して作成した第一の検索結果を作成し、全てのバケットにおいて第一の検索結果をマージして第二の検索結果を検索サーバ毎に作成する。そして、この第二の検索結果を全ての検索サーバに渡ってマージすることにより、最終的な検索結果を得ることになる。すなわち、検索結果のマージ処理を所定のバケット数に応じて行なう必要があり、検索処理におけるコストが大きくなってしまう課題がある。
【００１２】
本発明では、データ量の増加に応じて検索サーバを増設した場合でも各検索サーバにおける検索処理時間をほぼ均等にすることができ、必要最小限のコストで検索結果を取得することを可能とする文書検索方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
前記課題を解決するために、本発明では、一つ以上の検索サーバを用いて、文書データベースに蓄積された文書の中から指定された検索条件に適合する文書を検索する文書検索方法において、該文書に含まれる文字列に対するインデクスを作成するステップと、上記作成されたインデクスを構成する所定の大きさの管理単位別に、各管理単位に格納される文書の範囲を管理するインデクス管理テーブルを作成するステップと、各検索サーバで検索する文書の範囲である担当範囲を決定するステップと、前記インデクス管理テーブルを参照し、上記決定された担当範囲を検索するためのインデクスの管理単位を特定するステップと、上記特定された管理単位のインデクスを参照することにより、検索を実行するステップを有することを特徴とする。
【発明の効果】
【００１４】
以上説明したように、本発明では、管理単位別に格納された文書識別子の範囲を管理し、検索サーバ別の検索範囲を管理しておくことにより、各検索サーバは割り当てられた範囲の文書識別子を高速に取得することができるようになる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の第一の実施例について図１を用いて説明する。
【００１６】
本発明を適用した文書検索システムの第一例は、システム管理サーバ１００、検索サーバ１０１、磁気ディスク装置１０２、検索クライアント１０３、およびこれらを接続するネットワーク１０４から構成される。
【００１７】
以下、システム管理サーバ１００のシステム構成について説明する。
システム管理サーバ１００は、ディスプレイ１１０、キーボード１１１、中央演算処理装置（ＣＰＵ）１１２、フロッピディスクドライブ（ＦＤＤ）１１３、ネットワークボード（Ｅｔｈｅｒ）１１４、主メモリ１１５およびこれらを結ぶバス１１６から構成される。  ＦＤＤ１１３を介してフロッピディスク１１７に格納されている情報が、主メモリ１１５へ読み込まれ、ネットワーク１０４を介して磁気ディスク装置１０２へ格納される。
【００１８】
システム管理サーバ１００の主メモリ１１５には、システム制御プログラム１２０、登録制御プログラム１２１、検索制御プログラム１２２、検索サーバ管理制御プログラム１２３、テキスト抽出登録プログラム１３０、文字列インデクス作成プログラム１３１、文書識別子管理テーブル作成プログラム１３２、検索条件配送プログラム１３５、検索結果集約プログラム１３６、検索結果出力プログラム１３７および検索サーバ別検索範囲設定プログラム１３８が格納される共に、ワークエリア１４０が確保される。
【００１９】
システム制御プログラム１２０は登録制御プログラム１２１、検索制御プログラム１２２および検索サーバ管理制御プログラム１２３で構成される。
【００２０】
登録制御プログラム１２１はテキスト抽出登録プログラム１３０、文字列インデクス作成プログラム１３１および文書識別子管理テーブル作成プログラム１３２で構成される。
【００２１】
検索制御プログラム１２２は検索条件配送プログラム１３５、検索結果集約プログラム１３６および検索結果出力プログラム１３７で構成される。
【００２２】
検索サーバ管理制御プログラム１２３は検索サーバ別検索範囲設定プログラム１３８で構成される。
【００２３】
登録制御プログラム１２１、検索制御プログラム１２２および検索サーバ管理制御プログラム１２３は、キーボード１１１あるいはネットワーク１０４に接続された検索クライアント１０３からのユーザによる指示に応じてシステム制御プログラム１２０によって起動され、
それぞれテキスト抽出登録プログラム１３０、文字列インデクス作成プログラム１３１および文書識別子管理テーブル作成プログラム１３２の制御と、
検索条件配送プログラム１３５、検索結果集約プログラム１３６および検索結果出力プログラム１３７の制御と、検索サーバ別検索範囲設定プログラム１３８の制御を行なう。
以上が、システム管理サーバ１００のシステム構成である。
【００２４】
次に、検索サーバ１０１のシステム構成について説明する。
検索サーバ１０１は、中央演算処理（ＣＰＵ）１８０、ネットワークボード（Ｅｔｈｅｒ）１８１および主メモリ１８２およびこれらを結ぶバス１８３から構成される。
【００２５】
検索サーバ１０１の主メモリ１８２には、検索サーバ制御プログラム１５０、検索条件解析プログラム１５１、担当範囲取得プログラム１５２、担当ページ識別子取得プログラム１５３、ページ読込照合プログラム１５４および検索結果送信プログラム１５５が格納されると共に、ワークエリア１６０が確保される。
【００２６】
検索サーバ制御プログラム１５０は、検索条件解析プログラム１５１、担当範囲取得プログラム１５２、担当ページ識別子取得プログラム１５３、ページ読込照合プログラム１５４および検索結果送信プログラム１５５で構成される。
【００２７】
検索サーバ制御プログラム１５０は、ネットワーク１０４を介してシステム管理サーバより配送される検索実行のコマンドによって起動され、
検索条件解析プログラム１５１、担当範囲取得プログラム１５２、担当ページ識別子取得プログラム１５３、ページ読込照合プログラム１５４および検索結果送信プログラム１５５の制御を行なう。
以上が、検索サーバ１０１のシステム構成である。
【００２８】
磁気ディスク装置１０２は二次記憶装置の一つであり、テキスト１７０、文字列インデクス１７１、文書識別子管理テーブル１７２、検索サーバ別検索範囲管理テーブル１７３および検索サーバ管理テーブル１７４が格納される。以上が、本発明を適用した文書検索システムのシステム構成である。
【００２９】
なお、本実施例では、システム管理サーバ１００上のキーボード１１１あるいはネットワーク１０４に接続された検索クライアント１０３から入力されたコマンドにより、登録制御プログラム１２１、検索制御プログラム１２２、あるいは検索サーバ管理制御プログラム１２３が起動されるものとしたが、他の入力装置を介して入力されたコマンドあるいはイベントにより起動されるものであっても構わない。
【００３０】
また、これらのプログラムを磁気ディスク装置１０２、フロッピディスク１１７、あるいはＭＯ、ＣＤ−ＲＯＭ、ＤＶＤ等の記憶媒体（図１には示していない）に格納し、駆動装置を介してシステム管理サーバ１００上の主メモリ１１５や検索サーバ１０１の主メモリ１８２に読み込み、システム管理サーバ１００上のＣＰＵ１１２あるいは検索サーバ上のＣＰＵ１８０によって実行することも可能である。
【００３１】
また、これらのプログラムをネットワーク１０４を介してシステム管理サーバ１００の主メモリ１１５や検索サーバ１０１の主メモリ１８２に読み込み、システム管理サーバ１００上のＣＰＵ１１２あるいは検索サーバ上のＣＰＵ１８０によって実行することも可能である。
さらに、本実施例ではテキスト１７０、文字列インデクス１７１、文書識別子管理テーブル１７２、検索サーバ別検索範囲管理テーブル１７３および検索サーバ管理テーブル１７４を磁気ディスク装置１０２に格納するものとしたが、システム管理サーバ１００の主メモリ１１５や検索サーバ１０１の主メモリ１８２に格納されるものであってもよいし、あるいはフロッピディスク１１７、ＭＯ、ＣＤ−ＲＯＭ、ＤＶＤ等の記憶媒体（図１には示していない）に格納し、駆動装置を介してシステム管理サーバ１００の主メモリ１１５や検索サーバ１０１の主メモリ１８２に読み込み利用することも可能である。
【００３２】
また、システム管理サーバ１００のワークエリア１４０や検索サーバ１０１のワークエリア１６０は、それぞれシステム管理サーバ１００の主メモリ１１５および検索サーバ１０１の主メモリ１８２上に確保されるものとしたが、磁気ディスク装置１０２に確保されるものであってもよいし、フロッピディスク１１７、ＭＯ、ＣＤ−Ｒ、ＤＶＤ等の書き込み可能な記憶媒体（図１には示していない）に確保されるものであっても構わない。
【００３３】
また、本実施例では、システム管理サーバ１００、検索サーバ１０１および検索クライアント１０３は、物理的に異なるサーバを用いて構成されるものとしたが、同一のサーバであっても構わない。
【００３４】
また、本実施例では、システム管理サーバ１００、検索サーバ１０１、磁気ディスク装置１０２および検索クライアント１０３が同一のネットワーク１０４に接続されるものとしたが、物理的に異なるネットワークで接続されるものであっても構わない。
【００３５】
以下、本実施例における文書検索システムの処理手順について説明する。
まず、システム管理サーバ１００のシステム制御プログラム１２０の処理手順について、図２のＰＡＤ図を用いて説明する。
システム制御プログラム１２０は、キーボード１１１から入力されたコマンドの種類を解析する（ステップ２００）。
【００３６】
この結果が、登録実行のコマンドであると解析された場合には、登録制御プログラム１２１を起動し、登録実行のコマンドで指定された文書の登録処理を実行する（ステップ２１０）。
【００３７】
また、上記ステップ２００で、検索実行のコマンドであると解析された場合には、検索制御プログラム１２２を起動し、検索実行のコマンドで指定された検索条件に適合する文書の検索処理を実行する（ステップ２２０）。
【００３８】
また、前記ステップ２００で、検索サーバ管理実行のコマンドであると解析された場合には、検索サーバ管理プログラム１２３を起動し、検索サーバの管理を行なう（ステップ２３０）。
【００３９】
以上が、システム管理サーバ１００のシステム制御プログラム１２０の処理手順である。
次に、図２に示したステップ２１０でシステム制御プログラム１２０により起動される登録制御プログラム１２１の処理手順について、図３のＰＡＤ図を用いて説明する。
【００４０】
登録制御プログラム１２１は、まずコマンドで指定された文書を読み込み、ワークエリア１４０に格納する（ステップ３００）。
次に、テキスト抽出登録プログラム１３０を起動し、上記ステップ３００でワークエリア１４０に格納された文書からテキストを抽出しワークエリア１４０に格納すると共に、テキスト１７０として磁気ディスク装置１０２に格納する（ステップ３０１）。
【００４１】
次に、文字列インデクス作成プログラム１３１を起動し、上記ステップ３０１でワークエリア１４０に格納されたテキストに対する文字列インデクスを作成し、文字列インデクス１７１として磁気ディスク装置１０２に格納する（ステップ３０２）。
【００４２】
次に、文書識別子管理テーブル作成プログラム１３２を起動し、上記ステップ３０２で作成された文字列インデクス１７１の各ページ毎に、格納された文書識別子を取得し、そのページのページ識別子と共に磁気ディスク装置１０２上の文書識別子管理テーブル１７２に格納する（ステップ３０３）。以上が、登録制御プログラム１２１の処理手順である。
【００４３】
次に、図２に示したステップ２２０でシステム制御プログラム１２０により起動される検索制御プログラム１２２の処理手順について、図４のＰＡＤ図を用いて説明する。
【００４４】
検索制御プログラム１２２は、まず検索条件配送プログラム１３５を起動し、コマンドで指定された検索条件式を各検索サーバ１０１へ配送する（ステップ４００）。
図１に示した検索サーバ１０１は、一つしか記載していないが、このステップでは、複数個から構成されるサーバ１０１のいずれにも検索条件式を配送する。
次に、検索結果集約プログラム１３６を起動し、各検索サーバ１０１から返送された検索サーバ別の検索結果集合（以下、検索サーバ別検索結果集合と呼ぶ）を集約し、全検索結果集合としてワークエリア１４０に格納する（ステップ４０１）。
【００４５】
そして、検索結果出力プログラム１３７を起動し、上記ステップ４０１でワークエリア１４０に格納された全検索結果集合を出力する（ステップ４０２）。
以上が、検索制御プログラム１２２の処理手順である。
【００４６】
次に、図４に示したステップ４００で配送される検索条件式を受け、各検索サーバ１０１で起動される検索サーバ制御プログラム１５０の処理手順について、図５のＰＡＤ図を用いて説明する。
検索サーバ制御プログラム１５０は、まず検索条件解析プログラム１５１を起動し、前記図４に示したステップ４００でシステム管理サーバ１００より配送された検索条件式に含まれる検索タームを抽出し、ワークエリア１６０に格納する（ステップ５００）。
【００４７】
次に、担当範囲取得プログラム１５２を起動し、検索サーバ別検索範囲管理テーブル１７３から担当する文書識別子の範囲（以下、担当文書範囲と呼ぶ）を取得し、ワークエリア１６０に格納する（ステップ５０１）。
【００４８】
次に、担当ページ識別子取得プログラム１５３を起動し、前記ステップ５００で検索条件解析プログラム１５１によりワークエリア１６０に格納された検索タームと、
前記ステップ５０１で担当範囲取得プログラム１５２によりワークエリア１６０に格納された担当文書範囲に対応するページ（以下、担当ページと呼ぶ）のページ識別子を文書識別子管理テーブル１７２から取得し、ワークエリア１６０に格納する（ステップ５０２）。
【００４９】
次に、ページ読込照合プログラム１５４を起動し、上記ステップ５０２で担当ページ識別子取得プログラム１５３によりワークエリア１６０に格納された担当ページのページ識別子に対応する文字列インデクス１７１を参照することにより、検索条件に適合する文書の文書識別子を取得し、検索サーバ別検索結果集合としてワークエリア１６０に格納する（ステップ５０３）。
【００５０】
次に、検索結果送信プログラム１５５を起動し、上記ステップ５０３でワークエリア１６０に格納された検索サーバ別検索結果集合をシステム管理サーバへ送信する（ステップ５０４）。
以上が、各検索サーバ１０１で起動される検索サーバ制御プログラム１５０の処理手順である。
【００５１】
次に、図２に示したステップ２３０でシステム制御プログラム１２０により起動される検索サーバ管理制御プログラム１２３の処理手順について、図６を用いて説明する。
検索サーバ管理制御プログラム１２３は、まずテキスト１７０を参照し、蓄積された文書件数を取得し、ワークエリア１４０に格納する（ステップ６００）。
【００５２】
次に、検索サーバ管理テーブル１７４を参照し、検索処理可能な検索サーバ数を取得し、ワークエリア１４０に格納する（ステップ６０１）。
【００５３】
次に、検索サーバ別検索範囲設定プログラム１３８を起動し、前記ステップ６００でワークエリア１４０に格納された文書件数と、
前記ステップ６０１でワークエリアに格納された検索サーバ数を用いて、各検索サーバに配分する文書識別子を決定し、検索サーバ別検索範囲管理テーブル１７３に格納する（ステップ６０２）。
以上が、検索サーバ管理制御プログラム１２３の処理手順である。
【００５４】
以下、本発明の第一の実施例における文書検索システムの具体的な処理手順を図７および図８を用いて説明する。
まず、本発明の第一の実施例に示した文書検索システムにおける文書の登録処理（図３）について図７を用いて具体的に説明する。
【００５５】
図７は、文書１「〜 Our Product 〜  10% Coconut Juice With Meat 25% Orange Juice 30% Mango Juice 40% Guava Juice 40% Lychee Juice 55% Passion Fruit with pineapple juice 100% Pineapple Juice 」および文書２「Cinnamon Pineapple Pork Stir in pineapple and juice, wine, ginger root, jalapeno pepper and cinnamon; simmer until liquid is reduced to 1/4 cup. Spoon pineapple mixture over cooked pork pieces; sprinkle with cilantro」が登録される場合の処理の流れを表しており、
本図に示した例では、文書１および文書２に対して図３に示したステップ３００およびステップ３０１が実行され、テキスト７０１およびテキスト７０２が抽出された状態を表している。
【００５６】
次に、図３に示したステップ３０２が実行され、文字列インデクス作成プログラム１３１によりテキスト７０１およびテキスト７０２に対する文字列インデクス１７１が作成される。
本図に示した例では、テキスト７０１およびテキスト７０２から、スペース等をデリミタとして抽出された単語「1/4」、「juice」および「pineapple」に対し、それぞれ文字列インデクス７１０、文字列インデクス７１１および７１２が作成された状態を表している。
【００５７】
また、本図に示した例では、単語「1/4」の出現文書番号および該文書内での出現位置を表す情報（以下、インデクス情報と呼ぶ）である「(2,22)」が文字列インデクス７１０として格納されており、該インデクス情報はページ識別子が「101」であるページに格納されることを表している。ここで、インデクス情報「(2,22)」は、該単語が文書２の２２番目の単語として出現していることを表している。
【００５８】
同様に、単語「juice」に関するインデクス情報「(1,5)」「(1,10)」「(1,13)」「(1,16)」「(1,19)」「(1,25)」「(1,28)」「(2,8)」がそれぞれページ識別子が「2001」「2002」「2003」であるページに分けて格納されており、各ページがポインタで接続されていることを表しており、また、単語「pineapple」に関するインデクス情報「(1,24)」「(1,27)」「(2,2)」「(2,6)」「(2,25)」がそれぞれページ識別子が「3201」「3202」であるページに分けて格納されており、各ページがポインタで接続されていることを表している。
次に、図３に示したステップ３０３が実行され、文書識別子管理テーブル作成プログラム１３２により、各単語のインデクス情報が文書識別子管理テーブル１７２に格納される。
【００５９】
本図に示した例では、各単語のインデクス情報がページ単位の最小文書識別子と最大文書識別子と共に管理されている状態を表しており、文書識別子管理テーブル１７２内の「index key」、「page ID」、「min Doc ID」および「max Doc ID」は、それぞれ格納されている単語の文字列、該単語が格納されているページ識別子、該ページに格納されている最小の文書識別子および最大の文書識別子を表している。
【００６０】
例えば、単語「1/4」に関するエントリからは、単語「1/4」のインデクス情報はページ識別子「101」であるページに格納されており、該ページに格納されている最小文書識別子および最大文書識別子は「2」であることを表している。
以上が、本実施例に示した文書検索システムにおける文書の登録処理の具体的な流れである。
【００６１】
次に、本発明の第一の実施例に示した文書検索システムにおける文書の検索処理（図４および図５）と検索サーバ管理処理（図６）の流れを図８を用いて具体的に説明する。
図８は、前記文書１および文書２が登録された文書データベースに対し、単語「juice」が検索条件として指定された場合の例を表している。本図では、該検索条件に対する検索処理を２つの検索サーバで分担して実行する場合の例を示している。
【００６２】
まず、検索サーバ管理処理として図６に示したステップ６００が実行され、テキスト１７０に格納されている文書（以下、登録文書と呼ぶ）の件数を取得する。
【００６３】
本図に示した例では、登録文書の件数として「2」が取得されており、テキスト１７０には２件の文書が格納されている状態を表している。
次に、図６に示したステップ６０１が実行され、検索サーバ管理テーブル１７４に格納されている検索サーバの個数を取得する。
【００６４】
本図に示した例では、検索サーバ管理テーブル１７４には、検索サーバ識別子として「検索サーバ１」で表される検索サーバ（以下、検索サーバ１と呼ぶ）と、検索サーバ識別子として「検索サーバ２」で表される検索サーバ（以下、検索サーバ２と呼ぶ）の２つのサーバが格納されており、検索サーバの個数として「2」が取得されている状態を表している。
【００６５】
次に図６に示したステップ６０２が実行され、検索サーバ別検索範囲設定プログラム１３８により各検索サーバで担当する文書識別子の範囲が決定され、検索サーバ別検索範囲管理テーブル１７３に格納される。
【００６６】
本図に示した例では、登録文書数８０１として「2」が設定され、検索サーバ数８０２として「2」が設定されていることから、各検索サーバに対して１件ずつの担当文書範囲が設定され、検索サーバ１には文書１が、検索サーバ２には文書２が割り当てられている状態を表している。ここで、担当文書範囲における「ｍ〜ｎ」という記載は、文書識別子がｍ以上ｎ以下の文書が割り当てられていることを表している。
以上が検索サーバ管理処理の流れである。
【００６７】
次に、システム管理サーバ１００における文書の検索処理として、図４に示したステップ４００が実行され、検索条件配送プログラム１３５により各検索サーバ１０１に対して検索条件を配送する。本図に示した例では、入力された検索条件８０３「juice」が検索サーバ１および検索サーバ２にそれぞれ配送されている様子を表している。
【００６８】
次に、各検索サーバ１０１において図５に示したステップ５０１が実行され、担当範囲取得プログラム１５２により各検索サーバ１０１での担当文書範囲を検索サーバ別検索範囲管理テーブル１７３から取得する。本図に示した例では、検索サーバ１の担当文書範囲８１０として「１〜１」が取得されており、同様に、検索サーバ２の担当文書範囲８２０として「２〜２」が取得されていることを表している。
【００６９】
次に、図５に示したステップ５０２が実行され、担当ページ識別子取得プログラム１５３により、各検索サーバ１０１における担当文書範囲の検索処理を実行するために参照するページのページ識別子を文書識別子管理テーブル１７２を参照することにより取得する。本図に示した例では、検索条件８０３として指定された「juice」という単語について、検索サーバ１の担当文書範囲「１〜１」に対する検索処理を実行するために必要な担当ページ８１１として「2001」、「2002」、「2003」というページ識別子が取得されており、また検索サーバ２の担当文書範囲「２〜２」に対する検索処理を実行するために必要な担当ページ８２１として「2003」というページ識別子が取得されていることを表している。
【００７０】
次に、図５に示したステップ５０３が実行され、ページ読込照合プログラム１５４により、各検索サーバ１０１において担当ページ８１１あるいは担当ページ８１２に対応する文字列インデクス１７１内のページが参照され、指定された検索条件８０３に対する検索サーバ別の検索処理が実行される。本図に示した例では、検索サーバ１では、「文書識別子１」で示される文書で「７回」出現していることを表す検索サーバ別検索結果集合８１２が得られ、また、検索サーバ２では「文書識別子２」の文書で「１回」出現していることを表す検索サーバ別検索結果集合８２２が得られていることを表している。
【００７１】
次に、図５に示したステップ５０４が実行され、検索結果送信プログラム１５５により、各検索サーバ１０１で得られた検索サーバ別検索結果集合がシステム管理サーバ１００に送信される。
そして、図４に示したステップ４０１が実行され、検索結果集約プログラム１３６により、各検索サーバ１０１から送信された検索サーバ別検索結果集合が集約され、検索システム全体としての検索結果集合である全検索結果集合が生成される。本図に示した例では、検索サーバ１および検索サーバ２より送信された検索サーバ別検索結果集合８１２および８２２が集約され、全検索結果集合８０４が得られていることを表している。
以上が、本実施例に示した文書検索システムにおける文書検索の具体的な処理手順である。
【００７２】
なお、本実施例に示した検索処理手順では、検索処理を実行する際に図５に示したステップ５０１が実行され、担当範囲取得プログラム１５２により各検索サーバの担当文書範囲が取得されるものとしたが、検索処理の流れで実行される必要はなく、予め文書の登録処理完了後あるいは検索サーバ数が設定された後に実行されるものとしてもよい。
以上が、本発明の第一の実施形態である。
【００７３】
以上説明したように、本発明の第一の実施形態によれば、各ページ別に格納された文書識別子の範囲を管理し、検索サーバ別の検索範囲を管理しておくことにより、各検索サーバは割り当てられた範囲の全ての文書識別子を高速に取得することができるようになる。これにより、各検索サーバにおける検索処理時間をほぼ均等にすることができる。また、各検索サーバにおいて得られた検索サーバ別検索結果集合を取得するためのマージ処理が発生しないため、必要最小限のコストで検索結果を取得することができる。
【００７４】
なお、本実施例では、英語で記載された文書が登録された文書検索システムの例で説明したが、英語に限らずその他の言語であっても構わない。すなわち、本発明の第一の実施例における文書登録処理では、スペース等をデリミタとして単語を抽出するものとしたが、日本語等の区切れ目が明確でない言語に対しては単語辞書を参照して抽出された単語を用いるものとしてもよいし、長さＮの文字列（以下、Ｎ−ｇｒａｍと呼ぶ）を抽出するものであっても構わない。
【００７５】
また、本実施例では、文字列インデクス１７１として単語インデクス方式を用いるものとして説明したが、インデクス方式によらず、例えば、Ｎ−ｇｒａｍインデクス方式であっても構わない。
【００７６】
また、本実施例では、全文検索システムの例を用いて説明したが、指定された文章に対して類似する文書を検索する類似文書検索システムに対しても適用可能であるのは明らかであろう。
【００７７】
また、本実施例における図７では、１つのページに３つのインデクス情報が格納されるものとして説明したが、３つに限定されたものではないのは明らかであろう。さらには、単語毎に異なる個数のインデクス情報が格納されるものであっても構わない。
【００７８】
次に、本発明の第二の実施例について図９を用いて説明する。
本発明を適用した文書検索システムの第二例は、検索サーバの追加あるいは削除を柔軟に実現しようとするものである。すなわち、登録文書数の増加により検索サーバ１台あたりの検索対象文書が増加してしまい、各検索サーバにおける検索性能が得られない場合に対応するための検索サーバの追加や、障害や他業務への一時的なサーバ貸与等の理由により一部の検索サーバを削除する場合等の処理を短時間で実現することにより、システム構成を柔軟に変更可能にするものである。
【００７９】
本実施例は、第一の実施例（図１）とほぼ同様の構成をとるが、図９に示したように、図１のシステム管理サーバ１００の主メモリ１１５における検索サーバ管理制御プログラム１２３は、検索サーバ別検索範囲設定プログラム１３８に加えて、検索サーバ追加削除プログラム９００および検索サーバ監視プログラム９０１を記憶する。それ以外の部分は図１と同様の構成である。
以下、本実施例における処理手順のうち、第一の実施例とは異なる検索サーバ管理制御プログラム１２３ａの処理手順について、図１０に示すＰＡＤ図を用いて説明する。本図に示した処理手順のうち、図６に示した第一の実施例と異なるステップはステップ１０００〜１０２２である。その他の部分については、図６と同様の処理手順である。
【００８０】
検索サーバ管理制御プログラム１２３ａは、まずキーボード１１１を介して入力されたコマンドの種類を解析する（ステップ１０００）。
【００８１】
この結果が、検索サーバ数変更のコマンドであると解析された場合には、検索サーバ追加削除プログラム９００を起動し、コマンドで指定された検索サーバの追加、あるいは削除を行なう（ステップ１０１０）。
また、前記ステップ１０００で、検索サーバ状態監視のコマンドであると解析された場合には、検索サーバ管理テーブル１７４に格納された各検索サーバについて、ステップ１０２１およびステップ１０２２を繰返し実行する（ステップ１０２０）。
【００８２】
まず、検索サーバ監視プログラム９０１を起動し、前記ステップ１０２０で選択された検索サーバの状態をネットワーク１０４を介して監視する（ステップ１０２１）。
【００８３】
次に、検索処理の継続が不可能な検索サーバに関する情報を検索サーバ管理テーブル１７４から削除する（ステップ１０２２）。
以上が、検索サーバ管理制御プログラム１２３ａの処理手順である。
【００８４】
以下、図１０に示した本発明の第二の実施例における文書検索システムの検索サーバの管理処理手順を、図１１を用いて具体的に説明する。
【００８５】
図１１は、検索サーバ１および検索サーバ２の２台で検索処理を分担して実行する検索システムにおいて、検索サーバ１が障害などにより検索処理を実行できない状態（以下、検索不可状態と呼ぶ）になった場合の検索サーバ削除処理手順の例である。
【００８６】
まず、図９に示したステップ１０２１において起動された検索サーバ監視プログラム９０１により、検索サーバ２は検索処理を継続可能な状態「Ｇｏｏｄ」であるという情報１１２１が、検索サーバ１は検索処理不可状態「ＮＧ］であるという情報１１１１を検知する。
次に、図１０に示したステップ１０２２が実行され、検索サーバ管理テーブル１７４に格納されている検索サーバ１に関する情報が削除される。本図に示した例では、検索サーバ１に関する情報である「検索サーバＩＤ」＝「検索サーバ１」および「IP Address」＝「192.168.0.1」が削除され、この結果が反映された検索サーバ管理テーブル１７４ａには、「検索サーバＩＤ」＝「検索サーバ２」および「IP Address」＝「192.168.0.2」のみが格納されている。
【００８７】
この結果、図１０に示したステップ６０１が実行され、検索処理を継続可能な検索サーバの数が取得される。本図に示した例では、検索処理を継続可能な検索サーバは、検索サーバ２のみであるため、検索サーバ数１１０１として「１」が取得されている。
【００８８】
次に、図１０に示したステップ６０２が実行され、検索サーバ別検索範囲設定プログラム１３８により、検索処理を継続可能な各検索サーバに対して担当文書範囲が設定され、検索サーバ別検索範囲管理テーブル１７３に格納される。本図に示した例では、検索処理を継続可能な検索サーバ２に対して、担当文書範囲として「１〜２」が割り当てられている。
以上が、本実施例に示した検索サーバの管理処理の具体的な流れである。
【００８９】
なお、図１０では、検索サーバの削除処理を例に説明したが、検索サーバの追加処理であっても、同様に実現できることは明らかであろう。また、本実施例では、検索サーバ監視プログラム９０１により各検索サーバの監視をネットワーク１０４を介して行なうものとしたが、障害検知専用のネットワーク回線で接続されているものとしてもよいし、
各検索サーバからの応答レスポンス時間がタイムアウトした場合に、該検索サーバを検索不可状態と判断するものとしてもよいし、  検索サーバ１０１における検索サーバ用に割り当てられたプロセスを監視するものとしてもよい。
【００９０】
また、本実施例では、検索サーバの状態を「Ｇｏｏｄ」あるいは「ＮＧ」という2値で評価するものとしたが、検索処理性能に応じて担当文書範囲が増大するものとしてもよいし、図１２に示した検索サーバ管理テーブル１７４ｂのように検索処理実行のために割り当てられたＣＰＵ資源の比率（以下、負荷比率と呼ぶ）に応じて担当文書範囲が決定されるものであってもよいし、さらにはこれらの要望を組み合わせて使用されるものであってもよい。
【００９１】
図１２に示した検索サーバ管理テーブル１７４ｂでは、「検索サーバＩＤ」や「IP Address」の他に、検索サーバの処理性能を表す「検索処理性能」や検索処理実行のために割り当てられたＣＰＵ資源の比率を表す「負荷比率」が格納されている状態を表しているが、この他の指標を用いるものであっても構わない。例えば、検索サーバ別のメモリ使用可能量、ネットワークボード１８１による通信速度、あるいはＣＰＵ性能などが考えられる。
以上が、本発明の第二の実施形態である。
【００９２】
以上説明したように、検索サーバ別検索範囲管理テーブル１７３および検索サーバ管理テーブル１７４の更新のみで検索サーバの追加あるいは削除を実現することができるため、システム構成の変更を柔軟に実現することができるようになる。この結果、登録文書数の増加に対する検索サーバの追加や、  障害や他業務への一時的なサーバ貸与等の理由による一部の検索サーバを削除する場合等の処理が短時間で実現可能なため、システム構成を柔軟に変更可能にするものである。
【００９３】
次に、本発明の第三の実施形態について図１３を用いて説明する。
本発明を適用した文書検索システムの第三例は、文字列インデクス１７１に格納されている単語毎に担当文書範囲を設定することにより、各検索サーバでの検索処理時間を均一にし、検索システム全体での検索処理時間を最適化しようとするものである。
これを単純に実現した場合、検索タームによって検索サーバ毎に異なる担当文書範囲となるため、複数の検索タームを用いてＡＮＤ検索やＯＲ検索などの論理演算検索が指定されている場合や、単語間の距離が指定された検索条件式が指定されている場合には、
各検索サーバ内では検索処理を完了することができず、システム管理サーバ１００等で全ての検索結果を集約した後に当該の演算処理を行なうことになる。
この結果、複数の検索サーバで並列に検索処理を行なっているにも関わらず、検索結果を集約する際に逐次的に処理を行なうことになるため、検索システム全体で長大な検索時間を要してしまうことになる。
【００９４】
本発明を適用した文書検索システムの第三例では、各検索サーバで検索処理を完了させ、各検索サーバでの検索処理時間をほぼ均一に終了させることができるようにするものである。
【００９５】
本実施例は、第一の実施例（図１）とほぼ同様の構成をとるが、図１３に示したように、図１の検索サーバ１０１の主メモリ１８２における検索サーバ制御プログラム１５０は、担当範囲調整プログラム１３００を記憶する。これ以外の部分は、図１と同様の構成である。
【００９６】
以下、本実施例における処理手順のうち、第一の実施例とは異なる検索サーバ制御プログラム１５０ａの処理手順について、図１４に示すＰＡＤ図を用いて説明する。
【００９７】
本図に示した処理手順は、図５に示した第一の実施例における検索サーバ制御プログラム１５０の処理手順とはステップ１４００〜１４０１が異なっており、図５に示したステップ５０１の代わりにステップ１４００を有すると共に、ステップ１４０１が加わる。
【００９８】
検索サーバ制御プログラム１５０ａは、まず検索条件解析プログラム１５１を起動し、システム管理サーバ１００より配送された検索条件式に含まれる検索タームを抽出し、ワークエリア１６０に格納する（ステップ５００）。
【００９９】
次に、担当範囲取得プログラム１５２を起動し、検索サーバ別検索範囲管理テーブル１７３から検索ターム別の担当文書に関する文書識別子の範囲（以下、検索ターム別担当文書範囲と呼ぶ）を取得し、ワークエリア１６０に格納する（ステップ１４００）。
【０１００】
次に、担当範囲調整プログラム１３００を起動し、各検索タームの処理コストを比較し、もっとも処理コストの高い検索タームに関する検索ターム別担当文書範囲を、各検索サーバの担当する文書識別子の範囲としてワークエリア１６０に格納する（ステップ１４０１）。
【０１０１】
次に、担当ページ識別子取得プログラム１５３を起動し、前記ステップ５００で検索条件解析プログラム１５１によりワークエリア１６０に格納された検索タームと、
前記ステップ５０１で担当範囲取得プログラム１５２によりワークエリア１６０に格納された担当文書範囲に対応するページ（以下、担当ページと呼ぶ）のページ識別子を文書識別子管理テーブル１７２から取得し、ワークエリア１６０に格納する（ステップ５０２）。
【０１０２】
次に、ページ読込照合プログラム１５４を起動し、上記ステップ５０２で担当ページ識別子取得プログラム１５３によりワークエリア１６０に格納された担当ページのページ識別子に対応する文字列インデクス１７１を参照することにより、検索条件に適合する文書の文書識別子を取得し、検索サーバ別検索結果集合としてワークエリア１６０に格納する（ステップ５０３）。
【０１０３】
次に、検索結果送信プログラム１５５を起動し、上記ステップ５０３でワークエリア１６０に格納された検索サーバ別検索結果集合をシステム管理サーバへ送信する（ステップ５０４）。
以上が、検索サーバ制御プログラム１５０ａの処理手順である。
【０１０４】
以下、図１４に示した本発明の第三の実施例における検索サーバ制御プログラム１５０ａの処理手順のうち、第一の実施例とは異なるステップ１４００〜１４０１について、図１５を用いて具体的に説明する。
【０１０５】
本図に示した例では、検索条件１５００として「"pineapple juice"」が入力された場合に、検索サーバ１および検索サーバ２における担当文書範囲１５１０および１５２０が決定されるまでの処理手順を表している。
【０１０６】
まず、システム管理サーバ１００では、検索条件１５００を受け付けると、図４に示したステップ４００を実行し、検索条件配送プログラム１３５により、各検索サーバ１０１に対して検索条件１５００を配送する。
【０１０７】
各検索サーバ１００において、検索条件１５００を受け付けると、図１４に示したステップ５００を実行し、検索条件１５００に含まれる検索タームを抽出する。そして、図１４に示したステップ１４００を実行し、担当範囲取得プログラム１５２により、各検索タームに対する担当文書範囲を取得する。
【０１０８】
本図に示した例では、検索条件１５００「"pineapple juice"」に含まれる「pineapple」および「juice」に関する担当文書範囲１７３ａおよび１７３ｂが取得されている状態を表している。
【０１０９】
次に、図１４に示したステップ１４０１が実行され、担当範囲調整プログラム１３００により、処理コストがもっとも高い検索タームに関する検索ターム別担当文書範囲を、最終的な担当文書範囲として取得する。本図に示した例では、各文字列インデクスを構成する総ページ数を処理コストとしており、単語「pineapple」の総ページ数は「２」であり、単語「juice」の総ページ数は「３」であることから、単語「juice」の検索ターム別担当文書範囲が最終的な担当文書範囲として設定されている。
【０１１０】
この結果、検索サーバ１では「１〜１」が担当文書範囲１５１０として取得され、検索サーバ２では「２〜２」が担当文書範囲１５２０として取得されている。
以上が、検索サーバ制御プログラム１５０ａの具体的な処理手順である。
以上が、本発明の第三の実施形態である。
【０１１１】
以上説明したように、本実施の形態によれば、単語別に設定された検索ターム別担当文書範囲の中から、もっとも処理コストの高い検索タームに対する検索ターム別担当文書範囲を選択するようにすることにより、該検索タームの処理コストを各検索サーバで均等に分担できるようになる。
【０１１２】
この結果、各検索サーバで検索処理を完了させることができ、各検索サーバでの検索処理時間をほぼ均一に終了させることができるようになる。なお、本実施例における各単語の処理コストとして、文字列インデクス１７３を構成する総ページ数を用いるものとしたが、各単語の検索処理時間を予め測定して用いるようにしてもよい。
【図面の簡単な説明】
【０１１３】
【図１】本発明を適用した文書検索システムの第一の実施例における全体構成を示す図である。
【図２】本発明の第一の実施例におけるシステム管理サーバ１００におけるシステム制御プログラム１２０の処理手順を説明するＰＡＤ図である。
【図３】本発明の第一の実施例におけるシステム管理サーバ１００における登録制御プログラム１２１の処理手順を説明するＰＡＤ図である。
【図４】本発明の第一の実施例におけるシステム管理サーバ１００における検索制御プログラム１２２の処理手順を説明するＰＡＤ図である。
【図５】本発明の第一の実施例における検索サーバ１０１における検索サーバ制御プログラム１５０の処理手順を説明するＰＡＤ図である。
【図６】本発明の第一の実施例におけるシステム管理サーバ１００における検索サーバ管理制御プログラム１２３の処理手順を説明するＰＡＤ図である。
【図７】本発明の第一の実施例における登録処理手順を説明する図である。
【図８】本発明の第一の実施例における検索サーバ管理手順および検索処理手順を説明する図である。
【図９】本発明の第二の実施例におけるシステム管理サーバ１００における検索サーバ管理制御プログラム１２３ａの構成を示す図である。
【図１０】本発明の第二の実施例におけるシステム管理サーバ１００における検索サーバ管理制御プログラム１２３ａの処理手順を説明するＰＡＤ図である。
【図１１】本発明の第二の実施例におけるシステム管理サーバ１００における検索サーバ管理制御プログラム１２３ａの処理手順を説明する図である。
【図１２】本発明の第二の実施例における検索サーバ管理テーブル１７４ｂの具体例を示す図である。
【図１３】本発明の第三の実施例における検索サーバ１０１における検索サーバ制御プログラム１５０ａの構成を示す図である。
【図１４】本発明の第三の実施例における検索サーバ１０１における検索サーバ制御プログラム１５０ａの処理手順を説明するＰＡＤ図である。
【図１５】本発明の第三の実施例における検索処理手順を説明する図である。
【符号の説明】
【０１１４】
１００…システム管理サーバ、１０１…検索サーバ、１０２…磁気ディスク装置、１０３…検索クライアント、１０４…ネットワーク、１１０…ディスプレイ、１１１…キーボード、１１２…中央演算処理装置（ＣＰＵ）、１１３…フロッピディスクドライブ（ＦＤＤ）、１１４…ネットワークボード（Ｅｔｈｅｒ）、１１５…主メモリ、１１６…バス、１１７…フロッピディスク、１２０…システム制御プログラム、１２１…登録制御プログラム、１２２…検索制御プログラム、１２３…検索サーバ管理制御プログラム、１３０…テキスト抽出登録プログラム、１３１…文字列インデクス作成プログラム、１３２…文書識別子管理テーブル作成プログラム、１３５…検索条件配送プログラム、１３６…検索結果集約プログラム、１３７…検索結果出力プログラム、１３８…検索サーバ別検索範囲設定プログラム、１４０…ワークエリア、１５０…検索サーバ制御プログラム、１５１…検索条件解析プログラム、１５２…担当範囲取得プログラム、１５３…担当ページ識別子取得プログラム、１５４…ページ読込照合プログラム、１５５…検索結果送信プログラム、１６０…ワークエリア、１７０…テキスト、１７１…文字列インデクス、１７２…文書識別子管理テーブル、１７３…検索サーバ別検索範囲管理テーブル、１７４…検索サーバ管理テーブル、１８０…中央演算処理（ＣＰＵ）、１８１…ネットワークボード（Ｅｔｈｅｒ）、１８２…主メモリ、１８３…バス、９００…検索サーバ追加削除プログラム、９０１…検索サーバ監視プログラム、１３００…担当範囲調整プログラム
【図１】
2006134191.tif 000003
【図２】
2006134191.tif 000004
【図３】
2006134191.tif 000005
【図４】
2006134191.tif 000006
【図５】
2006134191.tif 000007
【図６】
2006134191.tif 000008
【図７】
2006134191.tif 000009
【図８】
2006134191.tif 000010
【図９】
2006134191.tif 000011
【図１０】
2006134191.tif 000012
【図１１】
2006134191.tif 000013
【図１２】
2006134191.tif 000014
【図１３】
2006134191.tif 000015
【図１４】
2006134191.tif 000016
【図１５】
2006134191.tif 000017