(57)【要約】【課題】文字列生成・データ転送の処理負担を軽減する構造化文書検索システムを提供する。【解決手段】構造化文書内の構造要素と値に関する統計情報を記憶する構造情報記憶部１３０と、統計情報の条件と構造要素と値から構成される文字列の表現形式とを対応づけた規則を記憶する規則記憶部１４０と、検索要求に基づいて実行プランを生成するプラン生成部１２２と、検索対象となる論理構造に対応する統計情報を構造情報記憶部１３０から取得する取得部１２３と、取得した統計情報が満たす条件に対応する表現形式を規則記憶部１４０から取得して実行プランに対応づける対応づけ部１２４と、を備えた検索装置１００と、検索装置１００から受信した実行プランを実行して得られた検索結果を、実行プランに対応づけられた表現形式で表すプラン実行部２２５と、検索結果を検索装置に送信する結果送信部２２９と、を備えた文書管理装置２００と、を備えた。【選択図】        図１
2008084113.tif 000002
【特許請求の範囲】
【請求項１】
階層化された論理構造を有している複数の構造化文書を前記構造化文書ごとに分散して格納する複数の文書管理装置と、前記文書管理装置とネットワークを介して接続され、複数の前記文書管理装置から前記構造化文書を検索する検索装置と、を備えた構造化文書検索システムであって、
前記検索装置は、
前記論理構造ごとに、前記論理構造に対応する前記構造化文書内の構造要素と値に関する統計情報を記憶する構造情報記憶手段と、
前記統計情報に関する条件と、構造要素と値から構成される文字列を表現する表現形式とを対応づけた規則を記憶する規則記憶手段と、
ネットワークに接続されたクライアント端末からの前記構造化文書の検索要求に基づいて、前記構造化文書に対する検索処理の実行プランを生成するプラン生成手段と、
生成した前記実行プランの検索対象となる前記論理構造に対応する前記統計情報を前記構造情報記憶手段から取得する取得手段と、
取得した前記統計情報が満たす前記条件に対応する前記表現形式を前記規則記憶手段から取得して前記実行プランに対応づける対応づけ手段と、
前記表現形式を対応づけた前記実行プランを前記文書管理装置に送信するプラン送信手段と、
前記実行プランの実行結果である検索結果を前記文書管理装置から受信する結果受信手段と、
前記検索結果を前記クライアント端末に送信する第１結果送信手段と、を備え、
前記文書管理装置は、
前記表現形式を対応づけた前記実行プランを前記検索装置から受信するプラン受信手段と、
受信した前記実行プランを実行し、実行して得られた検索結果を、前記実行プランに対応づけられた前記表現形式で出力するプラン実行手段と、
前記表現形式で表された前記検索結果を前記検索装置に送信する第２結果送信手段と、を備えたこと、
を特徴とする構造化文書検索システム。
【請求項２】
前記規則記憶手段は、前記構造化文書を格納した前記文書管理装置の識別情報と、前記条件と、前記表現形式とを対応づけた前記規則を記憶し、
前記プラン生成手段は、検索対象である前記構造化文書を格納した前記文書管理装置の前記識別情報を含む前記実行プランを生成し、
前記対応づけ手段は、生成した前記実行プランに含まれる前記識別情報と、生成した前記実行プランの検索対象となる前記論理構造の前記統計情報が満たす前記条件と、に対応する前記表現形式を前記規則記憶手段から取得して前記実行プランに対応づけ、
前記プラン送信手段は、前記実行プランに含まれる前記識別情報で識別される前記文書管理装置に、前記表現形式を対応づけた前記実行プランを送信すること、
を特徴とする請求項１に記載の構造化文書検索システム。
【請求項３】
前記構造情報記憶手段は、前記論理構造ごとに前記文字列の平均文字列長を前記統計情報として記憶し、
前記規則記憶手段は、前記平均文字列長に関する前記条件と、前記表現形式とを対応づけた前記規則を記憶し、
前記対応づけ手段は、検索対象となる前記論理構造に対応する前記平均文字列長が満たす前記条件に対応する前記表現形式を前記規則記憶手段から取得し、前記実行プランに対応づけること、
を特徴とする請求項１に記載の構造化文書検索システム。
【請求項４】
前記構造情報記憶手段は、前記構造化文書内の前記論理構造の平均数を前記統計情報として記憶し、
前記規則記憶手段は、前記論理構造の平均数に関する前記条件と、前記表現形式とを対応づけた前記規則を記憶し、
前記対応づけ手段は、検索対象となる前記論理構造の平均数が満たす前記条件に対応する前記表現形式を前記規則記憶手段から取得し、前記実行プランに対応づけること、
を特徴とする請求項１に記載の構造化文書検索システム。
【請求項５】
前記構造情報記憶手段は、前記論理構造ごとに、前記論理構造の下位階層に存在する前記論理構造である下位構造の平均数を前記統計情報として記憶し、
前記規則記憶手段は、前記下位構造の平均数に関する前記条件と、前記表現形式とを対応づけた前記規則を記憶し、
前記対応づけ手段は、検索対象となる前記論理構造に対する前記下位構造の平均数が満たす前記条件に対応する前記表現形式を前記規則記憶手段から取得し、前記実行プランに対応づけること、
を特徴とする請求項１に記載の構造化文書検索システム。
【請求項６】
前記構造情報記憶手段は、固定長の情報を格納する格納ページ内に前記文字列を格納する格納ページ形式で前記構造化文書を表したときの前記格納ページの平均数を前記統計情報として記憶し、
前記規則記憶手段は、前記格納ページの平均数に関する前記条件と、前記表現形式とを対応づけた規則を記憶し、
前記対応づけ手段は、検索対象となる前記論理構造が含まれる前記構造化文書の前記格納ページの平均数が満たす前記条件に対応する前記表現形式を前記規則記憶手段から取得し、前記実行プランに対応づけること、
を特徴とする請求項１に記載の構造化文書検索システム。
【請求項７】
前記プラン生成手段は、受信した前記検索結果が検索処理の途中で得られる中間結果である場合に、受信した前記中間結果に基づいてさらに前記実行プランを生成すること、
を特徴とする請求項１に記載の構造化文書検索システム。
【請求項８】
前記規則記憶手段は、前記中間結果の件数に関する前記条件と、前記表現形式とを対応づけた前記規則をさらに記憶し、
前記対応づけ手段は、前記中間結果の件数が満たす前記条件に対応する前記表現形式を前記規則記憶手段から取得して前記実行プランに対応づけること、
を特徴とする請求項７に記載の構造化文書検索システム。
【請求項９】
階層化された論理構造を有している複数の構造化文書を前記構造化文書ごとに分散して格納する複数の文書管理装置と、前記文書管理装置とネットワークを介して接続され、複数の前記文書管理装置から前記構造化文書を検索する検索装置と、を備えた構造化文書検索システムにおける構造化文書検索方法であって、
前記検索装置によって、前記構造化文書の検索要求に基づいて、前記構造化文書に対する検索処理の実行プランを生成するプラン生成ステップと、
前記検索装置によって、前記論理構造ごとに前記論理構造に対応する前記構造化文書内の構造要素と値に関する統計情報を記憶する構造情報記憶手段から、生成した前記実行プランの検索対象となる前記論理構造に対応する前記統計情報を取得する取得ステップと、
前記検索装置によって、前記統計情報に関する条件と、構造要素と値から構成される文字列を表現する表現形式とを対応づけた規則を記憶する規則記憶手段から、取得した前記統計情報が満たす前記条件に対応する前記表現形式を取得して前記実行プランに対応づける対応づけステップと、
前記検索装置によって、前記表現形式を対応づけた前記実行プランを前記文書管理装置に送信するプラン送信ステップと、
前記文書管理装置によって、前記表現形式を対応づけた前記実行プランを前記検索装置から受信するプラン受信ステップと、
前記文書管理装置によって、受信した前記実行プランを実行して得られた検索結果を、前記実行プランに対応づけられた前記表現形式で表すプラン実行ステップと、
前記文書管理装置によって、前記表現形式で表された前記検索結果を前記検索装置に送信する結果送信ステップと、
前記検索装置によって、前記実行プランの実行結果である検索結果を前記文書管理装置から受信する結果受信ステップと、
前記検索装置によって、前記検索結果を前記クライアント端末に送信する結果送信ステップと、
を備えたことを特徴とする構造化文書検索方法。
【請求項１０】
階層化された論理構造を有している複数の構造化文書を前記構造化文書ごとに分散して格納する複数の文書管理装置とネットワークを介して接続された検索装置であって、
前記論理構造ごとに、前記論理構造に対応する前記構造化文書内の構造要素と値に関する統計情報を記憶する構造情報記憶手段と、
前記統計情報に関する条件と、構造要素と値から構成される文字列を表現する表現形式とを対応づけた規則を記憶する規則記憶手段と、
ネットワークに接続されたクライアント端末からの前記構造化文書の検索要求に基づいて、前記構造化文書に対する検索処理の実行プランを生成するプラン生成手段と、
生成した前記実行プランの検索対象となる前記論理構造の前記統計情報が満たす前記条件に対応する前記表現形式を前記規則記憶手段から取得し、前記実行プランに対応づける対応づけ手段と、
前記表現形式を対応づけた前記実行プランを前記文書管理装置に送信するプラン送信手段と、
前記実行プランの実行結果である検索結果を前記文書管理装置から受信する結果受信手段と、
前記検索結果を前記クライアント端末に送信する結果送信手段と、を備えたこと、
を特徴とする検索装置。
【請求項１１】
階層化された論理構造を有している複数の構造化文書を検索する検索装置とネットワークを介して接続された文書管理装置であって、
前記構造化文書を前記構造化文書格納する文書格納手段と、
前記構造化文書に対する検索処理を実行するプランであって、構造要素と値から構成される文字列を表現する表現形式が対応づけられた実行プランを前記検索装置から受信するプラン受信手段と、
受信した前記実行プランを実行し、実行して得られた検索結果を、前記実行プランに対応づけられた前記表現形式で出力するプラン実行手段と、
前記表現形式で表された前記検索結果を前記検索装置に送信する結果送信手段と、を備えたこと、
を特徴とする文書管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、大量の構造化文書を、階層化された論理構造を持つ構造化文書データベース群で分散配置して格納、管理する構造化文書管理システム、構造化文書検索方法、検索装置、および文書管理装置に関する。
【背景技術】
【０００２】
近年、ＩＴ（Information Technology）の進化により、莫大な量の情報が容易に入手できるようになった。その一方で、必要な情報が大量のデータに埋没し、十分に活用できないという弊害も発生している。情報が大量に存在していても、それをうまく活用できなければ意味がない。
【０００３】
情報には、１つの書式に統一された情報もあれば、全く書式のない自由書式の情報も数多く存在する。これらの情報を統一的に扱うための中核技術として期待されている技術がＸＭＬ（Extensible Markup Language）である。ＸＭＬは、柔軟な拡張性と連携性を備えた標準のドキュメント記述言語であり、主要ベンダーからのサポートも約束されている。
【０００４】
ＸＭＬのような構造化文書は、（１）階層的な構造を有する、（２）同じパスの構造要素が文書内に繰り返し発生する場合もあるし、存在しない場合もある、（３）部分文書の文字列は長大データになりうる、といった特徴を有する。
【０００５】
一方、格納された文書を取り出す技術として問合せ言語が存在する。ＲＤＢ（relational database）の分野では、問合せ言語として、ＳＱＬ(Structured Query Language)が知られている。また、ＸＭＬに対しては、ＸＱｕｅｒｙ(XML Query Language)が策定されている。
【０００６】
ＸＱｕｅｒｙは、ＸＭＬデータをデータベースのように扱うための言語である。ＸＱｕｅｒｙでは、構造要素の値に関する条件や階層構造に関する条件に合致するデータ集合の取り出しができる。また、パスの正規表現により、「「文書」タグの子孫のどこかに存在する「コメント」タグ」を取得するなどのような階層構造に関する曖昧な条件も指定できる。
【０００７】
ＸＭＬのような構造化文書に対する検索では、構造化文書を検索結果として取得することが多い。また、検索処理の中間結果で構造化文書が生成される場合もある。このような検索処理の検索結果または中間結果として構造化文書を生成する単純な手法としては、階層化された結果データをプリオーダで辿って文字列化する手法が挙げられるが、データ量が多くなるという問題がある。
【０００８】
ところで、構造化文書を格納するとき、複数の文書格納装置に構造化文書を分散配置して格納する技術が広く知られている。また、このように分散配置して格納された構造化文書に対する検索処理では、一般に検索の中間結果データなどを装置間で転送する必要が生じる。検索処理の中に占める転送処理の負荷は大きいため、データサイズを小さくして転送量を削減することなどにより、データ転送の処理負担を軽減することが求められる。
【０００９】
特許文献１では、生成するＸＭＬデータを圧縮する技術が提案されている。すなわち、特許文献１の方法では、構造化文書のスキーマ（データ定義）を利用して、構造化文書を構造に関する部分と値に関する部分とに分け、タグ名や属性名をデータ定義として凝縮して構造に関する部分で保持することにより、データサイズを削減している。
【００１０】
例えば、同一パスのタグ名はデータ定義部分に１つだけ保持すればよいため、データサイズが削減される。また、繰り返しのあるデータについては、値部分に繰り返し数を保持する必要があるが、繰り返しのないデータについては、構造部分で「繰り返しなし」という情報を保持することにより、値部分に繰り返し数を保持する必要がなくなる。
【００１１】
【特許文献１】特開２００５−１８６７２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、特許文献１の方法では、データの表現形式を工夫することによりデータサイズを圧縮することはできるが、検索結果または中間結果でデータの重複等が発生することを考慮していないため、無駄な文字列生成処理が発生する場合があるという問題があった。
【００１３】
例えば、構造化文書の検索では、検索条件によって、構造化文書が格納されている格納ページなどの共通のデータエリアから、複数の構造化文書または部分構造化文書の文字列を生成する場合がある。このような場合、特許文献１の方法では、全く同じ文字列であっても複数の文字列を個々に生成する。このため、不要な文字列生成処理が行われるとともに、重複して生成された文字列を転送することによる転送量の増大という問題も生じる。
【００１４】
本発明は、上記に鑑みてなされたものであって、文字列生成およびデータ転送の処理負担を軽減することができる構造化文書検索システム、構造化文書検索方法、検索装置、および文書管理装置を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上述した課題を解決し、目的を達成するために、本発明は、階層化された論理構造を有している複数の構造化文書を前記構造化文書ごとに分散して格納する複数の文書管理装置と、前記文書管理装置とネットワークを介して接続され、複数の前記文書管理装置から前記構造化文書を検索する検索装置と、を備えた構造化文書検索システムであって、前記検索装置は、前記論理構造ごとに、前記論理構造に対応する前記構造化文書内の構造要素と値に関する統計情報を記憶する構造情報記憶手段と、前記統計情報に関する条件と、構造要素と値から構成される文字列を表現する表現形式とを対応づけた規則を記憶する規則記憶手段と、ネットワークに接続されたクライアント端末からの前記構造化文書の検索要求に基づいて、前記構造化文書に対する検索処理の実行プランを生成するプラン生成手段と、生成した前記実行プランの検索対象となる前記論理構造に対応する前記統計情報を前記構造情報記憶手段から取得する取得手段と、取得した前記統計情報が満たす前記条件に対応する前記表現形式を前記規則記憶手段から取得して前記実行プランに対応づける対応づけ手段と、前記表現形式を対応づけた前記実行プランを前記文書管理装置に送信するプラン送信手段と、前記実行プランの実行結果である検索結果を前記文書管理装置から受信する結果受信手段と、前記検索結果を前記クライアント端末に送信する第１結果送信手段と、を備え、前記文書管理装置は、前記表現形式を対応づけた前記実行プランを前記検索装置から受信するプラン受信手段と、受信した前記実行プランを実行し、実行して得られた検索結果を、前記実行プランに対応づけられた前記表現形式で出力するプラン実行手段と、  前記表現形式で表された前記検索結果を前記検索装置に送信する第２結果送信手段と、を備えたこと、を特徴とする。
【００１６】
また、本発明は、上記装置を実行することができる構造化文書検索方法である。
【００１７】
また、本発明は、階層化された論理構造を有している複数の構造化文書を前記構造化文書ごとに分散して格納する複数の文書管理装置とネットワークを介して接続された検索装置であって、前記論理構造ごとに、前記論理構造に対応する前記構造化文書内の構造要素と値に関する統計情報を記憶する構造情報記憶手段と、前記統計情報に関する条件と、構造要素と値から構成される文字列を表現する表現形式とを対応づけた規則を記憶する規則記憶手段と、ネットワークに接続されたクライアント端末からの前記構造化文書の検索要求に基づいて、前記構造化文書に対する検索処理の実行プランを生成するプラン生成手段と、生成した前記実行プランの検索対象となる前記論理構造の前記統計情報が満たす前記条件に対応する前記表現形式を前記規則記憶手段から取得し、前記実行プランに対応づける対応づけ手段と、前記表現形式を対応づけた前記実行プランを前記文書管理装置に送信するプラン送信手段と、前記実行プランの実行結果である検索結果を前記文書管理装置から受信する結果受信手段と、前記検索結果を前記クライアント端末に送信する結果送信手段と、を備えたこと、を特徴とする。
【００１８】
また、本発明は、階層化された論理構造を有している複数の構造化文書を検索する検索装置とネットワークを介して接続された文書管理装置であって、前記構造化文書を前記構造化文書格納する文書格納手段と、前記構造化文書に対する検索処理を実行するプランであって、構造要素と値から構成される文字列を表現する表現形式が対応づけられた実行プランを前記検索装置から受信するプラン受信手段と、受信した前記実行プランを実行し、実行して得られた検索結果を、前記実行プランに対応づけられた前記表現形式で出力するプラン実行手段と、前記表現形式で表された前記検索結果を前記検索装置に送信する結果送信手段と、を備えたこと、を特徴とする。
【発明の効果】
【００１９】
本発明によれば、検索要求の特徴に従って検索結果となる構造化文書の表現形式を選択し、選択された表現形式のデータ形式で文字列を生成してデータ転送するため、文字列生成およびデータ転送の処理負担を軽減し、高速な検索が可能になるという効果を奏する。
【発明を実施するための最良の形態】
【００２０】
以下に添付図面を参照して、この発明にかかる構造化文書検索システム、構造化文書検索方法、検索装置、および文書管理装置の最良な実施の形態を詳細に説明する。
【００２１】
本実施の形態にかかる構造化文書検索システムは、構造化文書のデータ表現に利用される複数の表現形式の集合の中から、検索要求の特徴に従って表現形式を選択し、検索処理に実行される各オペレータに対して表現形式を割当てた実行プランを生成し、選択された表現形式のデータ形式で文字列を生成し、選択された表現形式のデータ形式でデータを転送するものである。
【００２２】
図１は、本実施の形態にかかる構造化文書検索システムの構成を示すブロック図である。同図に示すように、本実施の形態の構造化文書検索システムでは、検索装置１００と、複数の文書管理装置２００ａ、２００ｂと、ネットワーク３００と、クライアント４００と、を備えている。
【００２３】
クライアント４００は、格納する構造化文書や、構造化文書の検索要求を検索装置１００に送信するものであり、通常のＰＣ（Personal Computer）などにより構成される。本実施の形態では、クライアント４００は、ＸＱｕｅｒｙで記述された検索要求を検索装置１００に送信する。
【００２４】
ネットワーク３００は、検索装置１００と、文書管理装置２００と、クライアント４００とを接続するネットワークであり、インターネットやＶＰＮなどのあらゆるネットワーク形態により構成することができる。
【００２５】
また、クライアント４００と検索装置１００とを接続するネットワークと、文書管理装置２００と検索装置１００とを接続するネットワークを別のネットワークで構成してもよい。
【００２６】
検索装置１００は、文書管理装置２００から構造化文書を検索するものである。以下では、同図に示すように、検索装置１００の名称を装置Ｘ、文書管理装置２００ａ、２００ｂの名称をそれぞれ装置Ａ、装置Ｂと呼ぶ場合がある。また、文書管理装置２００ａ、２００ｂは同様の構成を有するため、以下では単に文書管理装置２００と呼ぶ場合がある。
【００２７】
なお、本実施の形態の構造化文書検索システムは、少なくとも２つの文書管理装置２００を備えていればよい。また、文書管理装置２００の個数は２つに限られるものではない。
【００２８】
検索装置１００は、格納処理部１１０と、検索処理部１２０と、構造情報記憶部１３０と、規則記憶部１４０とを備えている。
【００２９】
構造情報記憶部１３０は、ＸＭＬ形式の構造化文書から抽出された構造情報を格納するものである。
【００３０】
ここで、本実施の形態で扱われるＸＭＬ形式の構造化文書について説明する。図２は、ＸＭＬ形式の構造化文書の一例を示した説明図である。
【００３１】
同図に示すように、ＸＭＬ形式の構造化文書は、<header>タグ内の書誌情報と、<body>タグ内の本体情報とに分けられる場合が多い。また、同図の<section>タグのように、同一文書内に繰り返し格納される情報も含まれる。
【００３２】
なお、ＸＭＬでは、タグを使って定義したデータの単位をエレメントという。例えば、<document>タグと</document>タグとを含み、両タグで囲まれたデータが１つのエレメントを構成する。
【００３３】
また、エレメントには、省略可能か、繰り返しが可能かなどの付加的な情報を追加するための属性を指定することができる。同図では、authorエレメントの属性としてid属性が指定された例が示されている。
【００３４】
また、エレメントの中の開始タグと終了タグで囲まれた情報の内容を、以下ではテキストという。例えば、同図のdateエレメントのうち、“20050711”がテキストに該当する。
【００３５】
構造情報はこのようなＸＭＬ形式の構造化文書から、各タグの名称や階層関係、繰り返しの個数などを抽出した情報である。なお、本実施の形態では、上述のエレメント、属性、テキストが、構造化文書の構造情報を構成する要素を示す構造要素となる。
【００３６】
図３は、ＸＭＬ形式の構造化文書の別の例を示した説明図である。同図は、本システムを利用するユーザに関するユーザ情報を格納したＸＭＬ文書を示した例である。なお、図２は、各ユーザが作成した報告書を格納したＸＭＬ文書を示した例を表している。
【００３７】
図４は、図２に示す構造化文書から抽出された構造情報の一例を示す説明図である。図４は、構造情報を木構造で表したものであり、楕円形のノードはエレメントに対応するノード（以下、エレメントノードという）、四角形のノードは属性に対応するノード（以下、属性ノードという。）、六角形のノードはテキストに対応するノード（以下、テキストノードという）を意味する。
【００３８】
なお、以下では、ノードとは、一般的な木構造における節を表す用語として用いる。したがって、図４のように構造情報を木構造で表した場合には、構造要素がノードとなる。また、後述するように構造化文書を木構造で表した場合には、構造化文書の一部である部分文字列がノードとなる。
【００３９】
同図に示すように、構造要素には構造要素を一意に識別する識別子であるＴＩＤが割当てられる。同図では、例えば、パス「/document」の「document」タグに対応した構造要素にＴＩＤ１、パス「/document/header」の「header」タグに対応した構造要素にＴＩＤ２、パス「/document/header/title」の「title」タグに対応した構造要素にＴＩＤ３が割り当てられている。
【００４０】
パス「/document/body/section」の「section」タグは構造化文書に複数含まれうるが、同一パスの構造要素は１つに縮約されてＴＩＤ１１が割当てられる。また、構造が異なる複数の構造化文書については、構造情報の重ね合わせにより、すべての構造化文書を包含する、汎化した構造情報を形成する。
【００４１】
図５は、図３に示す構造化文書から抽出された構造情報の一例を示す説明図である。図５に示すように、ユーザごとに識別子（id）、ユーザ名（name）、部署（office）、電話番号（tel）が格納されることを示す構造情報が定義されている。
【００４２】
次に、構造情報記憶部１３０に格納された構造情報について説明する。図６は、構造情報記憶部１３０に格納された構造情報のデータ構造の一例を示す説明図である。同図の例は、図３に示す構造化文書から抽出された構造情報を表している。
【００４３】
図６では、ツリーの親子関係、兄弟関係などの木構造における構造要素間の関係の他に、構造化文書を格納した文書管理装置２００に関する情報と、構造化文書に関する統計情報を保持した例が示されている。
【００４４】
同図に示すように、構造情報は、構造要素間の関係に関する情報として、ＴＩＤと、ノードの種類を表すノードタイプと、構造要素の名称を表すシンボル名と、長男に相当する構造要素のＴＩＤと、次弟に相当する構造要素のＴＩＤと、文書ルートフラグと、を格納している。また、構造情報は、構造化文書を格納した文書管理装置２００に関する情報として、配置位置を格納している。さらに、構造情報は、構造化文書に関する統計情報として、平均文書サイズと、平均格納ページ数と、文書数と、平均テキストサイズと、テーブルフラグと、平均子孫ノード数と、を格納している。
【００４５】
文書ルートフラグとは、構造化文書の木構造のルートノードであるか否かを表す情報をいい、ルートノードである場合は１を、それ以外は０を設定する。統計情報のうち、平均文書サイズ、平均格納ページ数、および文書数は、ルートノードに対応するＴＩＤのみに設定される。
【００４６】
平均文書サイズとは、構造化文書のサイズの平均値を表す。平均格納ページ数とは、構造化文書を、格納ページ形式で表したときの格納ページの平均ページ数を表す。格納ページ形式の詳細については後述する。文書数とは、構造情報に対応する構造化文書の個数をいう。本実施の形態では、図３に示すような１つのＸＭＬ文書内にすべてのユーザ情報を格納するため、図６に示すように文書数は１が設定される。
【００４７】
統計情報のうち、平均テキストサイズ、テーブルフラグ、平均子孫ノード数は、各ノードに対応するＴＩＤに対して設定される。平均テキストサイズとは、ノードに含まれる文字列（テキスト）のサイズの平均値を表す。テーブルフラグとは、対応するノードの個数に関するフラグであり、すべての文書について、対応するエレメントノードが重複した名前の子ノードを持たない場合に１を設定し、それ以外のエレメントノードには０を設定する。属性ノード、およびテキストノードはテーブルフラグを未定義とする。平均子孫ノード数とは、対応するノードより下に存在するノードの数の平均値を表す。
【００４８】
なお、構造情報は文書情報や索引情報に比べ更新頻度はかなり少ないと考えられる。したがって、オンラインで更新されるようなシステムであっても、構造情報を各装置のメモリ上に格納し、一貫性を保ちながら共有することが可能である。
【００４９】
図１に戻り、規則記憶部１４０は、構造情報の統計情報に関する条件に対して、当該条件を満たす場合に検索結果として生成する文字列を表現する表現形式を決定する規則を記憶するものである。
【００５０】
なお、構造情報記憶部１３０および規則記憶部１４０は、ＨＤＤ（Hard Disk Drive）、光ディスク、メモリカード、ＲＡＭ（Random Access Memory）などの一般的に利用されているあらゆる記憶媒体により構成することができる。
【００５１】
図７は、規則記憶部１４０に記憶された規則のデータ構造の一例を示す説明図である。同図に示すように、規則記憶部１４０の規則は、規則を識別する規則ＩＤと、規則を適用するための条件と、データの生成元となる装置を表す生成元と、データの転送先となる装置を表す転送先と、選択される表現形式と、を対応づけて格納している。
【００５２】
規則を適用するための条件は、問合せデータに関する情報、格納されている構造化文書群に関する情報、および検索処理の中間結果に関する情報を用いて定義される。例えば、同図の規則ＩＤ＝１の条件に含まれる「文書数」および「文書サイズ」や、規則ＩＤ＝２の条件に含まれる「平均テキストサイズ」および「平均格納ページ数」は、格納されている構造化文書群に関する情報である。また、規則ＩＤ＝２の条件に含まれる「ヒット件数」は、検索処理の中間結果に関する情報である。
【００５３】
表現形式には、ＸＭＬデータを表すために用いられるあらゆる表現形式を指定できる。本実施の形態では、主な表現形式として、文字列形式、バイナリ形式、テーブル形式、および格納ページ形式を指定可能である。以下、図３のユーザ情報を例に各表現形式について説明する。
【００５４】
図８は、文字列形式の表現形式の一例を示す説明図である。文字列形式とは、構造化文書に含まれる文字列をそのまま表した形式をいう。同図では、図３のユーザ情報に対応し、ＸＭＬの文字列形式でユーザ２名分のデータが表現されている。ＸＭＬの文字列形式では、開始タグ名は文字「＜」と文字「＞」で囲む、開始タグと終了タグは対になる、などの規定が存在するため、サイズが大きくなりやすい。
【００５５】
図９は、バイナリ形式の表現形式の一例を示す説明図である。バイナリ形式とは、文字列以外のデータを用いて文字列の情報を表した形式をいう。同図は、タグ名や属性名を所定のＩＤで表す方法を用いたバイナリ形式の例を表している。
【００５６】
具体的には、同図のバイナリ形式では、構造化文書を構造に関する部分と値に関する部分とに分け、タグ名や属性名はＴＩＤで表現し、ＸＭＬデータの構造要素をプリオーダで辿って得られる順に、当該ＩＤと値とを並べる。また、終了タグ名については、終了タグの位置だけが分かるように文字「／」を並べている。また、同じパスの構造要素ごとに値をグループ分けし、グループごとにテキスト圧縮ツールを指定して圧縮を行う。なお、説明のため、同図では圧縮前のデータを記載している。
【００５７】
バイナリ形式は、文字列形式と比べサイズが小さくなるが、部分データへのアクセスや更新が扱いにくいという問題がある。
【００５８】
図１０は、テーブル形式の表現形式の一例を示す説明図である。テーブル形式とは、一般的なＲＤＢのように、各列に保持されるデータ型の定義情報と、当該定義情報に対応する値を各行に設定したテーブル状の形式をいう。
【００５９】
同図では、「userタグのID」、「id属性の値」などを定義情報とし、対応する２名分のユーザ情報が各行に指定された例が示されている。
【００６０】
テーブル形式は、ある構造要素の子要素として同じタグ名の構造要素が複数個存在する、すなわち、繰り返し性のあるＸＭＬデータの場合には、その構造要素に関する値を重複して保持しなければならないという問題がある。
【００６１】
図１１は、格納ページ形式の表現形式の一例を示す説明図である。格納ページ形式とは、固定長サイズの格納ページに文字列を格納する形式をいう。同図に示すように、格納ページはデータ部とオフセット部とから構成され、構造要素や値に関するデータはデータ部に配置する。また、オフセット部には、各データの配置された位置（ページ先頭からのオフセット）を、各データに割当てられたＩＤであるＥＩＤの順にページの末尾から配置する。
【００６２】
検索処理に利用されるデータにはいくつかのアクセスパターンが存在するため、当該アクセスパターンに対応する条件と、当該アクセスパターンに適した表現形式を、規則記憶部１４０の規則として指定する。以下に、データのアクセスパターンについて説明する。
【００６３】
（１）検索結果の共通構造のデータ
構造化文書の検索では、上述のように構造化文書の形式で検索結果を求めるような問合せデータを指定できる。例えば、検索結果のうち報告書のタイトルを「＜タイトル＞」タグ、ユーザのＩＤを「＜報告者情報＞」タグで囲み、全体を「＜結果＞」タグで囲んだ検索結果を求める問合せデータを指定可能である。このような場合、上記タグの部分は、すべての検索結果について共通構造のデータとなる。このような検索結果の共通構造のデータについては、１回だけデータを作成しておき、各検索結果を作成する際に参照すれば無駄な文字列生成処理を回避できる。
【００６４】
（２）文書全体または文書内の特定箇所のデータ
特定の構造要素以下のデータが検索結果になる場合が該当する。例として、ＸＰａｔｈを使った検索が挙げられる。このようなパターンのデータについて装置間でデータ転送が発生する場合には、文字列形式でなく、バイナリ形式でデータ転送を行うと、転送サイズを小さくすることができる。
【００６５】
（３）文書内の非特定箇所のデータ
検索結果が複数存在する場合であって、各検索結果で構造化文書内の利用箇所が異なる場合が該当する。例えば、本実施の形態のようにユーザ情報を格納した１つのＸＭＬ文書（図３）からユーザ情報を検索する場合、問合せデータによっては重複したユーザ情報が検索される場合がある。
【００６６】
ＲＤＢはテーブル単位でデータが管理され、オブジェクト指向データベースはオブジェクト単位でデータが管理されるが、構造化文書検索システムでは文書単位で管理されることが多い。そのため、同じ文書内のデータに対するアクセスが多い場合には、格納されているページ（格納ページ）を直接参照すれば、効率的である。
【００６７】
以上より、検索処理に利用されるデータのアクセスパターンやデータサイズの観点でデータ形式の表現形式を選択し、選択したデータ形式でデータのバッファ管理や、データ転送を行うことで、文字列生成やデータ転送の重複処理、冗長処理を削減できると考えられる。
【００６８】
図１に戻り、格納処理部１１０は、構造化文書を構造化文書記憶部２５０へ格納する処理を行うものであり、構造抽出部１１１と、文書送信部１１２と、を備えている。
【００６９】
構造化文書の格納処理は２つのフェーズに分けられる。第１フェーズでは、入力された構造化文書から文書の構造情報を抽出して構造情報記憶部１３０に記憶するとともに、構造情報を参照して構造化文書を各文書管理装置２００に送信する処理が実行される。第１フェーズは、構造抽出部１１１と、文書送信部１１２とにより実行される。
【００７０】
第２フェーズは、各文書管理装置２００上の文書格納部２１０で実行されるものである。第２フェーズでは、送信された構造化文書を構造化文書記憶部２５０に格納する処理が実行される。
【００７１】
構造抽出部１１１は、構造化文書から文書を構成する構造要素を抽出するものであり、ＸＭＬの場合は、例えばＤＯＭ（Document Object Model）にしたがってオブジェクトツリーを作成する方法などの従来から用いられているあらゆる方法を適用することができる。
【００７２】
また、構造抽出部１１１は、構造情報記憶部１３０に既に記憶されている構造情報に含まれない新規の構造情報を抽出した場合は、当該新規構造情報を構造情報記憶部１３０に格納する。
【００７３】
文書送信部１１２は、構造化文書を構造情報記憶部１３０に記憶されている構造情報に含まれる配置位置の情報に従い、各文書管理装置２００に送信するものである。
【００７４】
なお、入力された構造化文書を格納する文書管理装置２００を決定する方法としては、値レンジ分割、ラウンドロビン、容量分散などの従来から用いられているあらゆる方法を適用できる。また、高速な検索を実現するために、索引情報を生成し、図示しない索引記憶部に格納するように構成してもよい。
【００７５】
検索処理部１２０は、文書管理装置２００の構造化文書記憶部２５０に格納された構造化文書の検索処理を行うものであり、要求受信部１２１と、プラン生成部１２２と、取得部１２３と、対応づけ部１２４と、プラン実行部１２５と、プラン送信部１２６と、結果受信部１２７と、結果送信部１２８と、を備えている。
【００７６】
要求受信部１２１は、クライアント４００から送信された問合せデータを受信するものである。図１２は、問合せデータの一例を示す説明図である。同図は、ＸＱｕｅｒｙに基づいた問合せ記述方法に則した問合せデータの例を表している。
【００７７】
ここで、図３に示すような報告書が構造化文書ＤＢ「db1」に格納され、図４に示すようなユーザ情報が構造化文書ＤＢ「db2」に格納されていると仮定する。この場合、図１２に示した問合せデータは、「構造化文書ＤＢ「db1」の文書内のいずれかに文字列「データベース」を含む報告書について、パス「//author/@id」の属性値と等しいユーザ情報を、別の構造化文書ＤＢ「db2」の階層木のパス「/users/user」から求め、報告書のタイトルと報告者の情報の一覧を求める」ことを意味する。
【００７８】
なお、このような問合せデータによる検索処理では、「document」タグの構造要素のＩＤと１個以上の「user」タグの構造要素のＩＤとの組が０個以上求まり、結果データとして出力される。図１３は、結果データの一例を示す説明図である。同図では、図３に示したようなユーザ情報から取得された２名のユーザ情報を含む結果データの例が示されている。
【００７９】
ＸＱｕｅｒｙのような問合せ言語を利用すると、構造化文書単位や部分文書単位で結果データを取得したり、１個以上の部分文書を寄せ集めて新たな形式の構造化文書を生成したりすることが可能となる。
【００８０】
図１に戻り、プラン生成部１２２は、要求受信部１２１により受信された問合せデータに従い、各文書管理装置２００に対するデータの検索を要求するプラン、および返信されたデータから問合せデータに対する検索結果を取得するプランを含む、検索処理の実行プランを生成するものである。
【００８１】
図１４は、生成された実行プランの一例を示す説明図である。同図に示すように、実行プランは１個以上のコードの列で表現される。各コードには、コードを識別するＩＤと、実行されるオペレータ名と、パラメータと、データ生成の有無と、表現形式とが含まれる。実行プランの詳細については後述する。なお、表現形式は後述する対応づけ部１２４によって設定されるため、プラン生成部１２２が実行プランを生成した時点では、表現形式は未定義とされる。
【００８２】
なお、プラン生成部１２２は、検索処理の中間結果を生成する実行プランを生成し、中間結果を取得したあとに、さらに中間結果の内容を参照して後続の実行プランを生成するように構成してもよい。これにより、検索処理の中間結果を利用した動的なプラン生成や表現形式の割当てが可能となる。
【００８３】
図１に戻り、取得部１２３は、プラン生成部１２２により生成された実行プラン内の各コードに対し、当該コードで検索対象とする構造要素に対応する統計情報を構造情報記憶部１３０から取得するものである。
【００８４】
例えば、図１４のＩＤ＝２のコードについては、検索対象となる構造要素のＴＩＤ＝１０２であるため、取得部１２３は、図６に示すような構造情報から平均テキストサイズ＝９４等を取得する。なお、取得部１２３は、ＴＩＤ＝１０２が含まれる構造化文書全体の統計情報（文書数＝１等）も取得する。
【００８５】
対応づけ部１２４は、取得部１２３により取得された統計情報を用いて、規則記憶部１４０に記憶されている規則の条件を満たすか否かを判定し、条件を満たす場合に、当該条件に対応する表現形式を規則記憶部１４０から取得し、実行プランの各コードに対応づけるものである。
【００８６】
プラン実行部１２５は、実行プラン内の各コードに対応するオペレータを順に実行することにより、各文書管理装置２００からのデータの検索、およびクライアント４００に返信する検索結果の作成などを行うものである。
【００８７】
プラン送信部１２６は、実行プランが各文書管理装置２００上に記憶された構造化文書の検索処理である場合に、当該文書管理装置２００に対して実行プランを送信するものである。
【００８８】
結果受信部１２７は、各文書管理装置２００で実行された実行プランによるデータの検索結果を各文書管理装置２００から受信するものである。
【００８９】
結果送信部１２８は、プラン実行部１２５が作成したクライアント４００に返信する検索結果を、検索要求を送信したクライアント４００に対して送信するものである。
【００９０】
文書管理装置２００は、構造化文書を構造化文書ごとに分散して格納し、検索装置１００からの要求に応じて格納した構造化文書の検索を行って検索結果を検索装置１００に返信するものである。文書管理装置２００は、文書格納部２１０と、検索処理部２２０と、構造化文書記憶部２５０と、を備えている。
【００９１】
構造化文書記憶部２５０は、図２または図３に示すようなＸＭＬ形式の構造化文書を記憶するものである。文書格納部２１０は、検索装置１００の文書送信部１１２により送信された構造化文書を構造化文書記憶部２５０に格納するものである。
【００９２】
なお、構造化文書記憶部２５０は、ＨＤＤ、光ディスク、メモリカード、ＲＡＭなどの一般的に利用されているあらゆる記憶媒体により構成することができる。
【００９３】
検索処理部２２０は、検索装置１００から送信された検索の実行プランに従い、構造化文書記憶部２５０に格納された構造化文書の検索処理を行うものであり、プラン受信部２２１と、プラン実行部２２５と、結果送信部２２９と、を備えている。
【００９４】
プラン受信部２２１は、自装置上に格納された構造化文書を検索する実行プランを検索装置１００から受信するものである。
【００９５】
プラン実行部２２５は、受信した実行プランを実行し、その結果得られた検索結果を、当該実行プランに対応づけられている表現形式で表すように文字列生成処理を実行するものである。
【００９６】
結果送信部２２９は、対応づけられた表現形式で生成された検索結果を検索装置１００に送信するものである。このように、他の装置に対しデータのやり取りを行う場合は、様々な表現形式のデータが転送されうる。そのため、転送される文書管理装置２００でも各表現形式のデータを参照することが可能なアクセス機能を利用する。例えば、格納ページ形式のデータが転送先の文書管理装置２００でも参照できるインタフェースが提供されるものとする。
【００９７】
次に、このように構成された本実施の形態にかかる構造化文書検索システムによる構造化文書検索処理について説明する。図１５は、本実施の形態における構造化文書検索処理の全体の流れを示すフローチャートである。
【００９８】
まず、要求受信部１２１が、クライアント４００から送信された問合せデータを受信する（ステップＳ１５０１）。次に、プラン生成部１２２が、受信した問合せデータから検索のための実行プランを作成する（ステップＳ１５０２）。
【００９９】
次に、取得部１２３は、実行プランの各コードについて、データ生成ありのコードか否か、すなわち、「データ生成の有無」欄が「有り」となっているか否かを判断する（ステップＳ１５０３）。
【０１００】
データ生成ありの場合は（ステップＳ１５０３：ＹＥＳ）、取得部１２３は、実行プランの検索対象となる構造要素に関する統計情報を取得する（ステップＳ１５０４）。例えば、取得部１２３は、図１４のＩＤ＝２のコードについて、検索対象となる構造要素のＴＩＤ＝１０２に対応する統計情報として、図６に示すような構造情報から、平均テキストサイズ＝９４、テーブルフラグ＝１、平均子孫ノード数＝６を取得する。また、対応するルートノードに関する統計情報として、取得部１２３は、平均文書サイズ＝２１８００、平均格納ページ数＝５、文書数＝１を取得する。
【０１０１】
次に、対応づけ部１２４は、規則記憶部１４０に記憶された規則を参照し、取得した統計情報に対応する表現形式を実行プランに対応づける（ステップＳ１５０５）。なお、条件が一致する規則が存在しない場合は、対応づけ部１２４は、デフォルトの表現形式としてテーブル形式を対応づける。
【０１０２】
次に、取得部１２３は、すべてのコードを処理したか否かを判断し（ステップＳ１５０６）、すべてのコードを処理していない場合は（ステップＳ１５０６：ＮＯ）、次のコードに対して処理を繰り返す（ステップＳ１５０３）。
【０１０３】
すべてのコードを処理した場合は（ステップＳ１５０６：ＹＥＳ）、プラン実行部１２５は、生成された実行プランを実行する（ステップＳ１５０７）。文書管理装置２００で構造化文書の検索を行う実行プランの場合は、プラン送信部１２６が、検索の対象となる文書管理装置２００に実行プランを送信する（ステップＳ１５０８）。
【０１０４】
文書管理装置２００では、プラン受信部２２１が、実行プランを受信し（ステップＳ１５０９）、プラン実行部２２５が受信した実行プランを実行する（ステップＳ１５１０）。このとき、プラン実行部２２５は、実行プランに対応づけられた表現形式で検索結果を生成する（ステップＳ１５１１）。次に、結果送信部２２９が、生成された検索結果を検索装置１００に送信する（ステップＳ１５１２）。
【０１０５】
検索装置１００の結果受信部１２７は、文書管理装置２００から送信された検索結果を受信する（ステップＳ１５１３）。次に、プラン生成部１２２が、受信した検索結果が検索処理の中間結果であるか否かを判断する（ステップＳ１５１４）。中間結果である場合は（ステップＳ１５１４：ＹＥＳ）、プラン生成部１２２は、当該中間結果に応じた残りの実行プランを生成する（ステップＳ１５１５）。なお、このステップは必須ではなく、事前に生成された実行プランに従って中間結果を処理する場合もある。
【０１０６】
ステップＳ１５１４で、検索結果が中間結果でない場合は（ステップＳ１５１４：ＮＯ）、結果送信部１２８が、クライアント４００に検索結果を送信し（ステップＳ１５１６）、構造化文書検索処理を終了する。
【０１０７】
なお、クライアント４００に送信する検索結果は、実行プランにしたがって、クライアント４００に送信する形式（ＸＭＬ形式等）でプラン実行部１２５が作成する。
【０１０８】
次に、このように構成された本実施の形態における構造化文書検索システムによる構造化文書検索処理の具体例について説明する。以下では、２つの文書管理装置２００ａ、２００ｂに分散配置された構造化文書に対する構造化文書検索処理を例として説明する。
【０１０９】
図１６は、この例における構造化文書の分散配置の一例を示した説明図である。同図に示すように、装置Ｘがメインの検索装置１００であり、装置Ａ、Ｂがサブの検索装置に相当する文書管理装置２００ａ、２００ｂであり、装置Ａに１０００件の報告書が格納されている構造化文書ＤＢ「db1」が存在し、装置Ｂにユーザ情報が格納されている構造化文書ＤＢ「db2」が存在すると仮定する。
【０１１０】
また、図１２に示すような問合せデータが入力され、検索結果のヒット件数が２００件、各報告書の報告者が２名ずつ含まれる中間結果が得られていることを前提とする。また、格納ページのサイズは４０９６バイトとする。
【０１１１】
図１７は、このときの中間結果を表すテーブルの一例を示す説明図である。同図に示すように、この中間結果を格納したテーブルには、テーブルＩＤ＝１０が付与されている。また、当該テーブルのカラム０には、検索結果として出力する項目のうち「$rep//title/text」に該当するノードのＩＤが保持され、カラム１には「$userinfo」に該当するノードのＩＤが保持されている。
【０１１２】
まず、装置Ｘのプラン生成部１２２が、結果データを出力するための実行プランとして、図１４に示すような実行プランを生成したとする（ステップＳ１５１５）。この実行プランの意味は以下の通りである。
【０１１３】
ＩＤ＝１のコード：オペレータ「LoadText」を実行して、テーブルＩＤ１０のカラムＩＤ０に格納されている構造要素ＩＤ（ＴＩＤ）＝１の値を装置Ａで取得し、装置Ｘに転送する。
【０１１４】
ＩＤ＝２のコード：オペレータ「LoadText」を実行して、テーブルＩＤ１０のカラムＩＤ１に格納されている構造要素ＩＤ（ＴＩＤ）＝１０２の値を装置Ｂで取得し、装置Ｘに転送する。
【０１１５】
ＩＤ＝３のコード：オペレータ「createXML」を実行して、取得された値から結果データを生成する。
【０１１６】
次に、取得部１２３が、上記実行プランの各コードのうち、データ生成の有無が「有り」であるコードについて、検索対象となる構造要素の統計情報を取得する（ステップＳ１５０４）。例えば、上述のように、図１４のＩＤ＝２のコードについて、取得部１２３は平均テキストサイズ＝９４、テーブルフラグ＝１、平均子孫ノード数＝６、平均文書サイズ＝２１８００、平均格納ページ数＝５、文書数＝１を統計情報として取得する。
【０１１７】
続いて、対応づけ部１２４が、問合せデータに関する情報、取得した統計情報、中間結果に関する情報を利用して、規則記憶部１４０の規則に従って表現形式の対応づけを行う（ステップＳ１５０５）。
【０１１８】
例としてＩＤ＝２のコードについて考える。転送対象となる構造要素のＴＩＤは１０２である。まず、規則ＩＤ＝１の規則では、ＴＩＤ＝１０２の構造要素が含まれる文書数は１個であるが、平均文書サイズは「４０００バイト未満」の条件を満たさないので、適用されない。
【０１１９】
続いて規則ＩＤ＝２の規則では、ＴＩＤ＝１０２の構造要素が含まれる文書数は１個であり、平均文書サイズは「４００００バイト未満」を満たす。また、ＴＩＤ＝１０２の構造要素が含まれる文書の平均格納ページ数は５個、平均テキストサイズは９４バイトであるので、平均テキストサイズ×ヒット件数＝９４×（２００×２）＝３７６００（バイト）、格納ページ数×ページサイズ＝５×４０９６＝２０４８０（バイト）となる。
【０１２０】
したがって、当該規則のうち、「平均テキストサイズ×ヒット件数＞格納ページ数×ページサイズ」を満たす。従って、規則ＩＤ＝２の規則のすべての条件を満たすため、この規則が適用される。すなわち、規則ＩＤ＝２の規則の表現形式である格納ページ形式が、表現形式として対応づけられる。
【０１２１】
図１８は、表現形式を対応づけた後の実行プランの一例を示す説明図である。なお、ＩＤ＝１のコードは、適合する規則が存在しなかったため、デフォルトの表現形式であるテーブル形式が設定されている。ＩＤ＝２のコードは規則ＩＤ＝２の規則が適用されるため、格納ページ形式が設定されている。
【０１２２】
図１９は、従来の手法により表現形式を対応づけた場合の実行プランの一例を示す説明図である。従来の手法では、すべての表現形式はテーブル形式が利用されるため、同図に示すような実行プランとなる。
【０１２３】
最後に、プラン実行部１２５で、表現形式を対応づけ済みの実行プランを利用して、各コードを実行し、結果データを生成する（ステップＳ１５０７）。
【０１２４】
ここで、従来の手法におけるデータ転送量と、本実施の形態の手法におけるデータ転送量について比較する。従来の手法では、テーブル形式によりデータを生成して転送するため、（２００×２）人分のユーザ情報を文字列化したデータを保持するテーブルを転送する。ユーザ情報は平均９４バイトのデータであるので、少なくとも（２００×２）×９４＝３７６００バイトのデータ転送が必要となる。
【０１２５】
一方、本実施の形態の手法によれば、５ページ分の格納ページを転送することになるため、４０９６×５＝２０４８０バイトのデータ転送で済む。このように、本実施の形態の手法によれば、従来の手法と比べてデータ転送量を削減することが可能となる。
【０１２６】
なお、ユーザ情報のテキストデータのサイズがさらに大きい場合、または、報告書に含まれる報告者の重複がさらに多い場合には、データ転送量のさらに高い削減率が得られる。
【０１２７】
このように、本実施の形態にかかる構造化文書検索システムでは、複数の表現形式の集合の中から、検索対象の統計情報等を参照して表現形式を選択し、検索処理に実行される各オペレータに対して選択した表現形式を対応づけた実行プランを生成し、選択した表現形式のデータ形式で文字列を生成およびデータの転送を行うことができる。このため、文字列生成回数やデータ転送サイズを削減することができ、その結果、高速な検索が可能となる。
【産業上の利用可能性】
【０１２８】
以上のように、本発明にかかる構造化文書検索システム、構造化文書検索方法、検索装置、および文書管理装置は、ＸＭＬなどの構造化文書を複数の装置に分散配置して管理するシステムに適している。
【図面の簡単な説明】
【０１２９】
【図１】本実施の形態にかかる構造化文書検索システムの構成を示すブロック図である。
【図２】ＸＭＬ形式の構造化文書の一例を示した説明図である。
【図３】ＸＭＬ形式の構造化文書の別の例を示した説明図である。
【図４】抽出された構造情報の一例を示す説明図である。
【図５】抽出された構造情報の一例を示す説明図である。
【図６】構造情報のデータ構造の一例を示す説明図である。
【図７】規則記憶部に記憶された規則のデータ構造の一例を示す説明図である。
【図８】文字列形式の表現形式の一例を示す説明図である。
【図９】バイナリ形式の表現形式の一例を示す説明図である。
【図１０】テーブル形式の表現形式の一例を示す説明図である。
【図１１】格納ページ形式の表現形式の一例を示す説明図である。
【図１２】問合せデータの一例を示す説明図である。
【図１３】結果データの一例を示す説明図である。
【図１４】実行プランの一例を示す説明図である。
【図１５】本実施の形態における構造化文書検索処理の全体の流れを示すフローチャートである。
【図１６】構造化文書の分散配置の一例を示した説明図である。
【図１７】中間結果を表すテーブルの一例を示す説明図である。
【図１８】実行プランの一例を示す説明図である。
【図１９】実行プランの一例を示す説明図である。
【符号の説明】
【０１３０】
１００  検索装置
１１０  格納処理部
１１１  構造抽出部
１１２  文書送信部
１２０  検索処理部
１２１  要求受信部
１２２  プラン生成部
１２３  取得部
１２４  対応づけ部
１２５  プラン実行部
１２６  プラン送信部
１２７  結果受信部
１２８  結果送信部
１３０  構造情報記憶部
１４０  規則記憶部
２００  文書管理装置
２１０  文書格納部
２２０  検索処理部
２２１  プラン受信部
２２５  プラン実行部
２２９  結果送信部
２５０  構造化文書記憶部
３００  ネットワーク
４００  クライアント
【図１】
2008084113.tif 000003
【図２】
2008084113.tif 000004
【図３】
2008084113.tif 000005
【図４】
2008084113.tif 000006
【図５】
2008084113.tif 000007
【図６】
2008084113.tif 000008
【図７】
2008084113.tif 000009
【図８】
2008084113.tif 000010
【図９】
2008084113.tif 000011
【図１０】
2008084113.tif 000012
【図１１】
2008084113.tif 000013
【図１２】
2008084113.tif 000014
【図１３】
2008084113.tif 000015
【図１４】
2008084113.tif 000016
【図１５】
2008084113.tif 000017
【図１６】
2008084113.tif 000018
【図１７】
2008084113.tif 000019
【図１８】
2008084113.tif 000020
【図１９】
2008084113.tif 000021