(57)【要約】【課題】構造化文書の登録更新処理への影響を抑えつつ、転送データ量を少なくする検索計画を作成することができる構造化文書検索システム、装置、及び方法を提供する。【解決手段】判定部１２４が、実行済検索命令、文書管理装置２０の識別情報、及び検索結果概要情報を対応付けた検索結果情報を記憶する検索結果記憶部１３０の実行済検索命令と検索命令が一致するか否かを判定し、作成部１２６が、一致すると判定された場合、実行済検索命令に対応する識別情報及び検索結果概要情報を参照して検索要求の検索計画を作成し、一致すると判定されなかった場合、検索結果情報を用いて検索命令に対応する識別情報及び検索結果概要情報を推定し検索要求の検索計画を作成し、履歴部１４０が、検索命令、文書管理装置の識別情報、及び検索命令の検索結果の件数又はデータ量を、それぞれ検索結果記憶部の実行済検索命令、識別情報、及び検索結果概要情報として履歴する。【選択図】図４
2010176319.tif 000002
【特許請求の範囲】
【請求項１】
階層化された論理構造を有する複数の構造化文書を分散して格納する複数の文書管理装置と、複数の前記文書管理装置とネットワークを介して接続され、複数の前記文書管理装置から前記構造化文書を検索する検索装置と、を備える構造化文書検索システムであって、
前記検索装置は、
ネットワークを介して接続されるクライアント装置から前記構造化文書の検索要求を受信する要求受信部と、
前記検索要求を構文解析し、当該検索要求を複数の前記文書管理装置の少なくともいずれかに実行させる検索命令に分解する解析部と、
既に実行済みの前記検索命令である実行済検索命令と、当該実行済検索命令による検索が実行された前記文書管理装置の識別情報と、当該実行済検索命令の検索結果の件数又はデータ量を示す検索結果概要情報とを対応付けた検索結果情報を記憶する検索結果記憶部と、
前記検索命令が前記検索結果記憶部に記憶されている前記実行済検索命令と一致するか否かを判定する判定部と、
一致すると判定された場合、一致した前記実行済検索命令に対応する前記識別情報及び前記検索結果概要情報を参照して前記検索要求の検索計画を作成し、一致すると判定されなかった場合、前記検索結果情報を用いて前記検索命令に対応する前記識別情報及び前記検索結果概要情報を推定し、前記検索要求の検索計画を作成する作成部と、
前記検索計画に従って、前記検索命令を複数の前記文書管理装置の少なくともいずれかに送信する命令送信部と、
前記検索命令が送信された前記文書管理装置から、前記検索命令の検索結果を受信する検索結果受信部と、
前記検索命令、前記検索命令が送信された前記文書管理装置の識別情報、及び受信した前記検索命令の前記検索結果の件数又はデータ量を、それぞれ前記検索結果記憶部の前記実行済検索命令、前記識別情報、及び前記検索結果概要情報として履歴する履歴部と、
受信した前記検索命令の検索結果に基づく前記検索要求の検索結果を、前記クライアント装置に送信する検索結果送信部と、を備え、
前記文書管理装置は、
前記構造化文書を記憶する第１構造化文書記憶部と、
前記検索装置から前記検索命令を受信する受信部と、
前記検索命令に従って前記第１構造化文書記憶部から前記構造化文書を検索する第１検索部と、
前記構造化文書の検索結果を前記検索装置に送信する送信部とを備えることを特徴とする構造化文書検索システム。
【請求項２】
前記検索装置は、
前記構造化文書を記憶する第２構造化文書記憶部と、
前記検索計画に従い、前記検索命令を実行して、前記第２構造化文書記憶部から前記構造化文書を検索する第２検索部と、を更に備え、
前記検索結果送信部は、受信した前記検索命令の検索結果及び前記第２検索部の検索結果に基づく前記検索要求の検索結果を、前記クライアント装置に送信することを特徴とする請求項１に記載の構造化文書検索システム。
【請求項３】
階層化された論理構造を有する複数の構造化文書を分散して格納する複数の文書管理装置とネットワークを介して接続され、複数の前記文書管理装置から前記構造化文書を検索する検索装置であって、
ネットワークを介して接続されるクライアント装置から前記構造化文書の検索要求を受信する要求受信部と、
前記検索要求を構文解析し、当該検索要求を複数の前記文書管理装置の少なくともいずれかに実行させる検索命令に分解する解析部と、
既に実行済みの前記検索命令である実行済検索命令と、当該実行済検索命令による検索が実行された前記文書管理装置の識別情報と、当該実行済検索命令の検索結果の件数又はデータ量を示す検索結果概要情報とを対応付けた検索結果情報を記憶する検索結果記憶部と、
前記検索命令が前記検索結果記憶部に記憶されている前記実行済検索命令と一致するか否かを判定する判定部と、
一致すると判定された場合、一致した前記実行済検索命令に対応する前記識別情報及び前記検索結果概要情報を参照して前記検索要求の検索計画を作成し、一致すると判定されなかった場合、前記検索結果情報を用いて前記検索命令に対応する前記識別情報及び前記検索結果概要情報を推定し、前記検索要求の検索計画を作成する作成部と、
前記検索計画に従って、前記検索命令を複数の前記文書管理装置の少なくともいずれかに送信する命令送信部と、
前記検索命令が送信された前記文書管理装置から、前記検索命令の検索結果を受信する検索結果受信部と、
前記検索命令、前記検索命令が送信された前記文書管理装置の識別情報、及び受信した前記検索命令の前記検索結果の件数又はデータ量を、それぞれ前記検索結果記憶部の前記実行済検索命令、前記識別情報、及び前記検索結果概要情報として履歴する履歴部と、
受信した前記検索命令の検索結果に基づく前記検索要求の検索結果を、前記クライアント装置に送信する検索結果送信部と、を備えることを特徴とする構造化文書検索装置。
【請求項４】
階層化された論理構造を有する複数の構造化文書を分散して格納する複数の文書管理装置と、複数の前記文書管理装置とネットワークを介して接続され、複数の前記文書管理装置から前記構造化文書を検索する検索装置と、を備える構造化文書検索システムで実行される構造化文書検索方法であって、
前記検索装置は、
要求受信部が、ネットワークを介して接続されるクライアント装置から前記構造化文書の検索要求を受信する要求受信ステップと、
解析部が、前記検索要求を構文解析し、当該検索要求を複数の前記文書管理装置の少なくともいずれかに実行させる検索命令に分解する解析ステップと、
判定部が、前記検索命令が、既に実行済みの前記検索命令である実行済検索命令と、当該実行済検索命令による検索が実行された前記文書管理装置の識別情報と、当該実行済検索命令の検索結果の件数又はデータ量を示す検索結果概要情報とを対応付けた検索結果情報を記憶する検索結果記憶部に記憶されている前記実行済検索命令と一致するか否かを判定する判定ステップと、
作成部が、一致すると判定された場合、一致した前記実行済検索命令に対応する前記識別情報及び前記検索結果概要情報を参照して前記検索要求の検索計画を作成し、一致すると判定されなかった場合、前記検索結果情報を用いて前記検索命令に対応する前記識別情報及び前記検索結果概要情報を推定し、前記検索要求の検索計画を作成する作成ステップと、
命令送信部が、前記検索計画に従って、前記検索命令を複数の前記文書管理装置の少なくともいずれかに送信する命令送信ステップと、
検索結果受信部が、前記検索命令が送信された前記文書管理装置から、前記検索命令の検索結果を受信する検索結果受信ステップと、
履歴部が、前記検索命令、前記検索命令が送信された前記文書管理装置の識別情報、及び受信した前記検索命令の前記検索結果の件数又はデータ量を、それぞれ前記検索結果記憶部の前記実行済検索命令、前記識別情報、及び前記検索結果概要情報として履歴する履歴ステップと、
検索結果送信部が、受信した前記検索命令の検索結果に基づく前記検索要求の検索結果を、前記クライアント装置に送信する検索結果送信ステップと、を含み、
前記文書管理装置は、
受信部が、前記検索装置から前記検索命令を受信する受信ステップと、
第１検索部が、前記検索命令に従って前記構造化文書を記憶する第１構造化文書記憶部から前記構造化文書を検索する第１検索ステップと、
送信部が、前記構造化文書の検索結果を前記検索装置に送信する送信ステップと、を含むことを特徴とする構造化文書検索方法。
【請求項５】
階層化された論理構造を有する複数の構造化文書を分散して格納する複数の文書管理装置とネットワークを介して接続され、複数の前記文書管理装置から前記構造化文書を検索する検索装置で実行される構造化文書検索方法であって、
前記検索装置は、
要求受信部が、ネットワークを介して接続されるクライアント装置から前記構造化文書の検索要求を受信する要求受信ステップと、
解析部が、前記検索要求を構文解析し、当該検索要求を複数の前記文書管理装置の少なくともいずれかに実行させる検索命令に分解する解析ステップと、
判定部が、前記検索命令が、既に実行済みの前記検索命令である実行済検索命令と、当該実行済検索命令による検索が実行された前記文書管理装置の識別情報と、当該実行済検索命令の検索結果の件数又はデータ量を示す検索結果概要情報とを対応付けた検索結果情報を記憶する検索結果記憶部に記憶されている前記実行済検索命令と一致するか否かを判定する判定ステップと、
作成部が、一致すると判定された場合、一致した前記実行済検索命令に対応する前記識別情報及び前記検索結果概要情報を参照して前記検索要求の検索計画を作成し、一致すると判定されなかった場合、前記検索結果情報を用いて前記検索命令に対応する前記識別情報及び前記検索結果概要情報を推定し、前記検索要求の検索計画を作成する作成ステップと、
命令送信部が、前記検索計画に従って、前記検索命令を複数の前記文書管理装置の少なくともいずれかに送信する命令送信ステップと、
検索結果受信部が、前記検索命令が送信された前記文書管理装置から、前記検索命令の検索結果を受信する検索結果受信ステップと、
履歴部が、前記検索命令、前記検索命令が送信された前記文書管理装置の識別情報、及び受信した前記検索命令の前記検索結果の件数又はデータ量を、それぞれ前記検索結果記憶部の前記実行済検索命令、前記識別情報、及び前記検索結果概要情報として履歴する履歴ステップと、
検索結果送信部が、受信した前記検索命令の検索結果に基づく前記検索要求の検索結果を、前記クライアント装置に送信する検索結果送信ステップと、を含むことを特徴とする構造化文書検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、構造化文書検索システム、装置、及び方法に関する。
【背景技術】
【０００２】
従来から、単一の計算機では管理しきれない大量のデータを、複数の計算機（以下、「ノード」と称する）で分散して管理する分散データベースが知られている。このような分散データベースにおいて、問い合わせ処理時間の短縮、いわゆる問い合わせの最適化を行う場合は、複数のノードで分散してデータを管理しているため、問い合わせ処理での個々の操作の実行時間を短縮することに加え、問い合わせ処理中に発生するデータ転送処理の時間をできる限り削減することが望まれる。
【０００３】
そして、データ転送処理の時間を短縮するためには、ノード間で転送されるデータ量を削減する必要がある。例えば、問い合わせ中で別々のノードが保持しているデータの結合操作が行われるようなものが、ノード間でのデータ転送が発生する問い合わせとなる。
【０００４】
例えば特許文献１では、データベースで管理されている問い合わせ対象データの種別毎に統計情報と検索計画の最適化手法を用意しておくことにより、検索計画の最適化および最適化計画の追加を容易にすることが開示されている。
【０００５】
また、例えば特許文献２では、問い合わせ毎にその問い合わせの条件を学習することにより、頻度の高い問い合わせを高速に処理できるようにデータベースのデータ配置を変更することが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平５−８１３３０号公報
【特許文献２】特開２００７−１２８５４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１で開示された手法は、問い合わせ対象データの種別毎に検索計画の最適化手法を用意しなければならないため、ＲＤＢ（relational database）のリレーションのように、データ構造（スキーマ）が予め定まっているものにしか適用できない。
【０００８】
従って、ＸＭＬ（Extensible Markup Language）文書のような、データ構造が予め定まっていない、構造化文書を検索対象とする分散データベースにこの手法を用いた場合、問い合わせ対象データ（ＸＭＬ文書でのノード）の種類が無数となり、統計情報や最適化手法も無数に用意しなければならないという問題がある。加えて、先に述べた問い合わせ処理中のデータ転送処理を考慮した最適化を行うことはできない。
【０００９】
また、分散データベースで保持するデータは膨大な量になるため、特許文献２で開示された手法を採用するとしても、データ配置を変更することは容易ではない。
【００１０】
なお、分散データベースに対する構造化文書の登録更新を、問い合わせを受け付けるノード経由で行い、登録更新ごとに転送データ量を予測するためのデータを抽出する方法なども考えられるが、登録更新処理時に対象の構造化文書を詳細に解析する必要があるため、登録更新処理の性能が悪化する可能性が高い。
【００１１】
本発明は、上記事情に鑑みてなされたものであり、構造化文書の登録更新処理への影響を抑えつつ、転送データ量を少なくする検索計画を作成することができる構造化文書検索システム、装置、及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するために、本発明の一態様にかかる構造化文書検索システムは、階層化された論理構造を有する複数の構造化文書を分散して格納する複数の文書管理装置と、複数の前記文書管理装置とネットワークを介して接続され、複数の前記文書管理装置から前記構造化文書を検索する検索装置と、を備える構造化文書検索システムであって、前記検索装置は、ネットワークを介して接続されるクライアント装置から前記構造化文書の検索要求を受信する要求受信部と、前記検索要求を構文解析し、当該検索要求を複数の前記文書管理装置の少なくともいずれかに実行させる検索命令に分解する解析部と、既に実行済みの前記検索命令である実行済検索命令と、当該実行済検索命令による検索が実行された前記文書管理装置の識別情報と、当該実行済検索命令の検索結果の件数又はデータ量を示す検索結果概要情報とを対応付けた検索結果情報を記憶する検索結果記憶部と、前記検索命令が前記検索結果記憶部に記憶されている前記実行済検索命令と一致するか否かを判定する判定部と、一致すると判定された場合、一致した前記実行済検索命令に対応する前記識別情報及び前記検索結果概要情報を参照して前記検索要求の検索計画を作成し、一致すると判定されなかった場合、前記検索結果情報を用いて前記検索命令に対応する前記識別情報及び前記検索結果概要情報を推定し、前記検索要求の検索計画を作成する作成部と、前記検索計画に従って、前記検索命令を複数の前記文書管理装置の少なくともいずれかに送信する命令送信部と、前記検索命令が送信された前記文書管理装置から、前記検索命令の検索結果を受信する検索結果受信部と、前記検索命令、前記検索命令が送信された前記文書管理装置の識別情報、及び受信した前記検索命令の前記検索結果の件数又はデータ量を、それぞれ前記検索結果記憶部の前記実行済検索命令、前記識別情報、及び前記検索結果概要情報として履歴する履歴部と、受信した前記検索命令の検索結果に基づく前記検索要求の検索結果を、前記クライアント装置に送信する検索結果送信部と、を備え、前記文書管理装置は、前記構造化文書を記憶する第１構造化文書記憶部と、前記検索装置から前記検索命令を受信する受信部と、前記検索命令に従って前記第１構造化文書記憶部から前記構造化文書を検索する第１検索部と、前記構造化文書の検索結果を前記検索装置に送信する送信部とを備えることを特徴とする。
【００１３】
また、本発明の別の態様にかかる構造化文書検索装置は、階層化された論理構造を有する複数の構造化文書を分散して格納する複数の文書管理装置とネットワークを介して接続され、複数の前記文書管理装置から前記構造化文書を検索する検索装置であって、ネットワークを介して接続されるクライアント装置から前記構造化文書の検索要求を受信する要求受信部と、前記検索要求を構文解析し、当該検索要求を複数の前記文書管理装置の少なくともいずれかに実行させる検索命令に分解する解析部と、既に実行済みの前記検索命令である実行済検索命令と、当該実行済検索命令による検索が実行された前記文書管理装置の識別情報と、当該実行済検索命令の検索結果の件数又はデータ量を示す検索結果概要情報とを対応付けた検索結果情報を記憶する検索結果記憶部と、前記検索命令が前記検索結果記憶部に記憶されている前記実行済検索命令と一致するか否かを判定する判定部と、一致すると判定された場合、一致した前記実行済検索命令に対応する前記識別情報及び前記検索結果概要情報を参照して前記検索要求の検索計画を作成し、一致すると判定されなかった場合、前記検索結果情報を用いて前記検索命令に対応する前記識別情報及び前記検索結果概要情報を推定し、前記検索要求の検索計画を作成する作成部と、前記検索計画に従って、前記検索命令を複数の前記文書管理装置の少なくともいずれかに送信する命令送信部と、前記検索命令が送信された前記文書管理装置から、前記検索命令の検索結果を受信する検索結果受信部と、前記検索命令、前記検索命令が送信された前記文書管理装置の識別情報、及び受信した前記検索命令の前記検索結果の件数又はデータ量を、それぞれ前記検索結果記憶部の前記実行済検索命令、前記識別情報、及び前記検索結果概要情報として履歴する履歴部と、受信した前記検索命令の検索結果に基づく前記検索要求の検索結果を、前記クライアント装置に送信する検索結果送信部と、を備えることを特徴とする。
【００１４】
また、本発明の別の態様にかかる構造化文書検索方法は、階層化された論理構造を有する複数の構造化文書を分散して格納する複数の文書管理装置と、複数の前記文書管理装置とネットワークを介して接続され、複数の前記文書管理装置から前記構造化文書を検索する検索装置と、を備える構造化文書検索システムで実行される構造化文書検索方法であって、前記検索装置は、要求受信部が、ネットワークを介して接続されるクライアント装置から前記構造化文書の検索要求を受信する要求受信ステップと、解析部が、前記検索要求を構文解析し、当該検索要求を複数の前記文書管理装置の少なくともいずれかに実行させる検索命令に分解する解析ステップと、判定部が、前記検索命令が、既に実行済みの前記検索命令である実行済検索命令と、当該実行済検索命令による検索が実行された前記文書管理装置の識別情報と、当該実行済検索命令の検索結果の件数又はデータ量を示す検索結果概要情報とを対応付けた検索結果情報を記憶する検索結果記憶部に記憶されている前記実行済検索命令と一致するか否かを判定する判定ステップと、作成部が、一致すると判定された場合、一致した前記実行済検索命令に対応する前記識別情報及び前記検索結果概要情報を参照して前記検索要求の検索計画を作成し、一致すると判定されなかった場合、前記検索結果情報を用いて前記検索命令に対応する前記識別情報及び前記検索結果概要情報を推定し、前記検索要求の検索計画を作成する作成ステップと、命令送信部が、前記検索計画に従って、前記検索命令を複数の前記文書管理装置の少なくともいずれかに送信する命令送信ステップと、検索結果受信部が、前記検索命令が送信された前記文書管理装置から、前記検索命令の検索結果を受信する検索結果受信ステップと、履歴部が、前記検索命令、前記検索命令が送信された前記文書管理装置の識別情報、及び受信した前記検索命令の前記検索結果の件数又はデータ量を、それぞれ前記検索結果記憶部の前記実行済検索命令、前記識別情報、及び前記検索結果概要情報として履歴する履歴ステップと、検索結果送信部が、受信した前記検索命令の検索結果に基づく前記検索要求の検索結果を、前記クライアント装置に送信する検索結果送信ステップと、を含み、前記文書管理装置は、受信部が、前記検索装置から前記検索命令を受信する受信ステップと、第１検索部が、前記検索命令に従って前記構造化文書を記憶する第１構造化文書記憶部から前記構造化文書を検索する第１検索ステップと、送信部が、前記構造化文書の検索結果を前記検索装置に送信する送信ステップと、を含むことを特徴とする。
【００１５】
また、本発明の別の態様にかかる構造化文書検索方法は、階層化された論理構造を有する複数の構造化文書を分散して格納する複数の文書管理装置とネットワークを介して接続され、複数の前記文書管理装置から前記構造化文書を検索する検索装置で実行される構造化文書検索方法であって、前記検索装置は、要求受信部が、ネットワークを介して接続されるクライアント装置から前記構造化文書の検索要求を受信する要求受信ステップと、解析部が、前記検索要求を構文解析し、当該検索要求を複数の前記文書管理装置の少なくともいずれかに実行させる検索命令に分解する解析ステップと、判定部が、前記検索命令が、既に実行済みの前記検索命令である実行済検索命令と、当該実行済検索命令による検索が実行された前記文書管理装置の識別情報と、当該実行済検索命令の検索結果の件数又はデータ量を示す検索結果概要情報とを対応付けた検索結果情報を記憶する検索結果記憶部に記憶されている前記実行済検索命令と一致するか否かを判定する判定ステップと、作成部が、一致すると判定された場合、一致した前記実行済検索命令に対応する前記識別情報及び前記検索結果概要情報を参照して前記検索要求の検索計画を作成し、一致すると判定されなかった場合、前記検索結果情報を用いて前記検索命令に対応する前記識別情報及び前記検索結果概要情報を推定し、前記検索要求の検索計画を作成する作成ステップと、命令送信部が、前記検索計画に従って、前記検索命令を複数の前記文書管理装置の少なくともいずれかに送信する命令送信ステップと、検索結果受信部が、前記検索命令が送信された前記文書管理装置から、前記検索命令の検索結果を受信する検索結果受信ステップと、履歴部が、前記検索命令、前記検索命令が送信された前記文書管理装置の識別情報、及び受信した前記検索命令の前記検索結果の件数又はデータ量を、それぞれ前記検索結果記憶部の前記実行済検索命令、前記識別情報、及び前記検索結果概要情報として履歴する履歴ステップと、検索結果送信部が、受信した前記検索命令の検索結果に基づく前記検索要求の検索結果を、前記クライアント装置に送信する検索結果送信ステップと、を含むことを特徴とする。
【発明の効果】
【００１６】
本発明では、既に検索済みの検索命令である実行済検索命令と、当該実行済検索命令による検索が実行された文書管理装置の識別情報と、当該検索命令により文書管理装置から返却される検索結果の件数又はデータ量を示す検索結果概要情報とを対応付けた検索結果情報を記憶している。従って本発明によれば、この検索結果情報を用いることにより、構造化文書の登録更新処理への影響を抑えつつ、転送データ量を少なくする検索計画を作成することができるという効果を奏する。
【図面の簡単な説明】
【００１７】
【図１】図１は、本実施の形態の構造化文書検索システムの概略構成の一例を示すブロック図である。
【図２】図２は、本実施の形態の構造化文書の一例を示す図である。
【図３】図３は、本実施の形態の構造化文書の一例を示す図である。
【図４】図４は、本実施の形態の構造化文書検索装置及び構造化文書管理装置の構成の一例を示すブロック図である。
【図５】図５は、本実施の形態の構造化文書の検索要求の一例を示す図である。
【図６】図６は、本実施の形態の構造化文書の転送手法の一例を説明するための図である。
【図７】図７は、本実施の形態の構造化文書の転送手法の一例を説明するための図である。
【図８】図８は、本実施の形態の構造化文書の転送手法の一例を説明するための図である。
【図９】図９は、本実施の形態の構造化文書の検索計画の作成手法の一例を説明するための図である。
【図１０】図１０は、本実施の形態の構造化文書の検索計画の作成手法の一例を説明するための図である。
【図１１】図１１は、本実施の形態の構造化文書検索装置で行われる構造化文書の検索の処理手順の流れの一例を示すフローチャートである。
【図１２】図１２は、本実施の形態の構造化文書検索装置で行われる検索計画作成処理の処理手順の流れの一例を示すフローチャートである。
【図１３】図１３は、本実施の形態の構造化文書管理装置で行われる構造化文書の検索の処理手順の流れの一例を示すフローチャートである。
【図１４】図１４は、変形例の構造化文書検索装置の構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１８】
以下、添付図面を参照しながら、本発明にかかる構造化文書検索システム、装置、及び方法の最良な実施の形態を詳細に説明する。
【００１９】
まず、本実施の形態の構造化文書検索システムの構成について説明する。
【００２０】
図１は、本実施の形態の構造化文書検索システムの概略構成の一例を示すブロック図である。図１に示すように、構造化文書検索システム１は、構造化文書を検索する構造化文書検索装置１０と、階層化された論理構造を有する複数の構造化文書を分散して管理する複数の構造化文書管理装置２０とを備えており、各装置は、ネットワーク３０を介して接続されている。
【００２１】
図２及び図３は、本実施の形態の構造化文書の一例を示す図である。図２及び図３に示すように、本実施の形態では、構造化文書はＸＭＬ（Extensible Markup Language）で記述されているが、ＳＧＭＬ（Standard Generalized Markup Language）やＨＴＭＬ（Hyper text Markup Language）などで記述された構造化文書でもよい。
【００２２】
また、ネットワーク３０にはクライアント装置２も接続されており、クライアント装置２が構造化文書検索装置１０に対して構造化文書の検索を要求することにより、構造化文書検索装置１０が複数の構造化文書管理装置２０から構造化文書を検索する。
【００２３】
なお、ネットワーク３０は、有線若しくは無線、またＬＡＮ(Local Area Network)や公衆通信回線を問わず、どのようなネットワークであってもよい。また、構造化文書検索装置１０と複数の構造化文書管理装置２０とを接続するネットワークと、クライアント装置２と構造化文書検索装置１０とを接続するネットワークとを、別々のネットワークで構成してもよい。
【００２４】
図４は、本実施の形態の構造化文書検索装置１０及び構造化文書管理装置２０の構成の一例を示すブロック図である。図４に示すように、構造化文書検索装置１０は、通信制御部１１０と、検索指示部１２０と、検索結果記憶部１３０と、履歴部１４０と、格納指示部１５０とを備える。
【００２５】
通信制御部１１０は、クライアント装置２や複数の構造化文書管理装置２０との間でのデータの送受信を行うものであり、要求受信部１１２と、命令送信部１１４と、検索結果受信部１１６と、検索結果送信部１１８とを含む。
【００２６】
要求受信部１１２は、クライアント装置２から送信される構造化文書の検索要求や格納要求を受信する。
【００２７】
図５は、クライアント装置２から送信される構造化文書の検索要求の一例を示す図である。図５に示すように、本実施の形態では、クライアント装置２から送信される構造化文書の検索要求は、Ｗ３Ｃ（World Wide Web Consortium）で標準化されているＸＭＬで記述された構造化文書に対する問い合わせ言語ＸＱｕｅｒｙ（An XML Query Language）で記述されている。
【００２８】
図５に示す検索要求のｄｂ（“特許ＤＢ”）は、図２に示すような構造の構造化文書群が管理されている構造化文書管理装置２０を特定するためのｄｂ関数呼び出しであり、ｄｂ（“分類コード”）は、図３に示すような構造の構造化文書群が管理されている構造化文書管理装置２０を特定するためのｄｂ関数呼び出しであり、ｄｂ関数は事前に定義されているものとする。
【００２９】
なお、命令送信部１１４、検索結果受信部１１６、及び検索結果送信部１１８の詳細は後述する。
【００３０】
検索指示部１２０は、要求受信部１１２により受け付けられた検索要求に基づいて、複数の構造化文書管理装置２０に対して所定の構造化文書の検索等を指示する。そして、検索指示部１２０は、解析部１２２と、判定部１２４と、作成部１２６とを含む。
【００３１】
解析部１２２は、要求受信部１１２により受け付けられた検索要求の構文解析を行い、当該検索要求を複数の前記文書管理装置２０の少なくともいずれかに実行させる検索命令に分解する。
【００３２】
図５に示す例の場合、解析部１２２は、「ｄｂ（“特許ＤＢ”）／特許」のパスを有するデータのうち、「ｄｂ（“分類コード”）／テーマ／テーマ１」のパスを有するデータと分類コードが一致し、かつ発明の名称に「データベース」の文字列が含まれる「ｄｂ（“特許ＤＢ”）／特許」のパスを有するデータの返却が要求されていることを解析する。
【００３３】
このため解析部１２２は、図５に示す検索要求の場合、「ｄｂ（“分類コード”）／／テーマ１／分類コード」のパスを有するデータと「ｄｂ（“特許ＤＢ”）／特許／分類コード」のパスを有するデータとを結合したデータに該当するデータを検索する検索命令、「ｄｂ（“特許ＤＢ”）／特許／発明の名称」で文字列「データベース」を含むデータを検索する検索命令、「ｄｂ（“特許ＤＢ”）／特許」に該当するデータを検索する検索命令などに分解する。
【００３４】
検索結果記憶部１３０は、構造化文書検索装置１０により既に検索済みの検索命令である実行済検索命令と、当該実行済検索命令による検索が実行された文書管理装置２０の識別情報と、当該実行済検索命令の検索結果の件数又はデータ量を示す検索結果概要情報とを対応付けた検索結果情報を記憶する。なお、検索結果記憶部１３０は、例えば、ＨＤＤ（Hard Disk Drive）、光ディスク、メモリカード、ＲＡＭ（Random Access Memory）などの既存の記憶媒体により実現できる。
【００３５】
判定部１２４は、解析部１２２により分解された検索命令が検索結果記憶部１３０に記憶されている実行済検索命令と一致するか否かを判定する。
【００３６】
作成部１２６は、解析部１２２の解析結果や判定部１２４の判定結果から、各構造化文書管理装置２０に実行させる検索命令や、構造化文書管理装置２０での検索結果の転送ルートなどの検索計画を作成する。
【００３７】
例えば、図６に示すように、複数の構造化文書管理装置が構造化文書管理装置２０−１〜２０−４で構成され、構造化文書管理装置２０−１、２０−２は、図３に示す構造の構造化文書群を管理し、構造化文書管理装置２０−３、２０−４は、図２に示す構造の構造化文書群を管理しているものとする。
【００３８】
この条件の下、作成部１２６が、図５に示す検索要求の解析結果から検索計画を作成する場合、「ｄｂ（“分類コード”）／／テーマ１／分類コード」のパスを有するデータと「ｄｂ（“特許ＤＢ”）／特許／分類コード」のパスを有するデータとの間での結合処理を行う必要がある。
【００３９】
この場合、図７に示すように、結合に必要な全てのデータを構造化文書検索装置１０に集めてから結合処理を行う検索計画１が考えられる。また、図８に示すように、結合に必要な一部のデータを構造化文書管理装置２０−１、２０−２から構造化文書検索装置１０経由で構造化文書管理装置２０−３、２０−４に転送し、構造化文書管理装置２０−３、２０−４で結合処理を行い、その結果を構造化文書検索装置１０に返却する検索計画２も考えられる。
【００４０】
ところで、このようなデータ転送を伴う結合処理を行う場合、作成部１２６は、検索処理時間を短縮するために、一般的にデータ転送量の少ない検索計画を作成することが要求される。このため作成部１２６は、例えば、「ｄｂ（“分類コード”）／／テーマ１／分類コード」のパスを有するデータと「ｄｂ（“特許ＤＢ”）／特許／分類コード」のパスを有するデータのデータ件数とがほぼ同量であるとわかる場合には、検索計画１を作成する。また例えば、「ｄｂ（“分類コード”）／／テーマ１／分類コード」のパスを有するデータの件数が少なく、「ｄｂ（“特許ＤＢ”）／特許／分類コード」のパスを有するデータのデータ件数が多いとわかる場合には、検索計画２を作成する。
【００４１】
つまり、本実施の形態の作成部１２６は、検索結果記憶部１３０からＩＤなどの識別情報や、データの件数、データ量、値の分布、分類コードが合致するデータの件数やデータ量などである検索結果概要情報を参照して最適な検索計画を作成する。
【００４２】
具体的には、作成部１２６は、判定部１２４により解析部１２２により分解された検索命令が検索結果記憶部１３０に記憶されている実行済検索命令と一致すると判定された場合、当該実行済検索命令に対応する識別情報及び検索結果概要情報を参照して検索要求の検索計画を作成する。
【００４３】
図９は、検索結果記憶部１３０に記憶されている検索結果情報の一例を示す図であり、「ｄｂ（“分類コード”）／／テーマ１／分類コード」のパスを有するデータの実行済検索命令に関する検索結果情報と、「ｄｂ（“特許ＤＢ”）／特許」のパスを有するデータの実行済検索命令に関する検索結果情報が記憶されている。
【００４４】
この場合、作成部１２６は、「ｄｂ（“分類コード”）／／テーマ１／分類コード」のパスを有するデータの実行済検索命令に対応する識別情報及び検索結果概要情報、具体的には、ノードＩＤ１が５０件、ノードＩＤ２が５０件、ノードＩＤ３が０件、ノードＩＤ４が０件という情報を参照する。
【００４５】
同様に、作成部１２６は、「ｄｂ（“特許ＤＢ”）／特許」のパスを有するデータの実行済検索命令に対応する識別情報及び検索結果概要情報、具体的には、ノードＩＤ１が０件、ノードＩＤ２が０件、ノードＩＤ３が２０００件、ノードＩＤ４が２０００件という情報を参照する。
【００４６】
この結果、作成部１２６は、「ｄｂ（“分類コード”）／／テーマ１／分類コード」のパスを有するデータの件数が、「ｄｂ（“特許ＤＢ”）／特許」のパスを有するデータの件数に比べ極端に少ないため、図８に示すような検索計画２を作成する。
【００４７】
なお本実施の形態では、ノードＩＤ１、２、３、４は、それぞれ構造化文書管理装置２０−１、２０−２、２０−３、２０−４の識別情報を示すものとする。また、本実施の形態では検索結果概要情報としてノードＩＤごとのヒット件数を記憶しているが、これに限らずデータ量などを記憶することにしてもよい。
【００４８】
また、作成部１２６は、判定部１２４により解析部１２２により分解された検索命令が検索結果記憶部１３０に記憶されている実行済検索命令と一致すると判定されなかった場合、検索結果情報を用いて当該検索命令に対応する識別情報及び検索結果概要情報を推定し、検索要求の検索計画を作成する。なお、推定手法としては、例えば、パスの先祖、子孫関係や選択条件の包含関係などによる推定がある。
【００４９】
図１０は、検索結果記憶部１３０に記憶されている検索結果情報の一例を示す図であり、「ｄｂ（“特許ＤＢ”）／特許／特許請求の範囲／請求項」のパスを有するデータの実行済検索命令に関する検索結果情報と、「ｄｂ（“特許ＤＢ”）／特許／／請求項／ｔｅｘｔ（）」のパスを有し、文字列「ＸＭＬデータ」を含むというデータの実行済検索命令に関する検索結果情報が記憶されている。
【００５０】
例えば、「ｄｂ（“特許ＤＢ”）／特許／／請求項／ｔｅｘｔ（）」のパスを有し、文字列「データベース」を含むデータの検索命令が、検索結果記憶部１３０に記憶されている実行済検索命令と一致すると判定されなかったものとする。
【００５１】
しかし、図１０に示す「ｄｂ（“特許ＤＢ”）／特許／特許請求の範囲／請求項」のパスを有するデータは、「ｄｂ（“特許ＤＢ”）／特許／／請求項／ｔｅｘｔ（）」のパスを有するデータに含まれている。
【００５２】
従って、作成部１２６は、「ｄｂ（“特許ＤＢ”）／特許／特許請求の範囲／請求項」のパスを有するデータの検索命令に対応する識別情報及び検索結果概要情報、具体的には、ノードＩＤ１が０件、ノードＩＤ２が０件、ノードＩＤ３が１０００件、ノードＩＤ４が１５００件という情報を参照することで、「ｄｂ（“特許ＤＢ”）／特許／／請求項／ｔｅｘｔ（）」のパスを有するデータは少なくとも２５００件は存在すると推定できる。
【００５３】
同様に、図１０に示す「ｄｂ（“特許ＤＢ”）／特許／／請求項／ｔｅｘｔ（）」のパスを有し、文字列「ＸＭＬデータ」を含むというデータにおいて、「ＸＭＬデータ」の後に「ベース」が続いたとすると、上述の検索命令に含まれる「データベース」と合致する。
【００５４】
従って、作成部１２６は、「ｄｂ（“特許ＤＢ”）／特許／／請求項／ｔｅｘｔ（）」のパスを有し、文字列「ＸＭＬデータ」を含むというデータの検索命令に対応する識別情報及び検索結果概要情報、具体的には、ノードＩＤ１が０件、ノードＩＤ２が０件、ノードＩＤ３が２００件、ノードＩＤ４が１００件という情報を参照することで、「ｄｂ（”特許ＤＢ”）／特許／／請求項／ｔｅｘｔ（）」のパスを有し、文字列「データベース」を含むデータは３００件程度は存在する可能性があると推定できる。
【００５５】
以上より、作成部１２６は、「ｄｂ（“特許ＤＢ”）／特許／／請求項／ｔｅｘｔ（）」のパスを有し、文字列「データベース」を含むデータは、「ノードＩＤ１が０件、ノードＩＤ２が０件、ノードＩＤ３が２００件から最大１０００件以上、ノードＩＤ４が１００件から最大１５００件以上」と推定することができる。そして、作成部１２６は、この推定結果を参照して検索計画を作成する。
【００５６】
命令送信部１１４は、作成部１２６により作成された検索計画に従って、解析部１２２により分解された検索命令を複数の文書管理装置２０の少なくともいずれかに送信する。また、後述する格納指示部１５０の格納指示に従って、構造化文書を指定された文書管理装置２０の少なくともいずれかに送信する。
【００５７】
検索結果受信部１１６は、検索命令が送信された文書管理装置２０から、命令送信部１１４により送信された検索命令の検索結果を受信する。
【００５８】
履歴部１４０は、解析部１２２により分解された検索命令と、当該検索命令が送信された文書管理装置２０の識別情報と、検索結果受信部１１６により受信された検索命令の検索結果の件数又はデータ量を、それぞれ検索結果記憶部１３０の実行済検索命令、識別情報、及び検索結果概要情報として履歴する。
【００５９】
検索結果送信部１１８は、検索結果受信部１１６により受信された検索命令の検索結果に基づく検索要求の検索結果を、クライアント装置２に送信する。
【００６０】
格納指示部１５０は、要求受信部１１２により受け付けられた格納要求に基づいて、構造化文書管理装置２０に対して所定の構造化文書の格納等を指示する。
【００６１】
図４に示すように、構造化文書管理装置２０は、通信制御部２１０と、第１検索部２２０と、第１構造化文書記憶部２３０と、格納部２４０とを備える。
【００６２】
通信制御部２１０は、構造化文書検索装置１０との間でのデータの送受信を行うものであり、受信部２１２と、送信部２１４とを含む。
【００６３】
受信部２１２は、構造化文書検索装置１０から構造化文書の検索命令や格納命令を受信する。
【００６４】
第１構造化文書記憶部２３０は、図２や図３に示すような構造化文書を記憶するものであり、例えば、ＨＤＤ（Hard Disk Drive）、光ディスク、メモリカード、ＲＡＭ（Random Access Memory）などの既存の記憶媒体により実現できる。
【００６５】
第１検索部２２０は、受信部２１２により受信された検索命令に従って、第１構造化文書記憶部２３０から構造化文書を検索する。
【００６６】
送信部２１４は、第１検索部２２０による構造化文書の検索結果を、構造化文書検索装置１０に送信する。
【００６７】
格納部２４０は、受信部２１２により受信された格納命令に従って、第１構造化文書記憶部２３０に構造化文書を格納する。
【００６８】
次に、本実施の形態の構造化文書検索システムの動作について説明する。
【００６９】
図１１は、本実施の形態の構造化文書検索装置１０で行われる構造化文書の検索の処理手順の流れの一例を示すフローチャートである。
【００７０】
まず、要求受信部１１２は、クライアント装置２から構造化文書の検索要求を受信する（ステップＳ１０）。
【００７１】
続いて、解析部１２２は、要求受信部１１２により受信された検索要求の構文解析を行い、当該検索要求を複数の文書管理装置２０の少なくともいずれかに実行させる検索命令に分解する（ステップＳ１２）。
【００７２】
続いて、作成部１２４は、解析部１２２の解析結果から、各構造化文書管理装置２０に実行させる検索命令や、構造化文書管理装置２０での検索結果の転送ルートなどの検索計画を作成する検索計画作成処理を行う（ステップＳ１４）。なお、検索計画作成処理の詳細は後述する。
【００７３】
続いて、命令送信部１１４は、作成部１２６により作成された検索計画に従って、解析部１２２により分解された検索命令を複数の文書管理装置２０の少なくともいずれかに送信する（ステップＳ２０）。
【００７４】
続いて、検索結果受信部１１６が、構造化文書管理装置２０から検索命令に対する検索結果を受信した場合（ステップＳ２２でＹｅｓ）、履歴部１４０は、当該検索命令の検索結果情報が、検索結果記憶部１３０に既に格納されているか否かを確認する（ステップＳ２４）。
【００７５】
そして、履歴部１４０は、検索命令の検索結果情報が検索結果記憶部１３０に既に格納されている場合には（ステップＳ２４でＹｅｓ）、当該検索命令の検索結果情報を検索結果受信部１１６により受信された検索結果で更新する（ステップＳ２６）。
【００７６】
一方、履歴部１４０は、検索命令の検索結果情報が検索結果記憶部１３０に格納されていない場合には（ステップＳ２４でＮｏ）、検索結果受信部１１６により受信された検索結果の検索結果情報を新規に格納する（ステップＳ２８）。
【００７７】
そして、検索結果受信部１１６が、全ての検索命令に対する検索結果を受信し、検索命令が終了するまで（ステップＳ３０でＮｏ）、ステップＳ２２〜ステップＳ３０の処理が繰り返される。
【００７８】
検索結果受信部１１６が、全ての検索命令に対する検索結果を受信し、検索命令が終了した場合には（ステップＳ３０でＹｅｓ）、検索結果送信部１１８が、クライアント装置２に対して、検索要求に対する検索結果を送信する（ステップＳ３２）。
【００７９】
図１２は、図１１のステップＳ１４に示す検索計画作成処理の処理手順の流れの一例を示すフローチャートである。
【００８０】
まず、判定部１２４は、解析部１２２により解析された検索命令に合致する実行済検索命令が検索結果記憶部１３０に格納されているか否かを確認する（ステップＳ４０）。
【００８１】
そして、作成部１２６は、合致する実行済検索命令が検索結果記憶部１３０に格納されている場合には（ステップＳ４０でＹｅｓ）、当該実行済検索命令に対応する識別情報及び検索結果概要情報を取得して、検索要求の検索計画を作成する（ステップＳ４２）。
【００８２】
一方、作成部１２６は、合致する実行済検索命令が検索結果記憶部１３０に格納されていない場合には（ステップＳ４０でＮｏ）、検索結果記憶部１３０に格納されている検索結果情報を用いて当該検索命令に対応する識別情報及び検索結果概要情報を推定する（ステップＳ４４）。
【００８３】
そして、作成部１２６は、当該検索命令に対応する識別情報及び検索結果概要情報の推定に成功した場合には（ステップＳ４６でＹｅｓ）、当該検索命令の推定結果を取得して、検索要求の検索計画を作成する（ステップＳ４８）。
【００８４】
一方、作成部１２６は、当該検索命令の検索結果の推定に失敗した場合には（ステップＳ４６でＮｏ）、例えば、予め定められたルールに基づいて検索計画を作成する。
【００８５】
図１３は、本実施の形態の構造化文書管理装置２０で行われる構造化文書の検索の処理手順の流れの一例を示すフローチャートである。
【００８６】
まず、受信部２１２は、構造化文書検索装置１０から検索命令を受信する（ステップＳ６０）。
【００８７】
続いて、第１検索部２２０は、受信部２１２により受信された検索命令に従って、第１構造化文書記憶部２３０から検索する（ステップＳ６２）。
【００８８】
続いて、送信部２１４は、第１検索部２２０の検索結果を構造化文書検索装置１０に送信する（ステップＳ６４）。
【００８９】
このように本実施の形態では、既に検索済みの検索命令である実行済検索命令と、当該実行済検索命令による検索が実行さた文書管理装置の識別情報と、当該検索命令の検索結果の件数又はデータ量を示す検索結果概要情報とを対応付けた検索結果情報を記憶している。従って本実施の形態によれば、この検索結果情報を用いることにより、構造化文書の検索以外の処理への影響を抑えつつ、転送データ量を少なくする検索計画を作成することができ、検索処理時間を短縮することができる。
【００９０】
なお上記実施の形態の構造化文書検索装置１０、構造化文書管理装置２０、クライアント装置２は、ＣＰＵ（Central Processing Unit）などの制御装置、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）などの記憶装置、液晶ディスプレイなどの表示装置、キーボードやマウスなどの入力装置、ネットワークに接続して通信を行う通信Ｉ／Ｆ等を備えたハードウェア構成となっている。
【００９１】
（変形例）
なお、本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。
【００９２】
上記実施の形態では、構造化文書管理装置のみが構造化文書を管理する例について説明したが、構造化文書検索装置も構造化文書を管理するようにしてもよい。
【００９３】
図１４は、変形例の構造化文書検索システムの概略構成の一例を示すブロック図である。なお、以下では、上記実施の形態との相違点の説明を主に行い、上記実施の形態と同様の機能を有する構成要素については、上記実施の形態と同様の名称・符号を付し、その説明を省略する。
【００９４】
変形例の構造化文書検索装置１０１０は、検索指示部１０２０が第２検索部１１２８を含み、第２構造化文書記憶部１１６０を備える点で、上記実施の形態の構造化文書検索装置１０と相違する。また、検索結果送信部１１１８、及び格納指示部１１５０が行う処理内容も上記実施の形態と相違する。
【００９５】
第２構造化文書記憶部１１６０は、図２や図３に示すような構造化文書を記憶するものであり、例えば、ＨＤＤ（Hard Disk Drive）、光ディスク、メモリカード、ＲＡＭ（Random Access Memory）などの既存の記憶媒体により実現できる。
【００９６】
第２検索部１１２８は、作成部１２６により作成された検索計画に従い、解析部１２２により分解された検索命令を実行して、第２構造化文書記憶部１１６０から構造化文書を検索する。
【００９７】
検索結果送信部１１１８は、検索結果受信部１１６により受信された検索命令の検索結果及び第２検索部１１２８の検索結果に基づく検索要求の検索結果を、クライアント装置２に送信する。
【００９８】
格納指示部１１５０は、要求受信部１１２により受信された格納命令に従って、第２構造化文書記憶部１１６０に構造化文書を格納する。
【符号の説明】
【００９９】
１  構造化文書検索システム
２  クライアント装置
１０、１０１０  構造化文書検索装置
２０（２０−１〜２０−４）  構造化文書管理装置
３０  ネットワーク
１１０  通信制御部
１１２  要求受信部
１１４  命令送信部
１１６  検索結果受信部
１１８、１１１８  検索結果送信部
１２０、１１２０  検索指示部
１２２  解析部
１２４  判定部
１２６  作成部
１３０  検索結果記憶部
１４０  履歴部
１５０、１１５０  格納指示部
２１０  通信制御部
２１２  受信部
２１４  送信部
２２０  第１検索部
２３０  第１構造化文書記憶部
２４０  格納部
１１２８  第２検索部
１１６０  第２構造化文書記憶部
【図１】
2010176319.tif 000003
【図２】
2010176319.tif 000004
【図３】
2010176319.tif 000005
【図４】
2010176319.tif 000006
【図５】
2010176319.tif 000007
【図６】
2010176319.tif 000008
【図７】
2010176319.tif 000009
【図８】
2010176319.tif 000010
【図９】
2010176319.tif 000011
【図１０】
2010176319.tif 000012
【図１１】
2010176319.tif 000013
【図１２】
2010176319.tif 000014
【図１３】
2010176319.tif 000015
【図１４】
2010176319.tif 000016