(57)【要約】【課題】  制御情報に関する制約を受けることなく、文書が巡回される際の格納装置の負荷を低減することができる検索装置等を提供する。【解決手段】  検索装置は、通信ネットワークを介して通信可能な格納装置に格納される、当該格納装置に格納される文書の巡回に関する定義を含む制御情報に基づいて、前記巡回のスケジュールを決定する巡回制御手段と、前記巡回制御手段が決定したスケジュールにしたがって、前記格納装置に格納される文書を巡回すると共に当該文書に関する索引情報を作成または更新する巡回手段とを備える。【選択図】      図１
2015172808.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークを介して通信可能な格納装置に格納される、当該格納装置に格納される文書の巡回に関する定義を含む制御情報に基づいて、前記巡回のスケジュールを決定する巡回制御手段と、
前記巡回制御手段が決定したスケジュールにしたがって、前記格納装置に格納される文書を巡回すると共に当該文書に関する索引情報を作成または更新する巡回手段と
を備えた検索装置。
【請求項２】
前記巡回手段は、前記索引情報の作成または更新が終了したのに応じて、当該終了したことを前記巡回制御手段に通知し、
前記巡回制御手段は、前記通知に応じて、次の巡回の実行日時を決定する
請求項１記載の検索装置。
【請求項３】
前記制御情報は、前記格納装置における当該制御情報が格納される場所配下に格納される文書の巡回時間および巡回頻度に関する情報を含み、
前記巡回制御手段は、前記巡回時間および巡回頻度に関する情報に基づいて、前記巡回の実行日時を決定する
請求項２記載の検索装置。
【請求項４】
前記制御情報は、前記格納装置における当該制御情報が格納される場所配下に格納される文書を検索結果として表示する日に関する情報を含み、
前記巡回手段は、前記文書に関する前記索引情報に、前記検索結果として表示する日に関する情報を含める
請求項１ないし３のいずれか１項記載の検索装置。
【請求項５】
通信ネットワークを介して通信可能な格納装置に格納される、当該格納装置に格納される文書の巡回に関する定義を含む制御情報に基づいて、前記巡回のスケジュールを決定し、
前記巡回制御手段が決定したスケジュールにしたがって、前記格納装置に格納される文書を巡回すると共に当該文書に関する索引情報を作成または更新する
検索方法。
【請求項６】
前記索引情報の作成または更新が終了したのに応じて、次の巡回の実行日時を決定する
請求項５記載の検索方法。
【請求項７】
前記制御情報は、前記格納装置における当該制御情報が格納される場所配下に格納される文書の巡回時間および巡回頻度に関する情報を含み、
前記巡回時間および巡回頻度に関する情報に基づいて、前記巡回の実行日時を決定する
請求項６記載の検索方法。
【請求項８】
前記制御情報は、前記格納装置における当該制御情報が格納される場所配下に格納される文書を検索結果として表示する日に関する情報を含み、
前記文書に関する前記索引情報に、前記検索結果として表示する日に関する情報を含める
請求項５ないし７のいずれか１項記載の検索方法。
【請求項９】
通信ネットワークを介して通信可能な格納装置に格納される、当該格納装置に格納される文書の巡回に関する定義を含む制御情報に基づいて、前記巡回のスケジュールを決定する巡回制御装置と、
前記巡回制御装置と通信ネットワークを介して通信可能であり、当該前記巡回制御装置が決定したスケジュールにしたがって、前記格納装置に格納される文書を巡回すると共に当該文書に関する索引情報を作成または更新する巡回装置と
を備えた検索システム。
【請求項１０】
通信ネットワークを介して通信可能な格納装置に格納される、当該格納装置に格納される文書の巡回に関する定義を含む制御情報に基づいて、前記巡回のスケジュールを決定する処理と、
前記決定されたスケジュールにしたがって、前記格納装置に格納される文書を巡回すると共に当該文書に関する索引情報を作成または更新する処理とを
コンピュータに実行されるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、格納装置に格納される文書を巡回すると共に索引情報を作成する技術に関する。
【背景技術】
【０００２】
一般に、検索システムは、インターネット等の通信ネットワークにより通信可能なサーバ（ファイルサーバ、Ｗｅｂ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）サーバ等）から、ユーザが所望する検索条件に合致する文書を検索するために、予め、サーバに格納される文書の情報を収集すると共に、収集した情報に基づくインデックスを作成している。検索システムは、ユーザが所望する検索条件に合致する文書を、このインデックスに基づいて検索する。
【０００３】
このような、文書の情報を収集し、収集した情報に基づくインデックスを作成する機能（プログラム）は、一般に、検索クローラと呼ばれる。検索クローラは、通常、その性能が許す範囲で、ファイルサーバから文書の情報を取得しインデックスを作成している。しかしながら、このようなアクセス方法では、検索クローラがファイルサーバに頻繁にアクセスするなど、ファイルサーバに高い負荷がかかることがある。
【０００４】
ファイルサーバに高い負荷がかかることを防ぐために、Ｗｅｂサーバ等で利用される検索クローラ制御ファイル（例えば「ｒｏｂｏｔ．ｔｘｔ」）がある。検索クローラ制御ファイルは、検索クローラが検索対象のＷｅｂサーバにアクセスしたタイミングでその記載内容が解析される。そして、解析の結果に基づいて、そのＷｅｂサーバを検索クローラがクロールする／しない等が決定される。
【０００５】
例えば、特許文献１には、一定の巡回期間内になるべく多くの文書について文書情報を取得できるようにする文書収集装置が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−３０３２２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述のように、Ｗｅｂサーバに検索クローラ制御ファイルを配置することによりＷｅｂサーバの負荷を防ぐ技術では、検索クローラがクロールを開始する時点で当該検索クローラの動作が決定される必要がある。したがって、検索クローラ制御ファイルは、そのＷｅｂサーバで最初に読み込まれる必要があるので、当該ファイルの配置場所が限定されてしまうと共に、配置できる場所は１カ所に限られてしまうという課題がある。
【０００８】
また、上記特許文献１には、一定の巡回期間内になるべく多くの文書について文書情報を取得する技術は開示されるが、巡回するファイルサーバの負荷を低減する技術は開示されていない。
【０００９】
本願発明は、上記課題を鑑みてなされたものであり、制御情報に関する制約を受けることなく、文書が巡回される際の格納装置の負荷を低減することができる検索装置等を提供することを主要な目的とする。
【課題を解決するための手段】
【００１０】
本発明の第１の検索装置は、通信ネットワークを介して通信可能な格納装置に格納される、当該格納装置に格納される文書の巡回に関する定義を含む制御情報に基づいて、前記巡回のスケジュールを決定する巡回制御手段と、前記巡回制御手段が決定したスケジュールにしたがって、前記格納装置に格納される文書を巡回すると共に当該文書に関する索引情報を作成または更新する巡回手段とを備える。
【００１１】
本発明の第１の検索方法は、通信ネットワークを介して通信可能な格納装置に格納される、当該格納装置に格納される文書の巡回に関する定義を含む制御情報に基づいて、前記巡回のスケジュールを決定し、前記巡回制御手段が決定したスケジュールにしたがって、前記格納装置に格納される文書を巡回すると共に当該文書に関する索引情報を作成または更新する。
【００１２】
なお同目的は、上記の各構成を有する検索装置または検索方法を、コンピュータによって実現するコンピュータ・プログラム、およびそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
【発明の効果】
【００１３】
本願発明によれば、制御情報に関する制約を受けることなく、文書が巡回される際の格納装置の負荷を低減することができるという効果が得られる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施形態に係る検索システムの構成の概要を示す図である。
【図２】本発明の第１の実施形態に係る検索システムが取得する制御ファイルに記述される情報を説明する図である。
【図３】本発明の第１の実施形態に係る検索システムが備えるコントローラの各部の動作を示すフローチャートである。
【図４】本発明の第１の実施形態に係る検索システムが備える制御ファイル管理ＤＢに格納される情報について説明する図である。
【図５】本発明の第１の実施形態に係る検索システムが備えるコントローラのクローラ制御部によるスケジュール管理について説明するフローチャートである。
【図６】本発明の第１の実施形態に係る検索システムが備えるクローラ管理ＤＢが格納する、検索クローラの稼働状況に関する情報を示す図である。
【図７】本発明の第１の実施形態に係る検索システムが備えるクロールスケジュールＤＢが格納するスケジュール情報を示す図である。
【図８】本発明の第１の実施形態に係る検索システムが備えるクローラ制御部による検索クローラの呼び出し動作について説明するフローチャートである。
【図９】本発明の第１の実施形態に係る検索システムが備える検索エンジンの動作を示すフローチャートである。
【図１０】本発明の第２の実施形態に係る検索システムの構成の概要を示す図である。
【図１１】本発明の第２の実施形態に係る検索システムが備えるコントローラサーバのクローラ制御部によるスケジュール管理について説明するフローチャートである。
【図１２】本発明の第２の実施形態に係る検索システムが備えるクロールスケジュールＤＢが格納するスケジュール情報を示す図である。
【図１３】本発明の第３の実施形態に係る検索装置の構成の概要を示す図である。
【図１４】本発明の各実施形態に係る検索装置を実現可能な情報処理装置のハードウエア構成を例示する図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【００１６】
第１の実施形態
図１は、本発明の第１の実施形態に係る検索装置１００の構成の概要を示す図である。図１に示すように、検索装置１００は、コントローラ１１０、検索クローラ１２０乃至１４０、検索エンジン１５０乃至１７０、インデックス記憶部１４０を備える。
【００１７】
検索装置１００は、ユーザから検索条件を受け付けると、通信ネットワーク（以下、単に「ネットワーク」と称する）１８０を介して通信可能な格納装置から、上記検索条件に合致する文書を検索すると共に、検索の結果をユーザに提示する機能を有する。格納装置は、ここでは、例えばファイルサーバ３１０乃至３３０と仮定する。
【００１８】
検索装置１００が備えるコントローラ１１０は、制御ファイル取得部１１１、制御ファイル解析部１１２、クローラ制御部１１３、制御ファイル管理データベース（ＤＢ）１１４、クロールスケジュールデータベース（ＤＢ）１１５およびクローラ管理データベース（ＤＢ）１１６を備える。
【００１９】
検索装置１００は、１または複数の検索クローラを備える。検索クローラは、ファイルサーバ３１０乃至３３０に格納される文書の情報を収集すると共に、収集した情報に基づくインデックス（索引情報）を作成する。検索装置１００は、ここでは、例えば、検索クローラ１２０乃至１４０を備えると仮定する。検索クローラ１２０は、文書取得部１２１およびインデックス作成部１２２を備える。検索クローラ１２０乃至１４０は、互いに同様の構成を備えるため、以下の説明では、主に検索クローラ１２０の動作について説明する。
【００２０】
検索装置１００は、１または複数の検索エンジンを備える。検索エンジンは、検索クローラ１２０乃至１４０が作成したインデックスに基づいて、ユーザからの検索条件に合致する文書を検索すると共に、検索の結果をユーザに提示する。検索装置１００は、ここでは、例えば、検索エンジン１５０乃至１７０を備えると仮定する。検索エンジン１５０は、インデックス検索部１５１および検索結果表示制御部１５２を備える。検索エンジン１５０乃至１７０は、互いに同様の構成を備えるため、以下の説明では、主に検索エンジン１５０の動作について説明する。
【００２１】
ファイルサーバ３１０乃至３３０には、予め任意の場所に、その場所配下における検索クローラの動作を定義する制御ファイル（制御情報）が配置される。制御ファイルは、ファイルサーバ３１０乃至３３０の管理者が、予め、ファイルサーバ３１０乃至３３０の負荷を考慮しながら定義すると共に所望の場所に配置する。本実施形態では、当該制御ファイルのファイル名を、「Ｃｏｎｔｒｏｌｆｉｌｅ．ｔｘｔ」と仮定する。
【００２２】
コントローラ１１０は、各ファイルサーバから制御ファイルを取得すると共に、当該制御ファイルに基づいて、検索クローラの動作を制御する。検索クローラ１２０乃至１４０は、コントローラ１１０の制御に基づいて、ファイルサーバ３１０乃至３３０のクロール（巡回）を実施すると共に、取得した情報のインデックスを作成する。インデックス記憶部１４０は、検索クローラ１２０乃至１４０が作成したインデックスを記憶する。
【００２３】
図２は、制御ファイル（Ｃｏｎｔｒｏｌｆｉｌｅ．ｔｘｔ）に記述される情報を説明する図である。図２に示すように、制御ファイルには、「配下クロールの可否」、「アクセス多重度」、「クロール時間帯（巡回時間）」、「更新頻度（巡回頻度）」、「検索結果表示可否」および「公開日」が設定される。「配下クロールの可否」には、当該制御ファイルの配置場所配下のパスのクロールを許可するか否かが設定される。「アクセス多重度」には、当該制御ファイルの配置場所配下のパスを、同時にアクセス可能な検索クローラの数が設定される。「クロール時間帯」には、検索クローラがクロールを実施可能な時間帯が設定される。
【００２４】
「更新頻度」には、当該制御ファイルの配置場所配下のパスに格納されるファイルのインデックスを更新する頻度が設定される。「検索結果表示可否」には、検索エンジンにより、当該制御ファイルの配置場所配下のパスに格納されるファイルが検索された場合、その検索の結果をユーザに提示してよいか否かが設定される。「公開日」には、検索エンジンにより、当該制御ファイルの配置場所配下のパスに格納されるファイルが検索された場合、その検索の結果のユーザへの提示の開始日が設定される。
【００２５】
次に、コントローラ１１０について説明する。
【００２６】
コントローラ１１０が備える制御ファイル取得部１１１は、制御ファイルをファイルサーバ３１０乃至３３０から取得する。制御ファイル解析部１１２は、取得した制御ファイルを解析する。クローラ制御部１１３は、検索クローラに対してインデックスの作成または更新を指示する。
【００２７】
また、コントローラ１１０が備える制御ファイル管理ＤＢ１１４は、制御ファイル取得部１１１が取得した制御ファイルに含まれる情報を格納する。クロールスケジュールＤＢ１１５は、制御ファイル管理ＤＢ１１４に格納される情報に基づく、各検索クローラがインデックスを作成または更新するスケジュール情報を格納する。クローラ管理ＤＢ１１６は、各検索クローラの稼働状況を管理する情報を格納する。
【００２８】
図３は、コントローラ１１０による制御ファイル取得処理を示すフローチャートである。図３を参照して、コントローラ１１０による制御ファイル取得処理について説明する。
【００２９】
コントローラ１１０の制御ファイル取得部１１１は、各ファイルサーバ３１０乃至３３０から、各ファイルサーバにおいてクロールを実施するパス情報配下に格納されるファイル一覧を取得する（ステップＳＴ１０１）。ファイル一覧とは、当該パス情報配下に格納されるファイルの識別情報と、そのファイルが格納されるパス情報とを含む一覧情報である。
【００３０】
続いて、制御ファイル解析部１１２は、制御ファイル取得部１１１により取得されたファイル一覧から、制御ファイル（Ｃｏｎｔｒｏｌｆｉｌｅ．ｔｘｔ）を抽出すると共に、各制御ファイルが格納される各パス情報を特定する（ステップＳＴ１０２）。
【００３１】
制御ファイル取得部１１１は、制御ファイル解析部１１２が特定した各パス情報に基づいて、当該パスに格納される制御ファイル自体を、ネットワーク１８０を介して取得する（ステップＳＴ１０３）。
【００３２】
制御ファイル解析部１１２は、取得された制御ファイルに設定される情報と、当該制御ファイルが格納されるファイルサーバの名称と、制御ファイルが格納されるパス情報とを、制御ファイル管理ＤＢ１１４に格納する（ステップＳＴ１０４）。
【００３３】
図４は、制御ファイル管理ＤＢ１１４に格納される情報について説明する図である。図４に示すように、制御ファイル解析部１１２は、制御ファイル管理ＤＢ１１４に、インデックス番号、ファイルサーバ名称、制御ファイルが格納されるパス情報、配下クロールの可否、アクセス多重度、クロール時間帯、更新頻度、検索結果表示可否、公開日および最終更新日時を格納する。なお、最終更新日時については後述する。
【００３４】
コントローラ１１０は、上述の手順により、制御ファイルを取得すると共にそれらに設定される情報を制御ファイル管理ＤＢ１１４に保存する。
【００３５】
次に、コントローラ１１０によるクロール実施のスケジュール決定処理について説明する。図５は、コントローラ１１０が備えるクローラ制御部１１３によるスケジュール決定処理について説明するフローチャートである。また、図６は、クローラ管理ＤＢ１１６に格納される、検索クローラの稼働状況に関する情報を示す図である。図４乃至図６を参照して、クローラ制御部１１３によるスケジュール決定動作について説明する。
【００３６】
任意の検索クローラがインデックスの作成または更新を終了すると、その検索クローラからクローラ制御部１１３に対して、インデックスの作成または更新が終了した旨、およびそのインデックス番号が通知される（この通知を、図５における「Ａ」に示す）。クローラ制御部１１３は、当該通知を受けると、クローラ管理ＤＢ１１６を更新する（ステップＳＴ２０１）。図６に示すように、クローラ管理ＤＢ１１６は、検索クローラの識別情報、稼働状況および、当該検索クローラが作成または更新するインデックス番号を格納する。当該検索クローラはインデックスの作成または更新を終了したので、クローラ制御部１１３は、その稼働状況を「待機中」に変更する。
【００３７】
続いて、クローラ制御部１１３は、制御ファイル管理ＤＢ１１４に格納される、上記インデックスに関する「最終更新日時」を、上記通知を受け取った日時に変更する（ステップＳＴ２０２）。
【００３８】
続いて、クローラ制御部１１３は、制御ファイル管理ＤＢ１１４に格納される、クロール時間帯、更新頻度および最終更新日時に基づいて、上記インデックスに関する次回のクロール実行日時を算出する（ステップＳＴ２０３）。そして、クローラ制御部１１３は、算出した次回のクロール実行日時を含むスケジュール情報を、クロールスケジュールＤＢ１１５に格納する（ステップＳＴ２０４）。
【００３９】
図７は、クロールスケジュールＤＢ１１５が格納するスケジュール情報を示す図である。図７に示すように、クローラ制御部１１３は、スケジュール情報として、上記算出した次回のクロール実行日時と、インデックス番号、クロール対象サーバ、クロールするパス情報（収集パス）、アクセス多重度および公開日を、クロールスケジュールＤＢ１１５に登録する。さらに、クローラ制御部１１３は、クロールスケジュールＤＢ１１５に格納される情報を、次回のクロール実行日時の降順でソートする（ステップＳＴ２０５）。以上の動作により、クローラ制御部１１３は、クロール実施のスケジュール決定処理を行う。
【００４０】
次に、検索クローラの呼び出しについて説明する。図８は、クローラ制御部１１３による検索クローラの呼び出し処理について説明するフローチャートである。図６および図８を参照して、クローラ制御部１１３による検索クローラの呼び出し処理について説明する。
【００４１】
クローラ制御部１１３は、現在日時が、クロールスケジュールＤＢ１１５に格納される「次回実行日時」になったことを検出すると（ステップＳＴ３０１）、クローラ管理ＤＢ１１６において稼働状況が「待機中」である検索クローラを特定する（ステップＳＴ３０２）。そして、特定した検索クローラの稼働状況を「稼働中」に変更すると共に、作成または更新するインデックスの番号を登録する（ステップＳＴ３０３）。
【００４２】
続いてクローラ制御部１１３は、上記検索クローラに、クロールスケジュールＤＢ１１５に格納される、当該インデックスに関連付けられたクロール対象サーバ、収集パス、アクセス多重度および公開日を通知すると共に、クロールの開始を指示する（ステップＳＴ３０４）。当該指示を受けた検索クローラ（例えば検索クローラ１２０）は、文書取得部１２１において、受け取ったクロール対象サーバの収集パスを、指定されたアクセス多重度にてクロールする（ステップＳＴ３０５）。そして、検索クローラ１２０のインデックス作成部１２２は、上記クロールにより取得された文書に関する情報に基づいてインデックスを作成する（ステップＳＴ３０６）。
【００４３】
インデックス作成部１２２は、作成または更新したインデックスをインデックス記憶部１４０に格納する（ステップＳＴ３０７）。インデックス作成部１２２は、インデックスを作成または更新する際に、上記ステップＳＴ３０４で受け取った公開日の情報も当該インデックスに含める。そして、インデックス作成部１２２は、インデックスの作成または更新が終了した旨をクローラ制御部１１３に通知する。以降、クローラ制御部１１３は、図５の「Ａ」以降に示す処理（すなわち、スケジュール決定処理）を行う。以上のように、クローラ制御部１１３は、検索クローラの呼び出し処理を実施する。
【００４４】
次に、上記のように、検索クローラにより作成または更新されたインデックスに基づいて、検索処理を実施する動作について説明する。図９は、検索エンジン１５０の動作を示すフローチャートである。図９を参照して、検索エンジン１５０の動作について説明する。
【００４５】
検索エンジン１５０は、インデックス検索部１５１において、ユーザからの検索条件を取得する（ステップＳＴ４０１）。インデックス検索部１５１は、ユーザから検索条件を取得した日時を、検索実行日時として取得する（ステップＳＴ４０２）。そして、インデックス検索部１５１は、ユーザからの検索条件と、公開日がステップＳＴ４０２にて取得した検索実行日時以前であることを条件として、インデックス記憶部１４０を検索する（ステップＳＴ４０３）。そして、検索結果表示制御部１５２は、検索された結果、すなわち、上記条件に合致するインデックスをユーザに提示する（ステップＳＴ４０４）。以上の処理により、検索エンジンは、ユーザからの検索条件に基づく文書に関する情報を検索すると共に、その結果をユーザに提示する。
【００４６】
以上のように、本第１の実施形態によれば、検索装置１００が検索対象とするファイルサーバの任意の場所に、予め、検索クローラの動作を定義する制御ファイルを配置する。検索装置１００のコントローラ１１０は、当該制御ファイルを各ファイルサーバから取得すると共に、当該制御ファイルに定義される、クロール時間帯、更新頻度等に基づいて、検索クローラによるクロール実行日時を含むスケジュールを決定する。この構成を採用することにより、本実施形態によれば、ファイルサーバにおける制御ファイルの配置場所の制約を受けることなく（、すなわち、ファイルサーバの任意の場所に制御ファイルを配置可能であり）、検索クローラによりクロールされる際のファイルサーバの負荷を低減することができるという効果が得られる。
【００４７】
また、クロールが開始された後に制御ファイルの解析が行われる場合では検索クローラの動作を「クロールする／しない」などの限定的に制御できるに限られるが、本実施形態によれば、クロールが開始される前に制御ファイルに基づいて検索クローラの動作を制御できるので、検索クローラの動作を柔軟に制御可能であるという効果が得られる。
【００４８】
また、制御ファイルにクロール時間帯を定義することにより検索クロールがファイルサーバにアクセスするタイミングを把握できるので、ファイルサーバを停止するタイミング等を自由に決めることができるという効果が得られる。これにより、例えば稼働時間に応じて課金されるファイルサーバを使用する場合に、検索クロールにアクセスされるタイミング以外はファイルサーバを停止することができるので、無駄な課金が発生しないという効果が得られる。
【００４９】
さらに、コントローラ１１０は、制御ファイルに定義された公開日も、クロールされた文書に関するインデックスに含める。この構成により、本実施形態によれば、管理者は、制御ファイルに公開日を定義することにより、文書を検索結果として表示するタイミングを設定できる（、すなわち検索結果を操作できる）という効果が得られる。
【００５０】
第２の実施形態
次に、上述した第１の実施形態を基礎とする第２の実施形態について説明する。以下の説明では、第１の実施形態と同様の構成については同じ参照番号を付与することにより、重複する説明は省略する。
【００５１】
図１０は、本発明の第２の実施形態に係る検索システム５００の構成の概要を示す図である。図１０に示すように、検索システム５００は、上記第１の実施形態において説明した検索装置１００と同様の構成を備えるが、検索装置１００における検索クローラ１２０乃至１４０は、検索システム５００における検索クローラサーバ２００乃至２２０に置き換えられる。同様に、検索装置１００におけるコントローラ１１０は、検索システム５００におけるコントローラサーバ２５０に置き換えられる。
【００５２】
検索システム５００は、上記第１の実施形態における検索装置１００における検索クローラ１２０乃至１４０、コントローラ１１０を、それぞれ通信ネットワークを介して通信可能なサーバにより構成した分散システムである。
【００５３】
検索クローラサーバ２００乃至２２０、コントローラサーバ２５０は、それぞれ上記第１の実施形態における検索クローラ１２０乃至１４０、コントローラ１１０と同様の動作を行う。
【００５４】
図１１は、図１０に示す検索システム５００におけるコントローラサーバ２５０が備えるクローラ制御部２５３によるスケジュール決定処理を示すフローチャートである。図１１を参照して、コントローラサーバ２５０によるスケジュール決定処理について説明する。
【００５５】
図１１に示す処理は、第１の実施形態において説明した図５に示す処理に、ステップＳＴ２１０、ステップＳＴ２１２およびステップＳＴ２１２が追加された処理である。すなわち、クローラ制御部２５３は、図１１に示す「Ａ」の通知、すなわち、いずれかの検索クローラサーバから、インデックスの作成または更新が終了した旨の通知を受けると、ステップＳＴ２１０を開始する。
【００５６】
クローラ制御部２５３は、上記通知を受けた日時と、クロールスケジュールＤＢ２５５に格納される当該インデックスが作成されたパスのクロールが開始された日時とに基づいて、当該インデックスの作成または更新に要した時間を計算する（ステップＳＴ２１０）。
【００５７】
続いて、上記図５と同様に、クローラ制御部２５３は、ステップＳＴ２０１乃至ステップＳＴ２０３を行う。続いてクローラ制御部２５３は、ステップＳＴ２０３で計算した日時に、ステップＳＴ２１０で計算した時間を加えた日時を、インデックス更新（、すなわちクロール実行）の終了予定日時として算出する（ステップＳＴ２１１）。
【００５８】
続いてクローラ制御部２５３は、ステップＳＴ２１１において計算した終了予定日時と、クロールスケジュールＤＢ２５５に格納される、他のインデックスに関する終了予定日時とを参照し、当該インデックスの更新に割り当てる予定の検索クローラサーバを決定する（ステップＳＴ２１２）。このとき、クローラ制御部２５３は、一の検索クローラサーバによるインデックス更新の実行時間に、他のインデックスの更新を割り当てないように、割り当てる検索クローラサーバを決定する。
【００５９】
クローラ制御部２５３は、図５と同様に、算出した次回のクロール実行日時を含むスケジュール情報を、クロールスケジュールＤＢ２５５に格納する（ステップＳＴ２０４）。図１２は、クローラ制御部２５３がクロールスケジュールＤＢ２５５に格納するスケジュール情報を示す図である。図１２に示すように、クロールスケジュールＤＢ２５５は、図７に示したスケジュール情報に加えて、終了予定日時と、割り当て予定の検索クローラサーバの識別情報とを格納する。
【００６０】
続いて、クローラ制御部２５３は、図５と同様に、クロールスケジュールＤＢ２５５に格納される情報を、次回のクロール実行日時の降順でソートする（ステップＳＴ２０５）。
【００６１】
以上のように、本第２の実施形態によれば、クロールを実施するスケジュールの決定や、クロールの実施を、それぞれコントローラサーバや、検索クローラサーバで行う分散システムを構築する。この構成を採用することにより、本実施形態によれば、割り当て予定のない検索クローラサーバの電源を落とすことが可能となり、省エネルギーを達成できるという効果が得られる。
【００６２】
第３の実施形態
図１２は、本発明の第３の実施形態に係る検索装置６００の構成の概要を示す図である。図１２に示すように、検索装置６００は、巡回制御部６０１および巡回部６０２を備える。
【００６３】
巡回制御部６０１は、通信ネットワークを介して通信可能な格納装置に格納される、当該格納装置に格納される文書の巡回に関する定義を含む制御情報に基づいて、前記巡回のスケジュールを決定する。
【００６４】
巡回部６０２は、前記巡回制御手段が決定したスケジュールにしたがって、前記格納装置に格納される文書を巡回すると共に当該文書に関する索引情報を作成または更新する。
【００６５】
上記構成を採用することにより、本実施形態によれば、制御情報に関する制約を受けることなく、文書が巡回される際の格納装置の負荷を低減することができるという効果が得られる。
【００６６】
なお、図１および図１３に示した検索装置の各部は、図１４に例示するハードウエア資源において実現される。すなわち、図１４に示す構成は、ＣＰＵ１０、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２、外部接続インタフェース１３および記憶媒体１４を備える。ＣＰＵ１０は、ＲＯＭ１２または記憶媒体１４に記憶された各種ソフトウエア・プログラム（コンピュータ・プログラム）を、ＲＡＭ１１に読み出して実行することにより、検索装置の全体的な動作を司る。すなわち、上記各実施形態において、ＣＰＵ１０は、ＲＯＭ１２または記憶媒体１４を適宜参照しながら、検索装置が備える各機能（各部）を実行するソフトウエア・プログラムを実行する。
【００６７】
また、上述した各実施形態では、図１および図１３に示した検索装置における各ブロックに示す機能を、図１４に示すＣＰＵ１０が実行する一例として、ソフトウエア・プログラムによって実現する場合について説明した。しかしながら、図１および図１３に示した各ブロックに示す機能は、一部または全部を、ハードウエアとして実現してもよい。
【００６８】
また、各実施形態を例に説明した本発明は、検索装置に対して、上記説明した機能を実現可能なコンピュータ・プログラムを供給した後、そのコンピュータ・プログラムを、ＣＰＵ１０がＲＡＭ１１に読み出して実行することによって達成される。
【００６９】
また、係る供給されたコンピュータ・プログラムは、読み書き可能なメモリ（一時記憶媒体）またはハードディスク装置等のコンピュータ読み取り可能な記憶デバイスに格納すればよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムを表すコード或いは係るコンピュータ・プログラムを格納した記憶媒体によって構成されると捉えることができる。
【産業上の利用可能性】
【００７０】
本発明は、例えば、検索サービスを提供する検索システムに適用できる。
【符号の説明】
【００７１】
１０  ＣＰＵ
１１  ＲＡＭ
１２  ＲＯＭ
１３  外部接続インタフェース
１４  記憶媒体
１００、６００  検索装置
１１０  コントローラ
１１１、２５１  制御ファイル取得部
１１２、２５２  制御ファイル解析部
１１３、２５３  クローラ制御部
１１４、２５４  制御ファイル管理ＤＢ
１１５、２５５  クロールスケジュールＤＢ
１１６、２５６  クローラ管理ＤＢ
１２０乃至１４０  検索クローラ
１２１、２０１  文書取得部
１２２、２０２  インデックス作成部
１５０乃至１７０  検索エンジン
１５１  インデックス検索部
１５２  検索結果表示部
１８０  通信ネットワーク
３１０乃至３３０  ファイルサーバ
【図１】
2015172808.tif 000003
【図２】
2015172808.tif 000004
【図３】
2015172808.tif 000005
【図４】
2015172808.tif 000006
【図５】
2015172808.tif 000007
【図６】
2015172808.tif 000008
【図７】
2015172808.tif 000009
【図８】
2015172808.tif 000010
【図９】
2015172808.tif 000011
【図１０】
2015172808.tif 000012
【図１１】
2015172808.tif 000013
【図１２】
2015172808.tif 000014
【図１３】
2015172808.tif 000015
【図１４】
2015172808.tif 000016