JP4854542B2 - 文書検索システム及び文書検索方法 - Google Patents

文書検索システム及び文書検索方法 Download PDF

Info

Publication number
JP4854542B2
JP4854542B2 JP2007047860A JP2007047860A JP4854542B2 JP 4854542 B2 JP4854542 B2 JP 4854542B2 JP 2007047860 A JP2007047860 A JP 2007047860A JP 2007047860 A JP2007047860 A JP 2007047860A JP 4854542 B2 JP4854542 B2 JP 4854542B2
Authority
JP
Japan
Prior art keywords
structured document
search
storage device
unit
document
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2007047860A
Other languages
English (en)
Other versions
JP2008210272A (ja
Inventor
大介 永澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2007047860A priority Critical patent/JP4854542B2/ja
Priority to US12/032,880 priority patent/US8086561B2/en
Publication of JP2008210272A publication Critical patent/JP2008210272A/ja
Application granted granted Critical
Publication of JP4854542B2 publication Critical patent/JP4854542B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

この発明は、論理的な階層化された論理構造を有する構造化文書に対して検索を行う文書検索システム及び文書検索方法に関するものである。
従来から、大量の電子化された文書を扱うために分散リレーショナルデータベースシステムが広く利用されている。この分散リレーショナルデータベースシステムが大規模な場合、文書が有するデータを、予め定められたスキーマに適合するように変換した上で、複数の計算機に格納していた。そして、当該分散リレーショナルデータベースシステムは、ユーザに対して、あたかも1つの計算機やデータベースであるかのようなインターフェイスを提供していた。なお、スキーマとは、データベースシステムが有するテーブルや列などの構造や、当該データベースシステムに格納されるデータの順番等の定義を指している。
そして、当該分散リレーショナルデータベースシステムでは、ユーザから検索要求を受け付けた場合に、ネットワークで接続された複数の計算機が協調して実行処理を行う。これにより、1台の計算機に格納できない大規模な文書群に対する高度な検索機能を実現している。
分散データベースシステムにおいて、より大量の文書を格納するために各計算機に排他にデータを格納する、“Shared Nothing型”と呼ばれるシステムも存在する。このような分散データベースシステムでは、複数の計算機にまたがって検索を行うためにジョイン演算の機能が提供されている。このようなジョイン演算では、計算機間で中間結果データの転送が発生する。
そして、このような分散データベースシステムにおいては、中間検索結果データの転送時間によるスループットやレスポンスが低下するという問題が生じていた。このような問題を解決するために、例えば特許文献1などジョイン演算に関する技術が数多く提案されている。この特許文献1では、1つの仮想表で異なる条件を複数のマッピング保持できる多重マッピング機構を用いることで、仮想表の切り替え、仮想表上のアクセス項目の変更なしにアクセス先データベースを切り替えることが可能とし、アクセス対象データの変更に柔軟に対応可能としている。また、ジョイン実行方式としてセミ・ジョイン法、ハッシュ・ジョイン法などが提案されている。
このように分散データベースシステムでは、既に提案されているさまざまなジョイン実行方式を用いることで、データ転送量を削減することができる。
ところで、近年、構造化文書の普及が急速に進んでいる。この普及に伴い、大量の構造化文書を管理するために、構造化文書に特化した構造化文書データベースの普及が進んでいる。
構造化文書とは、データ内容とデータ構造を内包し、データ構造が要素と論理的な関係(文書論理構造)を持った文書である。構造化文書を記述するメタ言語の例として、SGML(StandardGeneralized Markup Language)や、W3C(World Wide Web Consortium)で定められ、近年急速に普及が進んでいるXML(eXtensible Markup Language)がある。
構造化文書データベースは、構造化文書のための検索言語を用いて、構造化文書に格納された要素の論理的な関係を表す情報を保持している。そして、構造化文書の検索を行う際に、当該要素の論理的な構造を検索式で特定することで、構造化文書の構造を検索条件に指定して精度の高い検索を実現している。例えば、特許文献2では、構造化文書群の論理構造の共通性、規則性を縮約した情報をテンプレートとして保持し、検索時にこれを利用している。
構造化文書がXML文書の場合に用いられる検索式については説明する。当該検索式は、構造化文書が有する構造を検索条件に指定するために、W3Cによって規定されているXPath(XML Path Language)やXQuery(XML Query Language)言語などが利用される。
XPathは、XML文書の中の特定の要素や属性を指し示すための、パス式の記述方式を定めた言語である。XQueryは、XPathをサブセットであり、XPathで指定されたXML要素や属性に対する、繰り返し、代入、比較等の複雑な演算、またXML要素や属性の生成の記述可能なXML文書のための検索言語である。このような検索言語を用いることで、従来の検索式よりも複雑な検索式を記述する事が可能となる。
構造化文書が複数の計算機に分散して格納された分散構造化文書データベースシステムにおいては、このような検索式でジョイン演算を行う際に、論理構造を有する中間結果データの転送が発生する場合がある。この場合、上述したジョイン実行方式を、分散構造化文書データベースに適用して、転送処理のコストを削減できる。
特開2001−109758号公報 特開2005−190163号公報
しかしながら、分散構造化文書データベースシステムでは、以下に示す特有の問題が発生する。まず、前述の分散リレーショナルデータベースでは、セミ・ジョインを行う際、所定のフィールドを結合キーとして結合を行うため、当該フィールドのデータのみ転送すればよい。これに対して、分散構造化文書データベースでは、結合キーの各要素が論理構造を持つ場合がある。例えば、結合キーがシーケンス構造などの列であり、さらにその各要素が、XMLノード(XML部分木)などの数値や文字列を含んだ深いタグ(リスト)構造である場合がある。このように、分散構造化文書データベースシステムの結合キーは、分散リレーショナルデータベースの結合キーと比較してデータサイズが大きくなる可能性が高い。
このように、分散構造化文書データベースでは、セミ・ジョイン法などでデータ転送量を削減しても、結合キーのデータサイズが大きいために転送量が増加して、レスポンスが低下するという問題がある。
本発明は、上記に鑑みてなされたものであって、ジョイン検索を行う際のデータの転送量を減少させる文書検索システム及び文書検索方法を提供することを目的としている。
上述した課題を解決し、目的を達成するために、本発明の文書検索システムは、各要素が論理的に階層化された構造化文書を格納する第1の格納装置及び第2の格納装置と、当該第1の格納装置及び第2の格納装置を管理する文書管理装置とを接続する文書検索システムにおいて、前記文書管理装置は、前記第1の格納装置及び前記第2の格納装置に格納されている各前記構造化文書の前記要素の階層位置関係を、一括して有する階層構造を示す構造情報を記憶する構造記憶部と、前記構造情報のうち、前記第2の格納装置に格納された前記構造化文書の所定の要素であって、前記第1の格納装置に格納された前記構造化文書の要素と一致する同一要素を抽出する抽出部と、前記同一要素を、前記第1の格納装置に送信する送信部と、を備え、前記第1の格納装置は、前記構造化文書を格納する第1の記憶部と、前記文書管理装置から前記同一要素を受信する第1の受信部と、前記第1の記憶部に格納された前記構造化文書から、前記同一要素を含む構造化文書を検索する第1の検索部と、検索された前記構造化文書が有する前記同一要素と、当該同一要素に対するテキスト情報とを対応付けて、前記第2の格納装置に送信する第1の送信部と、を備え、前記第2の格納装置は、前記第1の格納装置から、前記同一要素と、当該同一要素に対応付けられた前記テキスト情報とを受信する第2の受信部と、受信した前記テキスト情報と一致する前記同一要素を含む構造化文書を検索する第2の検索部と、を備えること、を特徴とする。
また、本発明の文書検索方法は、各要素が論理的に階層化された構造化文書を格納する第1の格納装置及び第2の格納装置に対して、検索を行う文書検索方法において、構造記憶部に記憶された、前記第1の格納装置及び前記第2の格納装置に格納されている各前記構造化文書の前記要素の階層位置関係を、一括して有する階層構造を示す構造情報のうち、前記第2の格納装置に格納された前記構造化文書の所定の要素であって、前記第1の格納装置に格納された前記構造化文書の要素と一致する同一要素を抽出し、前記同一要素を、前記第1の格納装置に送信し、前記第1の格納装置が、前記同一要素を受信し、第1の記憶部に格納された前記構造化文書から、前記同一要素を含む構造化文書を検索し、検索された前記構造化文書が有する前記同一要素と、当該同一要素に対するテキスト情報とを対応付けて、前記第2の格納装置に送信し、前記第2の格納装置が、前記第1の格納装置から、前記同一要素と、当該同一要素に対応付けられた前記テキスト情報とを受信し、受信した前記テキスト情報と一致する前記同一要素を含む構造化文書を検索する、ことを特徴とする。
本発明によれば、検索を行う際に第1の格納装置及び第2の格納装置の間で送受信されるデータ量を低減できるという効果を奏する。
以下に添付図面を参照して、この発明にかかる文書検索システム及び文書検索方法の最良な実施の形態を詳細に説明する。
図1に示すように、本実施形態にかかる分散構造化文書データベースシステムは、LAN140を介してマスタデータベース処理装置100と、第1データベース処理装置110と、第2データベース処理装置120と、第3データベース処理装置130とが接続されている。
なお、本実施の形態では、構造化文書としてXML形式の文書を用いることとするが、XML形式に制限するものではなく、他の形式を用いても良い。
マスタデータベース処理装置100は、マスタDBMS(Database Management System)101を備えている。第1データベース処理装置110は、第1スレーブDBMS111を備え、第1構造化文書データ格納部112と接続している。第2データベース処理装置120は、第2スレーブDBMS121を備え、第2構造化文書データ格納部122と接続している。第3データベース処理装置130は、第3スレーブDBMS131を備え、第3構造化文書データ格納部132と接続している。そして、第1スレーブDBMS111と第2スレーブDBMS121と第3スレーブDBMS131には、構造化文書が格納されている。
マスタデータベース処理装置100は、ユーザからのクエリ実行要求を受け付ける。そして、受け付けたクエリ実行要求に従った実行命令を生成して、第1データベース処理装置110、第2データベース処理装置120及び第3データベース処理装置130のうちいずれか一つ以上に対して実行命令を送信する。
第1データベース処理装置110、第2データベース処理装置120及び第3データベース処理装置130は、マスタデータベース処理装置100からの実行命令を受信した場合、当該実行命令に従って、第1構造化文書データ格納部112、第2構造化文書データ格納部122及び第3構造化文書データ格納部132に対してデータ取得処理、ソート処理、データ転送処理、結合処理等の実処理を行う。
なお、本実施の形態では、1台のマスタ及び3台スレーブで構成されている分散構造化文書データベースシステムの例について、図2を用いて説明する。なお、本実施の形態に示す処理は、スレーブ毎に構造化文書を排他に分散格納するシステムであれば適用可能なものである。本実施の形態で示した構成に限らず、あらゆる装置構成及びネットワーク構成に対して適用できる。
マスタデータベース処理装置100は、マスタDBMS101を備え、構造情報格納部201と接続されている。マスタDBMS101は、外部通信処理部211と、検索処理部212と、内部通信処理部213と、データ格納処理部214とを備える。
外部通信処理部211は、ユーザが操作するPC等に接続されたLAN140等を介して通信を行う。そして、外部通信処理部211は、ユーザから構造化文書の格納命令やクエリ実行命令などの各種命令や、格納する構造化文書、実行するクエリなどのデータを受信する。また、外部通信処理部211は、検索条件が示されたクエリ式を受信するので、換言すれば当該検索条件で他のデータベース処理装置間のジョイン検索を行う旨の指示を受け付ける受付部に相当する。
内部通信処理部213は、送信部218と受信部219とを備え、第1データベース処理装置110、第2データベース処理装置120及び第3データベース処理装置130との間で通信を行う。
送信部218は、第1データベース処理装置110、第2データベース処理装置120及び第3データベース処理装置130に対して、ジョイン検索を行うための実行命令、ジョイン検索で用いる検索用構造情報、格納する構造化文書を送信する。
受信部219は、検索結果や中間結果データなどの情報を、第1データベース処理装置110、第2データベース処理装置120及び第3データベース処理装置130から受信する。
構造情報格納部201は、後述する第1構造化文書データ格納部112、第2構造化文書データ格納部122及び第3構造化文書データ格納部132に格納された構造化文書データの構造情報を格納する。
構造情報は、構造化文書の構造を保持する情報であり、本実施の形態では構造化文書の構造が定義されたスキーマ、又は構造化文書から抽出した構造を保持する構造化テンプレート等とする。これにより、構造情報は、構造化文書に含まれているノードの階層位置関係を一括して保持することとする。
また、構造情報格納部201は、構造情報を記憶する記憶手段であり、HDD(Hard Disk Drive)、光ディスク、メモリカード、RAM(Random Access Memory)などの一般的に利用されているあらゆる記憶手段により構成することができる。
また、本実施の形態とは異なるが、構造化文書データを定義するスキーマが存在しない場合、構造情報格納部201は、後述するデータ格納処理部214が構造化文書から抽出した構造の情報を格納する。この構造化文書から抽出した構造の情報を構造テンプレートとする。
図3に示すように、構造情報では、同一のパス構造はまとめられる。また、構造情報では、構造化文書のルートノードの場合、当該ノードに対して“Document Root”フラグが付加される。また、構造情報では、必ず1度だけ存在するノードの場合、符号301に示すように各ノードに対して“Unique Node”フラグが設定されている。この“Unique Node”フラグは、当該ノードがユニークであることを示している。また、構造情報がスキーマの場合、上述したフラグ等に加えて、上記に加えてノードの繰り返し回数や、格納されるデータ型などの情報が定義されている。なお、本実施の形態では、要素がノードの場合について説明するが、ノード以外の情報を用いても良い。
データ格納処理部214は、外部通信処理部211が受信した構造化文書を、第1構造化文書データ格納部112、第2構造化文書データ格納部122及び第3構造化文書データ格納部132のうちいずれか1つに格納するための処理を行う。また、データ格納処理部214は、構造情報格納部201にスキーマが格納されていない場合、受信した構造化文書から構造の情報を抽出する処理を行い、抽出した構造の情報を、構造情報格納部201に構造テンプレートとして格納する処理を行う。
検索処理部212は、クエリ解析部215と、抽出部216と、実行部217と、を備え、受信したクエリに従って、他のデータベース処理装置で検索処理を行うための実行命令を生成や、検索結果を示す検索結果リストの生成など、検索に関する処理を行う。
クエリ解析部215は、外部通信処理部211が受信したクエリに対して構文解析を行う。
抽出部216は、構造情報格納部201から、構文解析結果に合致する構造情報を抽出して、解析されたクエリを表現する検索用構造情報を生成する。また、検索用構造情報の詳細については後述する。
実行部217は、生成部220を備え、生成された検索用構造情報に基づいて、ジョイン検索を行うための処理を実行する。例えば、実行部217は、第1データベース処理装置110、第2データベース処理装置120及び第3データベース処理装置130のうちいずれか一つ以上に、生成された検索用構造情報を用いてジョイン検索を行うための実行命令を生成し、送信部218に対して当該実行命令と検索用構造情報の送信を要求する。また、実行部217は、第1データベース処理装置110、第2データベース処理装置120及び第3データベース処理装置130に実行命令等の送信を要求した後、検索結果や中間結果を管理する。
生成部220は、管理している中間結果及び検索結果から検索結果リストを生成する。なお、検索結果リストについては後述する。
第1データベース処理装置110は、第1スレーブDBMS111を備え、第1構造化文書データ格納部112と接続されている。第1スレーブDBMS111は、内部通信処理部221と、検索処理部222と、データ格納処理部223とを備える。
第1構造化文書データ格納部112は、構造化文書を復元可能な形式で格納する記憶手段であり、HDD(Hard Disk Drive)、光ディスク、メモリカード、RAM(Random Access Memory)などの一般的に利用されているあらゆる記憶手段により構成することができる。また、第1構造化文書データ格納部112は、構造化文書を検索するための索引情報も保持する。また、第1構造化文書データ格納部112と、第2構造化文書データ格納部122と、第3構造化文書データ格納部132とは、排他的に構造化文書を格納する。
なお、後述する第2構造化文書データ格納部122及び第3構造化文書データ格納部132も同様の記憶手段で構成されるとともに、他の構造化文書格納部と排他的に構造化文書を格納する。
図4に示すように、第1構造化文書データ格納部112は、4個の構造化文書(XML文書)を格納している。この図4に示された構造化文書1、構造化文書2、構造化文書3及び構造化文書4の各々は、1機種のPCの情報を保持している。また、図4に示すように、第1構造化文書データ格納部112が格納する構造化文書は、“CompanyT”社製PCの情報を保持するXML文書とする。
図4に示すXML文書は、タグ“<parts>”とタグ“</parts>”の間に、当該PCのパーツ情報を格納している。パーツ情報としては、タグ“<hddvd>”を含むXML文書(例えば構造化文書1)や、タグ“<hddvd>”を含まないXML文書(例えば、構造化文書2)などがある。他の例としては、タグ“<cpu>”など複数出現するXML文書もあるし、1つしか出現しないXML文書もある。このように、XML文書に応じて様々な情報をタグ内に格納している。
図2に戻り、内部通信処理部221は、受信部224と、送信部225とを備え、第2データベース処理装置120、第3データベース処理装置130、及びマスタデータベース処理装置100との間でデータの送受信を行う。
受信部224は、マスタデータベース処理装置100から実行命令、検索用構造情報、又は格納する構造化文書を受信する。また、受信部224は、第2データベース処理装置120、第3データベース処理装置130から検索における中間結果データや、検索結果データなどを受信する。
送信部225は、マスタデータベース処理装置100に対して、中間結果データ、又は検索結果データを送信する。また、送信部225は、第2データベース処理装置120又は第3データベース処理装置130に対して、マスタデータベース処理装置100から受信した実行命令及び検索用構造情報、中間結果データ、又は検索結果データなどを送信する。
また、中間結果データとは、ジョイン検索における中間検索結果を示したデータとする。この中間結果データを、第2データベース処理装置120又は第3データベース処理装置130に対して送信することでジョイン検索を可能にする。また、中間結果データは、マスタデータベース処理装置100にも送信する。これにより、マスタデータベース処理装置100はジョイン検索の進捗を管理できる。検索結果データは、ジョイン検索の結果を示したデータとする。
検索処理部222は、受信部224が受信したマスタデータベース処理装置100からの実行命令に従って、第1構造化文書データ格納部112に対してデータ取得処理、ソート処理、データ転送処理、結合処理、などの実処理を行い、中間結果データ又は検索結果データを出力とする。また、検索処理部222は、ジョイン検索の場合、第1構造化文書データ格納部112に格納された構造化文書から、検索用構造情報に含まれているノードと同一のノードを含む構造化文書を検索する。また、検索処理部222は、このような検索を行う際、受信した検索用構造情報に従って、第1構造化文書データ格納部112に格納された構造化文書のノードのトラバースと、データ取得条件に一致する構造化文書の全部又は一部のテキスト情報の実体化処理を行う。
データ格納処理部223は、マスタデータベース処理装置100から受信した構造化文書を、第1構造化文書データ格納部112に格納する処理を行う。また、データ格納処理部223は、第1構造化文書データ格納部112に格納された構造化文書を検索するために索引情報を生成する処理を行い、当該索引情報も第1構造化文書データ格納部112に格納する。
第2データベース処理装置120は、第2スレーブDBMS121を備え、第2構造化文書データ格納部122と接続されている。第2スレーブDBMS121は、受信部234と送信部235を有する内部通信処理部231と、検索処理部232と、データ格納処理部233とを備えている。なお、内部通信処理部231、検索処理部232、及びデータ格納処理部233が行う処理は、第1スレーブDBMS111の内部通信処理部221、検索処理部222、及びデータ格納処理部233が行う処理と同様なので説明を省略する。
第2構造化文書データ格納部122は、構造化文書を復元可能な形式で格納する記憶手段とする。図5に示すように、第2構造化文書データ格納部122は、4個の構造化文書(XML文書)を格納している。この図5に示された構造化文書5、構造化文書6、構造化文書7及び構造化文書8の各々は、1機種のPCの情報を保持している。そして、図5に示すように、第2構造化文書データ格納部122が格納する構造化文書は、“CompanyD”社製PCの情報を保持するXML文書とする。なお、図5に示すXML文書も、図4に示すXML文書と同様にタグ“<parts>”とタグ“</parts>”の間に、当該PCのパーツ情報を格納している。
図2に戻り、第3データベース処理装置130は、第3スレーブDBMS131を備え、第3構造化文書データ格納部132と接続されている。第3スレーブDBMS131は、受信部244と送信部245を有する内部通信処理部241と、検索処理部242と、データ格納処理部243とを備えている。なお、内部通信処理部241、検索処理部242、及びデータ格納処理部243が行う処理は、第1スレーブDBMS111の内部通信処理部221、検索処理部222、及びデータ格納処理部233が行う処理と同様なので説明を省略する。第3構造化文書データ格納部132は、構造化文書を復元可能な形式で格納する記憶手段とする。なお、第3構造化文書データ格納部132に格納された構造化文書の例については、説明を容易にするために省略する。
次に、本実施の形態にかかる分散構造化文書データベースシステムのジョイン検索について説明する。後述する処理手順の例では、第1構造化文書データ格納部112及び第2構造化文書データ格納部122に対してジョイン検索を行う場合について説明する。なお、本実施の形態は、ジョイン検索の検索対象を、第1構造化文書データ格納部112及び第2構造化文書データ格納部122に制限するものではなく、どの構造化文書データ格納部を検索対象としても良い。また、ジョイン検索は、3個以上の構造化文書データ格納部をジョインして検索を行ってもよい。
図6で示したクエリ式は、XQueryで、第1構造化文書データ格納部112に格納された“CompanyT社製(T_pcs)”のパソコンと、第2構造化文書データ格納部122に格納された“CompanyD社製(D_pcs)”のパソコンとを、それぞれパーツ構成(タグ名・構造)が完全一致か否か比較を行い、これらが完全一致する“CompanyT”社製パソコンと“CompanyD”社製パソコンの組み合わせを全て列挙するように指示している。また、当該クエリ式は、検出された“CompanyT”社製パソコンと“CompanyD”社製パソコンの組み合わせを、タグ“<ans>”とタグ“</ans>”の間に書き込むように指示している。なお、本実施の形態は、クエリ式にXQueryを用いたが、他の言語を用いても良い。
次に、分散構造化文書データベースシステムが、第1構造化文書データ格納部112及び第2構造化文書データ格納部122に対してジョイン検索を行う処理手順について、図7を用いて説明する。
まず、マスタデータベース処理装置100の外部通信処理部211が、ユーザのPC等から検索等が指示されたクエリ(クエリ式)を受信する(ステップS701)。
次に、クエリ解析部215が、受信したクエリの解析を行う(ステップS702)。そいて、クエリ解析部215は、解析結果よりジョイン検索が必要か否か判断する(ステップS703)。
そして、クエリ解析部215は、ジョイン検索が必要ないと判断した場合(ステップS703:No)、図示していないが通常の処理を行い、処理を終了する。
また、クエリ解析部215は、ジョイン検索が必要と判断した場合(ステップS703:Yes)、抽出部216は、構造情報格納部201から、送信側のジョインキーのパス群を取得する(ステップS704)。例えば、抽出部216が、図6で示したクエリ式でジョイン検索を行う場合、第1構造化文書データ格納部112のパス“/T_pcs/pc”の下のパス群を、構造情報格納部201から取得する。なお、クエリ式において送信側のジョインキーが“//cpu”などの相対パスで表記されていた場合、“/T_pcs/pc/parts/cpu”等の絶対パスに変換してから、パス群を取得する。また、抽出部216は、当該パス群の各ノードに設定されている“Unique Node”も抽出しておく。
なお、送信側とは、2個のスレーブDBMS間でジョイン検索を行う場合に、ジョイン検索の中間検索データを生成して他のデータベース処理装置に送信する側のデータベース処理装置をいう。そして、受信側とは、他のデータベース処理装置からジョイン検索の中間結果データを受信してジョイン検索の検索結果データを生成する側をいう。
次に、抽出部216は、構造情報格納部201から、受信側のジョインキーのパス群を取得する(ステップS705)。例えば、抽出部216は、図6で示したクエリ式では、第2構造化文書データ格納部122のパス“/D_pcs/pc”の下のパス群を、構造情報格納部201から取得する。また、抽出部216は、当該パス群の各ノードに設定されている“Unique Node”も抽出しておく。
そして、抽出部216は、取得した送信側のジョインキーのパス群と、受信側のジョインキーのパス群とを、当該パス群に含まれている各ノードの名称で比較を行い、名称が一致する同一ノードを各パス群から抽出する(ステップS706)。例えば、送信側のジョインキーとして抽出されたパス群が“/a/b”と“/a”であり、受信側のジョインキーとして抽出されたパス群が“/b”と“/b/c”の場合、受信側のジョインキーのパス群のノードに名称“a”が存在せず、送信側のジョインキーのパス群のノードに名称“c”が存在しない。このため、抽出部216は、パス“/a”とパス“/b/c”を除外し、送信側のジョインキーのパス“/a/b”と受信側のジョインキーのパス“/b”のみを抽出する。
図6で示したクエリ式でジョイン検索を行う例では、抽出部216は、ステップS704で取得したパス“/T_pcs/pc”の子関係にある“parts”と、ステップS705で取得したパス“/T_pcs/pc”の子関係にある“parts”とが対応することを確認する。そして、クエリ式に従って、“part”以下のノードに対して、当該ノードの名称が受信側のジョインキー及び送信側のジョインキーに存在するか確認する。
また、抽出部216は、抽出したパス群から、検索対象であるデータベース処理装置を受信側及び送信側のうちいずれにするか決定しても良い。例えば抽出部216は、上述した対応関係で抽出したパス群に対して、当該パス群に含まれるノードのうち属性に“Uniqe Node”を多く含む方を受信側に設定する。これにより、送信側は各ノードがユニークか否かのチェックし、当該ノードがユニークな構造化文書が保持する情報に限り送信することになる。これにより、送信量を低減させることができる。なお、本処理手順においては、第1データベース処理装置110が受信側となり、第2データベース処理装置120が送信側となる。
次に、抽出部216は、ステップS706で抽出した受信側のジョインキーのパス群のみを含む検索用構造情報を生成する(ステップS707)。また、抽出部216は、第1データベース処理装置110及び第2データベース処理装置120に対する実行命令を生成する。抽出部216は、第2データベース処理装置120に格納された構造化文書の“/part/”以下のノードであって、第1データベース処理装置に格納された構造化文書の/part/”以下のノードと一致する同一ノードを抽出して、抽出した同一ノードを含む検索用構造情報を生成する。
図6で示したクエリ式の例では、図8に示すように、検索用構造情報には、ノード“cpu”と、ノード“memory”と、ノード“hdd”と、ノード“dvdd”とが、ノード“parts”の下に備えられている。これは、抽出部216が、図3で示したノード“T_pcs/pc/parts”の子関係にあるノード群と、ノード“D_pcs/pc/parts”の子関係にあるノード群とを比較して、両方に存在するノード群を、“D_pcs/pc/parts”の下のノード(つまり受信側を意味する)から抽出したためである。また、生成した検索用構造情報には、抽出部216が抽出した“Unique Node”などの属性情報も含まれている。この“Unique Node”などの属性情報は、該当するノードと対応付けておく。
図7に戻り、送信部218は、生成した検索用構造情報と、実行命令と、ステップS706で抽出したパス群とを、ジョイン検索の送信側データベース処理装置(例えば第1データベース処理装置110)に送信する(ステップS708)。なお、これ以降は図示されていないが、マスタデータベース処理装置100は、第1データベース処理装置110等の中間結果データ等の受信によりジョイン検索の進捗を管理する。
図6で示したクエリ式でジョイン検索を行う例では、送信部218は、実行命令と共に、第1構造化文書データ格納部112のパス“/T_pcs/pc/parts”の下のパス群と、図8に示した検索用構造情報とを、第1データベース処理装置110に送信する。
次に、ジョイン検索の送信側である第1データベース処理装置110に処理が移る。第1データベース処理装置110の受信部224は、マスタデータベース処理装置100から、検索用構造情報と、実行命令と、ステップS706で抽出したパス群とを受信する(ステップS711)。
図6で示したクエリ式でジョイン検索を行う例では、第1データベース処理装置110は、パス“/T_pcs/pc/parts”の下のパス群と、図8に示した検索用構造情報と、ジョイン検索のための実行命令を受信する。
そして、検索処理部222は、受信した実行命令に従って処理を行う。本処理フローでは、検索処理部222は、ジョイン検索を行う旨の実行命令を受け付けているので、ジョイン検索のために第1構造化文書データ格納部112に格納された構造化文書の木構造を取得する(ステップS712)。なお、図示していないが、ステップS712〜ステップS716までの処理は、第1構造化文書データ格納部112に格納されている構造化文書の数だけ行うこととする。
そして、検索処理部222は、取得した当該木構造に基づいて、当該構造化文書に含まれるノードから子ノードに再帰的にトラバースし、トラバース先のノードの実体(当該ノードの名称、テキスト情報等も含む)を取得する(ステップS713)。
そして、検索処理部222は、取得したノードが、受信側の構造化文書の構造を示す検索用構造情報に合致するか否かを判断する(ステップS714)。そして、検索処理部222は、合致しないと判断した場合(ステップS714:No)、当該取得した各ノードの実体を破棄する。また、検索処理部222は、当該ノードの実体を破棄した時点で、当該ノードを含む構造化文書の実体化処理を中止する。
次に、検索処理部222による取得したデータが構造情報に適合するか否かを確認する処理について説明する。検索用構造情報がスキーマの場合、一般的なスキーマ・ヴァリデーション処理で適合するか否かの確認が可能であるため、説明を省略する。構造情報が構造テンプレートの場合、検索処理部222は、構造テンプレートでユニークなノードがあると判断した場合、当該ノードが2回出現した時点で取得したノードの実体を破棄する。このようにユニークなノードが2回出現した場合、当該ノードの情報は送信されないことになる。また、検索処理部222は、取得したノードが、構造テンプレートに含まれないノードと判断した場合、当該ノードを送信対象ではないと判断して、当該ノードの実体を破棄する。
そして、検索処理部222は、取得したノードが、検索用構造情報に含まれるノードに合致すると判断した場合(ステップS714:Yes)、ステップS712で取得した木構造に基づいて、子・兄弟関係のノード(要素)があるか否か判断する(ステップS715)。検索処理部222が子・兄弟関係のノードありと判断した場合(ステップS715:Yes)、当該子・兄弟関係のノードにトラバースして、当該ノードの実体の取得を行う(ステップS713)。
検索処理部222は、子・兄弟関係のノードがないと判断した場合(ステップS715:No)、トラバースを終了する。なお、検索処理部222は、トラバースを終了した後に、検索用構造情報に含まれているノードが、当該構造化文書に含まれていなかったと判断した場合、当該構造化文書から実体化したノードを破棄して、当該構造化文書に含まれている全てのノードを送信しないものと判断する。
図6で示したクエリ式でジョイン検索を行う場合について説明する。図9に示すように、検索処理部222は、受信した検索用構造情報と構造が完全一致するか否かを、第1データベース処理装置110に格納された各構造化文書に対して行う。まず、検索処理部222は、受信した実行命令に従って、受信した検索用構造情報から、パス“/T_pcs/pc/parts/”に対応する4個のノードの名称を取得し、取得したノードの名称と、第1構造化文書データ格納部112に格納された各構造化文書の各ノードの名称とが完全一致するか否かを判断する。
詳細に例を示すと、まず、検索処理部222は、構造化文書1のノード“parts”から開始して、子のノード“cpu”、ノード“memory”へと順次トラバースして、各ノードの実体を取得する。そして、検索処理部222は、取得したノードの名称が、検索用構造情報に含まれているノードの名称と一致するか否かを判断する。そして、検索処理部222は、ノード“hddvdd”にトラバースしたときに当該ノードの名称が、検索用構造情報に含まれていないので、当該構造化文書は送信する対象とはならないものと判断して、当該構造化文書に対する処理を終了する。
次に、検索処理部222は、構造化文書2のノード“parts”から開始して、子のノード“cpu”、ノード“memory”へと順次トラバースして、各ノードの実体を取得する。そして、検索処理部222は、取得したノードの名称が、検索用構造情報に含まれているノードの名称と一致するか否かを判断する。そして、検索処理部222は、ノード“cdd”にトラバースしたときに当該ノードの名称が、検索用構造情報に含まれていないので、当該構造化文書は送信する対象とはならないものと判断して、当該構造化文書に対する処理を終了する。
次に、検索処理部222は、構造化文書3のノード“parts”から開始して、子のノード“cpu”へとトラバースして、ノードの実体を取得する。そして、検索処理部222は、次のトラバース先で、当該ノードの名称が“cpu”であることを認識する。この時点で、検索処理部222は、検索用構造情報に含まれているノード“cpu”の属性が“Unique Node”のため完全一致しないと判断して、当該構造化文書に対する処理を終了する。このように、ジョイン検索を行う場合に、受信側がユニークなノードであるにもかかわらず、送信側で当該ノードが複数あると判断した場合に、検索処理部222は、完全一致しないもの判断して送信対象から除外する。これにより、送信するデータ量を低減させることができる。
次に、検索処理部222は、構造化文書4のノード“parts”から開始して、子のノード“cpu”、“memory”、“dvdd”、“hdd”とトラバースして全てノードの名称が一致するので、構造化文書4のノード“parts”以下のノードの実体(例えばノードの名称、及びテキスト情報)を送信対象と判断する。そして、送信部225が、これらのノードを第2データベース処理装置に送信することになる。
本実施の形態では上述した処理を行うことで、構造化文書4のノード“parts”以下のノードのデータのみ送信すればよいことになる。これに対して、従来通りの処理を行う場合、構造化文書1〜4の“parts”以下のノードのデータを全て送信する必要があったため、送信するデータ量を低減させることが可能になる。
また、図9に示したノードのうち着色された丸は、検索処理部222がトラバースを行った結果、実体が取得されたノードを示している。これに対して、従来通りの処理では、構造化文書1〜4の“parts”以下の全てに対してトラバースを行い、実体を取得していた。つまり、検索処理部222が、上述した処理により受信側と一致しないと判断された時点で、トラバースを中断するので、従来のトラバース回数より減少することになり、処理負担を軽減するとともに処理速度を向上させることが可能となる。
図7に戻り、送信部225が、実体化したノード、及びマスタデータベース処理装置100から受信した実行命令を、第2データベース処理装置120に送信する(ステップS716)。なお、送信部225は、これらのデータも中間結果データとしてマスタデータベース処理装置100に対して送信する。さらに、送信部225は、中間結果データとともに、検索処理部222により特定された構造化文書4を、マスタデータベース処理装置100に送信する。これにより、マスタデータベース処理装置100は、構造化文書4を用いて、検索結果リストを生成することができる。
なお、ハッシュ・ジョイン法を用いる場合、送信部225は、構造化文書4のノード“parts”以下のノードに対してのみハッシュ値を求めればよい。
次に、ジョイン検索の受信側である第2データベース処理装置120に処理が移る。第2データベース処理装置120の受信部234は、第1データベース処理装置110から、第1データベース処理装置110が実体化したノードと、マスタデータベース処理装置100が生成した実行命令とステップS706で抽出したパス群とを受信する(ステップS721)。
そして、検索処理部232は、受信した実行命令に従って処理を行う。本処理フローでは、検索処理部232は、ジョイン検索を行う旨の実行命令を受け付けているので、ジョイン検索のために第2構造化文書データ格納部122に格納された構造化文書の木構造を取得する(ステップS722)。
そして、検索処理部232は、受信データと取得データを比較する(ステップS723)。つまり、検索処理部222は、受信した第1データベース処理装置110で実体化されたノードと、第2構造化文書データ格納部122に格納されていた構造化文書のノードとが一致するか否か判断する。そして、検索処理部222は、これらノードが一致しないと判断した場合、当該構造化文書は検索条件を満たさない構造化文書と判断して、次の構造化文書に処理を移し、当該構造化文書に含まれるノードとの比較を行う。そして、検索処理部232は、このような処理を順次行うことで完全一致する構造化文書を特定できる。なお、このようなノード間の比較手法は、周知の手法を問わず、あらゆる手法を用いても良い。
図6で示したクエリ式でジョイン検索を行う例では、検索処理部222は、受信データとして構造化文書4のノード“parts"の下に存在する全てのノードの名称及びテキスト情報を取得している。そして、検索処理部222は、当該構造化文書4のノード“parts"の下に存在するノードと名称及びテキスト情報が一致する構造化文書を検出する。
構造化文書4のノード“parts”の下のノード“cpu”のテキスト情報が“CompanyI”であり、ノード“memory”のテキスト情報が“CompanyT”であり、ノード“dvdd”のテキスト情報が“CompanyT”であり、ノード“hdd”のテキスト情報が“CompanyS”である。そこで、検索処理部222は、当該検索用構造情報と一致する構造化文書として、構造化文書5及び構造化文書6を検出する。
そして、送信部245は、検索処理部232の検索結果を示す検索結果データ(構造化文書5及び構造化文書6を含む)を、マスタデータベース処理装置100に送信する(ステップS724)。これにより、ジョイン検索の処理が終了したことになる。
なお、上述した処理手順は、ジョイン検索の比較条件が、論理構造と値が完全一致する場合について説明した。比較条件が完全一致ではない場合(例えば不一致の場合)は、上述した処理手順の一部を変更することで実行することができる。
上述した処理手順により、構造化文書4とノード“parts”以下が一致する構造化文書として構造化文書5及び構造化文書6が特定できたことになる。
そして、マスタデータベース処理装置100の生成部220は、第1データベース処理装置110から受信した中間結果データ、及び第2データベース処理装置120から受信した検索結果データ等に基づいて、検索結果リストを生成する。
図10に示した検索結果リストでは、構造化文書4と構造化文書5、及び構造化文書4と構造化文書6の組み合わせが生成されているのが確認できる。
上述した実施形態によれば、論理構造を指定したジョイン演算において、ジョインキーの転送量を削減すると共に、検索時のトラバースが減少するのでノードの実体化処理を削減することが可能となった。このような処理手順は、特に構造化文書の論理構造が深い場合に特に有効である。
また、本実施の形態では、上述したようにデータセットにスキーマが存在しない場合でも、構造テンプレートを利用することで、上述した効果を得ることができる。また、本実施の形態で行った処理手順は、また多くの場合、ハッシュ・ジョイン法をはじめとする、既存のジョイン方式と併用する事ができるので、いっそう転送量の削減等を行うことができる。
図11に示すように、マスタデータベース処理装置及び第1〜第3データベース処理装置は、ハードウェア構成として、上述したデータベース処理を行うデータベース処理プログラムなどが格納されているROM1102と、ROM1102内のプログラムに従って当該装置の各部を制御するCPU1101と、当該装置の制御に必要な種々のデータを記憶するRAM(Random Access Memory)1103と、上述した処理結果等を表示する表示装置1104と、ネットワークに接続する通信I/F1105と、ハードディスクなどの外部記憶装置1106と、各部を接続するバス1107と、を備えている。また、マスタデータベース処理装置100、第1データベース処理装置110、第2データベース処理装置120及び第3データベース処理装置130は、上述した構成を備えた一般的なコンピュータに適用することができる。
上述した実施の形態にかかるマスタデータベース処理装置100、第1データベース処理装置110、第2データベース処理装置120及び第3データベース処理装置130で実行されるデータベース処理プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
この場合には、データベース処理プログラムは、マスタデータベース処理装置100、第1データベース処理装置110、第2データベース処理装置120及び第3データベース処理装置130の各装置において上記記録媒体から読み出して実行することにより主記憶装置上にロードされ、上記ソフトウェア構成で説明した各部が主記憶装置上に生成されるようになっている。
また、上述した実施の形態にかかるマスタデータベース処理装置100、第1データベース処理装置110、第2データベース処理装置120及び第3データベース処理装置130で実行されるデータベース処理プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、上述した実施の形態にかかるマスタデータベース処理装置100、第1データベース処理装置110、第2データベース処理装置120及び第3データベース処理装置130で実行されるデータベース処理プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
また、本実施形態のインスタンス処理プログラムを、ROM等に予め組み込んで提供するように構成してもよい。
以上のように、本発明にかかる文書検索システム及び文書検索方法は、構造化文書を格納する複数のデータベースに対してジョイン検索を行う技術として有用である。
本実施の形態にかかる分散構造化文書データベースシステムの構成を示すブロック図である。 本実施の形態にかかるマスタデータベース処理装置、第1データベース処理装置、第2データベース処理装置及び第3データベース処理装置の構成を示すブロック図である。 構造情報格納部に格納されたスキーマで定義された構造化文書の構造情報を示した模式図である。 第1構造化文書データ格納部に格納された構造化文書群の例を示した図である。 第2構造化文書データ格納部に格納された構造化文書群の例を示した図である。 分散構造化文書データベースシステムにおいて、ジョイン演算を含む検索のクエリ式を示した説明図である。 分散構造化文書データベースシステムで行われるジョイン検索の処理手順の例を示すフローチャートである。 抽出部が生成した検索用構造情報の例を示した模式図である。 第1データベース処理装置が検索用構造情報の構造と一致するノードを含む構造化文書を特定してから、第2データベース処理装置に当該構造化文書に含まれるノードのデータを送信するまでの例を示した模式図である。 実行部が生成した検索結果リストの例を示した図である。 マスタデータベース処理装置、第1データベース処理装置、第2データベース処理装置及び第3データベース処理装置のハードウェア構成を示す図である。
符号の説明
100 マスタデータベース処理装置
110 第1データベース処理装置
111 第1スレーブDBMS
112 第1構造化文書データ格納部
120 第2データベース処理装置
121 第2スレーブDBMS
122 第2構造化文書データ格納部
130 第3データベース処理装置
131 第3スレーブDBMS
132 第3構造化文書データ格納部
201 構造情報格納部
211 外部通信処理部
212 検索処理部
213 内部通信処理部
214 データ格納処理部
215 クエリ解析部
216 抽出部
217 実行部
218 送信部
219 受信部
221 内部通信処理部
222 検索処理部
223 データ格納処理部
224 受信部
225 送信部
231 内部通信処理部
232 検索処理部
233 データ格納処理部
234 受信部
235 送信部
241 内部通信処理部
242 検索処理部
243 データ格納処理部
244 受信部
245 送信部
1101 CPU
1102 ROM
1103 RAM
1104 表示装置
1105 通信I/F
1106 外部記憶装置
1107 バス

Claims (6)

  1. 各要素が論理的に階層化された構造化文書を格納する第1の格納装置及び第2の格納装置と、当該第1の格納装置及び第2の格納装置を管理する文書管理装置とを接続する文書検索システムにおいて、
    前記文書管理装置は、
    前記第1の格納装置及び前記第2の格納装置に格納されている各前記構造化文書の前記要素の階層位置関係を、一括して有する階層構造を示す構造情報を記憶する構造記憶部と、
    前記構造情報のうち、前記第2の格納装置に格納された前記構造化文書の所定の要素であって、前記第1の格納装置に格納された前記構造化文書の要素と一致する同一要素を抽出する抽出部と、
    前記同一要素を、前記第1の格納装置に送信する送信部と、を備え、
    前記第1の格納装置は、
    前記構造化文書を格納する第1の記憶部と、
    前記文書管理装置から前記同一要素を受信する第1の受信部と、
    前記第1の記憶部に格納された前記構造化文書から、前記同一要素を含む構造化文書を検索する第1の検索部と、
    検索された前記構造化文書が有する前記同一要素と、当該同一要素に対するテキスト情報とを対応付けて、前記第2の格納装置に送信する第1の送信部と、を備え、
    前記第2の格納装置は、
    前記第1の格納装置から、前記同一要素と、当該同一要素に対応付けられた前記テキスト情報とを受信する第2の受信部と、
    受信した前記テキスト情報と一致する前記同一要素を含む構造化文書を検索する第2の検索部と、を備えること、
    を特徴とする文書検索システム。
  2. 前記文書管理装置の、
    前記構造記憶部は、前記構造情報が保持する前記階層構造内で階層位置が規定されている要素を示す規定要素がユニークであるか否かを示すユニーク情報を規定要素毎に保持し、
    前記抽出部は、前記同一要素と、前記構造情報において対応する前記規定要素のユニーク情報がユニークである場合に、前記同一要素と共に、当該ユニーク情報を抽出し、
    前記送信部は、前記同一要素と、抽出された前記ユニーク情報とを対応付けて送信し、
    前記第1の格納装置の、
    前記第1の受信部は、前記同一要素と、前記同一要素に対応付けられた前記ユニーク情報とを受信し、
    前記第1の検索部は、前記ユニーク情報に対応付けられた前記同一要素を1つのみ含む前記構造化文書を検索すること、
    を特徴とする請求項1に記載のシステム。
  3. 前記第2の格納装置に格納されている前記構造化文書のユニークな要素が、前記第1の格納装置に格納されている前記構造化文書のユニークな要素より多いこと、
    を特徴とする請求項2に記載のシステム。
  4. 前記文書管理装置は、
    利用者から検索条件として所定の要素が一致する前記構造化文書の組み合わせを検索する旨の指示を受け付ける受付部と、をさらに備え、
    前記抽出部は、指示として受け付けた前記所定の要素であって、前記第1の格納装置に格納された前記構造化文書の要素と一致する同一要素を抽出すること、
    を特徴とする請求項1乃至3のいずれか一つに記載のシステム。
  5. 前記第1の格納装置の、
    前記第1の送信部は、検索された前記構造化文書を、前記文書管理装置に送信し、
    前記第2の格納装置は、
    検索された前記構造化文書を、前記文書管理装置に送信する第2の送信部をさらに備え、
    前記文書管理装置は、
    前記第1の格納装置からの前記構造化文書と、前記第2の格納装置からの前記構造化文書を受信する受信部と、
    受信した構造化文書から、同一の要素を含む構造化文書の組み合わせた検索結果を生成する生成手段と、をさらに備えること、
    を特徴とする請求項1乃至4のいずれか一つに記載のシステム。
  6. 各要素が論理的に階層化された構造化文書を格納する第1の格納装置及び第2の格納装置に対して、検索を行う文書検索方法において、
    構造記憶部に記憶された、前記第1の格納装置及び前記第2の格納装置に格納されている各前記構造化文書の前記要素の階層位置関係を、一括して有する階層構造を示す構造情報のうち、前記第2の格納装置に格納された前記構造化文書の所定の要素であって、前記第1の格納装置に格納された前記構造化文書の要素と一致する同一要素を抽出し、
    前記同一要素を、前記第1の格納装置に送信し、
    前記第1の格納装置が、前記同一要素を受信し、
    第1の記憶部に格納された前記構造化文書から、前記同一要素を含む構造化文書を検索し、
    検索された前記構造化文書が有する前記同一要素と、当該同一要素に対するテキスト情報とを対応付けて、前記第2の格納装置に送信し、
    前記第2の格納装置が、前記第1の格納装置から、前記同一要素と、当該同一要素に対応付けられた前記テキスト情報とを受信し、
    受信した前記テキスト情報と一致する前記同一要素を含む構造化文書を検索する、
    ことを特徴とする文書検索方法。
JP2007047860A 2007-02-27 2007-02-27 文書検索システム及び文書検索方法 Active JP4854542B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007047860A JP4854542B2 (ja) 2007-02-27 2007-02-27 文書検索システム及び文書検索方法
US12/032,880 US8086561B2 (en) 2007-02-27 2008-02-18 Document searching system and document searching method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007047860A JP4854542B2 (ja) 2007-02-27 2007-02-27 文書検索システム及び文書検索方法

Publications (2)

Publication Number Publication Date
JP2008210272A JP2008210272A (ja) 2008-09-11
JP4854542B2 true JP4854542B2 (ja) 2012-01-18

Family

ID=39717084

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007047860A Active JP4854542B2 (ja) 2007-02-27 2007-02-27 文書検索システム及び文書検索方法

Country Status (2)

Country Link
US (1) US8086561B2 (ja)
JP (1) JP4854542B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5072871B2 (ja) * 2009-01-28 2012-11-14 株式会社東芝 構造化文書検索システム、装置、及び方法
JP5172931B2 (ja) * 2010-10-25 2013-03-27 株式会社東芝 検索装置、検索方法および検索プログラム
US9104769B2 (en) * 2011-11-10 2015-08-11 Room 77, Inc. Metasearch infrastructure with incremental updates
WO2014038069A1 (ja) * 2012-09-07 2014-03-13 株式会社東芝 構造化文書管理装置、方法およびプログラム
US10701154B2 (en) 2017-05-22 2020-06-30 Microsoft Technology Licensing, Llc Sharding over multi-link data channels

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4552242B2 (ja) * 1999-10-06 2010-09-29 株式会社日立製作所 仮想表インタフェースと該インタフェースを用いた問合せ処理システム及び方法
JP2003308335A (ja) * 2002-04-15 2003-10-31 Just Syst Corp 文書検索システム及び方法、並びにプログラム
JP4398664B2 (ja) 2003-04-03 2010-01-13 株式会社セック Xmlデータの検索方法及び検索装置、並びにプログラムおよびプログラムを記録した記録媒体
JP2005135317A (ja) * 2003-10-31 2005-05-26 Toshiba Solutions Corp 文書管理システムおよび文書管理プログラム
JP4247108B2 (ja) * 2003-12-25 2009-04-02 株式会社東芝 構造化文書検索方法、構造化文書検索装置、及びプログラム
JP4489029B2 (ja) * 2006-02-01 2010-06-23 株式会社東芝 構造化文書検索システムおよび構造化文書検索方法

Also Published As

Publication number Publication date
US20080208843A1 (en) 2008-08-28
US8086561B2 (en) 2011-12-27
JP2008210272A (ja) 2008-09-11

Similar Documents

Publication Publication Date Title
JP4516566B2 (ja) Xml文書とリレーショナルデータと間のマッピングにおける階層情報の保持
US7293018B2 (en) Apparatus, method, and program for retrieving structured documents
US7181680B2 (en) Method and mechanism for processing queries for XML documents using an index
US7080067B2 (en) Apparatus, method, and program for retrieving structured documents
US6996571B2 (en) XML storage solution and data interchange file format structure
US9607061B2 (en) Using views of subsets of nodes of a schema to generate data transformation jobs to transform input files in first data formats to output files in second data formats
US8484210B2 (en) Representing markup language document data in a searchable format in a database system
US8892599B2 (en) Apparatus and method for securing preliminary information about database fragments for utilization in mapreduce processing
US8935267B2 (en) Apparatus and method for executing different query language queries on tree structured data using pre-computed indices of selective document paths
US8145674B2 (en) Structure based storage, query, update and transfer of tree-based documents
WO2006028953A2 (en) Query-based document composition
US10242123B2 (en) Method and system for handling non-presence of elements or attributes in semi-structured data
JP4854542B2 (ja) 文書検索システム及び文書検索方法
AU2007275507B2 (en) Semantic aware processing of XML documents
JP4212615B2 (ja) 構造化文書検索システム、構造化文書検索方法、検索装置、および文書管理装置
Ciglan et al. Corporate memory: A framework for supporting tools for acquisition, organization and maintenance of information and knowledge
Al Hamad RXML: Path-based and XML DOM approaches for integrating between relational and XML databases
Al-Zoube USING MPQF FOR QUERYING MPEG-7 RDF DESCRIPTIONS

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090326

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110930

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111004

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111025

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141104

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4854542

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141104

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

Free format text: JAPANESE INTERMEDIATE CODE: R313114

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350