図面 (/)

技術 文書検索方法及びその実施装置並びにその処理プログラムを記録した媒体

出願人 経済産業大臣
発明者 秋沢充岡本卓哉里佳史高橋亨和歌山哲東秋夫
出願日 1998年8月10日 (21年0ヶ月経過) 出願番号 1998-226209
公開日 1999年12月24日 (19年7ヶ月経過) 公開番号 1999-353329
状態 拒絶査定
技術分野 検索装置
主要キーワード 近傍条件 管理データ格納領域 構造指定 展開モード スコア取得 算術演算子 ランキングスコア ローカル検索
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(1999年12月24日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (20)

課題

文書管理システム検索仕様拡張して文書管理システムの検索機能向上を図ることが可能な技術を提供する。

解決手段

検索処理を行う為の検索式或いは検索条件を入力し、その検索要求全文検索であるか属性検索であるかを判定し、当該検索要求が全文検索である場合に、全文検索を指示するオペレータを定義した全文検索向けオペレータ定義情報及び全文検索で用いられるクラスを定義した全文検索向けクラス定義情報を参照して利用可能な検索機能を確認し、全文検索を行う為のQueryオブジェクトを前記定義情報の内容に応じて生成し、前記生成したQueryオブジェクトをサーバに渡して検索処理を依頼し、検索結果をサーバから取得し、検索結果を確認して文書実体を取得する必要のある文書を特定し、当該文書を格納管理するサーバへコネクトして文書実体を取得するものである。

概要

背景

インターネット及びWWW(World Wide Web)の普及に伴い、ネットワーク環境において作成、配布される電子化された文書が増大してきており、これらを格納管理する文書管理システムに対するニーズが高まっている。

AIIM(The Association for Information and Image Management International)のタスクフォースであるDMA(Document Management Alliance)より、文書管理システムのアプリケーションプログラミングインターフェースAPI:Application Programming Interface)及び文書オブジェクトモデルである、DMAミドルウェア仕様が提案されている(URL http://www.aiim.org/dma)。

図39は従来のDMA仕様の示すアーキテクチャ概要を示す図である。図39の様にDMAアーキテクチャにおいて、文書管理システムは以下のレイヤより構成される。

概要

文書管理システムの検索仕様を拡張して文書管理システムの検索機能向上を図ることが可能な技術を提供する。

検索処理を行う為の検索式或いは検索条件を入力し、その検索要求全文検索であるか属性検索であるかを判定し、当該検索要求が全文検索である場合に、全文検索を指示するオペレータを定義した全文検索向けオペレータ定義情報及び全文検索で用いられるクラスを定義した全文検索向けクラス定義情報を参照して利用可能な検索機能を確認し、全文検索を行う為のQueryオブジェクトを前記定義情報の内容に応じて生成し、前記生成したQueryオブジェクトをサーバに渡して検索処理を依頼し、検索結果をサーバから取得し、検索結果を確認して文書実体を取得する必要のある文書を特定し、当該文書を格納管理するサーバへコネクトして文書実体を取得するものである。

目的

上記、従来の技術で述べたDMAミドルウェアを用いた文書管理システム、或いは文書空間内の文書情報を検索する際にSQLベースのQueryオブジェクトを用いて検索を行い、かつ全文検索機能を持たずに属性検索機能のみを有する、DMAミドルウェアと同様な検索機能仕様を持つミドルウェアを用いた文書管理システムにおいて、文書空間の文書或いはオブジェクトを検索する為の全文検索機能を既存の属性検索機能を拡張して実現する場合に、全文検索用のオペレータが存在しない、全文データの指定ができない、スコアの様な検索の際に動的に生成されるデータを取り扱うことができないということが、本発明が解決しようとする課題である。

本発明の目的は上記問題を解決し、文書管理システムの検索仕様を拡張して文書管理システムの検索機能向上を図ることが可能な技術を提供することにある。

本発明の他の目的はZ39.50検索仕様に対応可能な検索機能を実現することが可能な技術を提供することにある。

効果

実績

技術文献被引用数
0件
牽制数
1件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

文書集合として格納管理された複数の文書から目的の文書を検索する文書検索方法において、検索処理を行う為の検索式或いは検索条件を入力し、その検索要求全文検索であるか属性検索であるかを判定し、当該検索要求が全文検索である場合に、全文検索を指示するオペレータを定義した全文検索向けオペレータ定義情報及び全文検索で用いられるクラスを定義した全文検索向けクラス定義情報を参照して利用可能な検索機能を確認し、全文検索を行う為のQueryオブジェクトを前記全文検索向けオペレータ定義情報及び全文検索向けクラス定義情報の内容に応じて生成し、前記生成したQueryオブジェクトをサーバに渡して検索処理を依頼し、検索結果をサーバから取得し、検索結果を確認して文書実体を取得する必要のある文書を特定し、当該文書を格納管理するサーバへコネクトして文書実体を取得することを特徴とする文書検索方法。

請求項2

文書集合として格納管理された複数の文書から目的の文書を検索する文書検索方法において、検索処理を行う為のQueryオブジェクトをクライアントから受け取り、当該検索要求が全文検索である場合に、全文検索を指示するオペレータを定義した全文検索向けオペレータ定義情報及び全文検索で用いられるクラスを定義した全文検索向けクラス定義情報を参照して利用可能な検索機能を確認し、全文検索を行う為のQueryオブジェクトを前記全文検索向けオペレータ定義情報及び全文検索向けクラス定義情報の内容に応じて解釈し、前記Queryオブジェクトの解釈結果に応じて検索エンジン向け検索式を生成し、検索処理を実行して検索結果をクライアントに渡すことを特徴とする文書検索方法。

請求項3

前記オペレータは近傍条件検索の際に近傍条件を指定するものであることを特徴とする請求項1または請求項2のいずれかに記載された文書検索方法。

請求項4

前記オペレータは検索ターム異表記語展開するものであることを特徴とする請求項1または請求項2のいずれかに記載された文書検索方法。

請求項5

前記オペレータは検索タームの同義語を展開するものであることを特徴とする請求項1または請求項2のいずれかに記載された文書検索方法。

請求項6

前記オペレータはAnd-Notオペレータであることを特徴とする請求項1または請求項2のいずれかに記載された文書検索方法。

請求項7

文書集合として格納管理された複数の文書から目的の文書を検索する文書検索方法において、検索処理を行う為の検索式或いは検索条件を入力し、その検索要求が全文検索であるか属性検索であるかを判定し、当該検索要求がAnd-Notオペレータの演算を含む属性検索である場合に、And-Notオペレータを定義したオペレータ定義情報を参照して利用可能な検索機能を確認し、And-Notオペレータを含むQueryオブジェクトを前記オペレータ定義情報の内容に応じて生成し、前記生成したQueryオブジェクトをサーバに渡して検索処理を依頼し、検索結果をサーバから取得し、検索結果を確認して文書実体を取得する必要のある文書を特定し、当該文書を格納管理するサーバへコネクトして文書実体を取得することを特徴とする文書検索方法。

請求項8

文書集合として格納管理された複数の文書から目的の文書を検索する文書検索方法において、検索処理を行う為のQueryオブジェクトをクライアントから受け取り、当該検索要求がAnd-Notオペレータの演算を含む属性検索である場合に、And-Notオペレータを定義したオペレータ定義情報を参照して利用可能な検索機能を確認し、And-Notオペレータを含むQueryオブジェクトを前記オペレータ定義情報の内容に応じて解釈し、前記Queryオブジェクトの解釈結果に応じて検索エンジン向け検索式を生成し、検索処理を実行して検索結果をクライアントに渡すことを特徴とする文書検索方法。

請求項9

文書集合として格納管理された複数の文書から目的の文書を検索するクライアントにおいて、全文検索を指示するオペレータを定義した全文検索向けオペレータ定義情報と、全文検索で用いられるクラスを定義した全文検索向けクラス定義情報と、前記全文検索向けオペレータ定義情報及び全文検索向けクラス定義情報を参照して利用可能な検索機能を確認し、全文検索を行う為のQueryオブジェクトを前記全文検索向けオペレータ定義情報及び全文検索向けクラス定義情報の内容に応じて生成するQueryオブジェクト生成処理部とを備えることを特徴とするクライアント。

請求項10

文書集合として格納管理された複数の文書から目的の文書を検索するサーバにおいて、全文検索を指示するオペレータを定義した全文検索向けオペレータ定義情報と、全文検索で用いられるクラスを定義した全文検索向けクラス定義情報と、前記全文検索向けオペレータ定義情報及び全文検索向けクラス定義情報を参照して利用可能な検索機能を確認し、全文検索を行う為のQueryオブジェクトを前記全文検索向けオペレータ定義情報及び全文検索向けクラス定義情報の内容に応じて解釈するQueryオブジェクト解釈処理部とを備えることを特徴とするサーバ。

請求項11

文書集合として格納管理された複数の文書から目的の文書を検索するクライアントにおいて、And-Notオペレータを定義したオペレータ定義情報と、前記オペレータ定義情報を参照して利用可能な検索機能を確認し、And-Notオペレータを含むQueryオブジェクトを前記オペレータ定義情報の内容に応じて生成するQueryオブジェクト生成処理部とを備えることを特徴とするクライアント。

請求項12

文書集合として格納管理された複数の文書から目的の文書を検索するサーバにおいて、And-Notオペレータを定義したオペレータ定義情報と、前記オペレータ定義情報を参照して利用可能な検索機能を確認し、And-Notオペレータを含むQueryオブジェクトを前記オペレータ定義情報の内容に応じて解釈するQueryオブジェクト解釈処理部とを備えることを特徴とするサーバ。

請求項13

文書集合として格納管理された複数の文書から目的の文書を検索するクライアントとしてコンピュータを機能させる為のプログラムを記録した媒体において、全文検索を指示するオペレータを定義した全文検索向けオペレータ定義情報及び全文検索で用いられるクラスを定義した全文検索向けクラス定義情報を参照して利用可能な検索機能を確認し、全文検索を行う為のQueryオブジェクトを前記全文検索向けオペレータ定義情報及び全文検索向けクラス定義情報の内容に応じて生成するQueryオブジェクト生成処理部としてコンピュータを機能させる為のプログラムを記録したことを特徴とする媒体。

請求項14

文書集合として格納管理された複数の文書から目的の文書を検索するサーバとしてコンピュータを機能させる為のプログラムを記録した媒体において、全文検索を指示するオペレータを定義した全文検索向けオペレータ定義情報及び全文検索で用いられるクラスを定義した全文検索向けクラス定義情報を参照して利用可能な検索機能を確認し、全文検索を行う為のQueryオブジェクトを前記全文検索向けオペレータ定義情報及び全文検索向けクラス定義情報の内容に応じて解釈するQueryオブジェクト解釈処理部としてコンピュータを機能させる為のプログラムを記録したことを特徴とする媒体。

請求項15

文書集合として格納管理された複数の文書から目的の文書を検索するクライアントとしてコンピュータを機能させる為のプログラムを記録した媒体において、And-Notオペレータを定義したオペレータ定義情報を参照して利用可能な検索機能を確認し、And-Notオペレータを含むQueryオブジェクトを前記オペレータ定義情報の内容に応じて生成するQueryオブジェクト生成処理部としてコンピュータを機能させる為のプログラムを記録したことを特徴とする媒体。

請求項16

文書集合として格納管理された複数の文書から目的の文書を検索するサーバとしてコンピュータを機能させる為のプログラムを記録した媒体において、And-Notオペレータを定義したオペレータ定義情報を参照して利用可能な検索機能を確認し、And-Notオペレータを含むQueryオブジェクトを前記オペレータ定義情報の内容に応じて解釈するQueryオブジェクト解釈処理部としてコンピュータを機能させる為のプログラムを記録したことを特徴とする媒体。

技術分野

0001

本発明は電子化された文書計算機システムを用いて格納管理する文書管理システムに関し、特に文書集合として格納管理された複数の文書から目的の文書を検索する際に属性検索機能を提供する枠組みを全文検索機能を包含する枠組みに拡張した文書管理システムに適用して有効な技術に関するものである。

背景技術

0002

インターネット及びWWW(World Wide Web)の普及に伴い、ネットワーク環境において作成、配布される電子化された文書が増大してきており、これらを格納管理する文書管理システムに対するニーズが高まっている。

0003

AIIM(The Association for Information and Image Management International)のタスクフォースであるDMA(Document Management Alliance)より、文書管理システムのアプリケーションプログラミングインターフェースAPI:Application Programming Interface)及び文書オブジェクトモデルである、DMAミドルウェア仕様が提案されている(URL http://www.aiim.org/dma)。

0004

図39は従来のDMA仕様の示すアーキテクチャ概要を示す図である。図39の様にDMAアーキテクチャにおいて、文書管理システムは以下のレイヤより構成される。

0005

(1)DMA準拠アプリケーションプログラム400
(2)DMAシステム410
(3)文書空間サービスエレメントインテグレーションモジュール)420
(4)リポジトリ430
ここでDMAミドルウェアとして規定されているのは、
・DMA準拠アプリケーションプログラムとDMAシステムとのインターフェース
・DMA準拠アプリケーションプログラムと文書空間とのインターフェース
・DMAシステム内部のオブジェクトクラスクラスに定義されたインターフェース
・文書空間内部のオブジェクトクラスとクラスに定義されたインターフェースである。

0006

なお、DMA準拠アプリケーションプログラムとDMAシステム及び文書空間とのインターフェースは、それぞれAPI(Application Programming Interface)411及びSII(Service Integration Interface)421と呼ばれる。APIの実体はDMAシステム内部のすべてのオブジェクトクラスに定義されたインターフェースの集合であり、SIIの実体は文書空間内部のすべてのオブジェクトクラスに定義されたインターフェースの集合である。これ以降、「インターフェース」という用語の定義を明確にする為に、アプリケーションプログラムとDMAシステム及び文書空間のインターフェースをそれぞれAPI、SIIと記述し、オブジェクトクラスに定義されたインターフェースを「クラスインターフェース」或いは「オブジェクトインターフェース」と記述する。

0007

以下、上記の各レイヤについて説明する。
(1)DMA準拠アプリケーションプログラム
DMA準拠アプリケーションプログラムは、DMAミドルウェアのインターフェースすなわちAPI及びSIIに準拠したプログラムである。DMAシステムまたは文書空間にAPIまたはSIIを介してアクセスする。リポジトリは文書空間により隠蔽されており、DMA準拠アプリケーションプログラムからは直接アクセスすることはない。

0008

(2)DMAシステム
DMA準拠アプリケーションプログラムはAPIを介してDMAシステムにアクセスする。APIの実体はDMAシステム内に定義されたクラスのクラスインターフェース及びそのクラスインターフェースに付随するメソッドである。アプリケーションプログラムはAPIを介してDMAシステムのオブジェクト(クラスのインスタンス)にアクセスすることができる。また、オブジェクトに付随するオブジェクトインターフェースのメソッドをコールすることができる。

0009

DMA準拠アプリケーションプログラムはライブラリとして用意されたメソッドdmaConnectSystemManagerをコールし、DMAミドルウェアへのエントリーポイントを取得する。これによりアプリケーションプログラムはまずSystemManagerオブジェクトへのポインタを取得する。これにより、アプリケーションプログラムはSystemManagerオブジェクトに「接続」或いは「コネクト」したことになる。SystemManagerオブジェクトはアプリケーションプログラムにDMAシステムへのポインタを返すメソッドを提供する。これがDMAミドルウェアに接続するエントリーポイントとなる。この様にアプリケーションプログラムはSystemManagerオブジェクトにコネクトした後に、DMAシステムへの接続が可能となる。

0010

DMAシステムは複数の文書空間を管理することができる。これらの文書空間内部の文書にアクセスする為には、DMA準拠アプリケーションプログラムはDMAシステムにまずコネクトする必要がある。DMAシステムが管理する複数の文書空間を一覧表示する様、必要に応じてアプリケーションプログラムはDMAシステムに対して要求することができる。その中から利用する文書空間を選択してコネクトする。

0011

またDMAシステムは、複数の文書空間に渡る検索機能を提供する。これを本明細書中においてはグローバル検索機能と呼ぶことにする。このグローバル検索機能により複数の文書空間に対する検索要求一括発行と検索結果の統合を行うことができる。

0012

(3)文書空間(サービスエレメントインテグレーションモジュール)
文書空間は文書オブジェクトモデルが実装されるレイヤである。DMA準拠アプリケーションプログラムは、DMAシステムに対し、それが管理している文書空間の一覧を表示することを要求し、所望の文書空間を選択して文書空間にコネクトする。或いは、予めコネクトする文書空間が決まっていれば、一覧表示の要求を行わずに直ちに文書空間へのコネクトを行うことも可能である。

0013

DMA準拠アプリケーションプログラムはサービスインテグレーションインターフェース(SII)を介して文書空間にアクセスする。SIIの実体は文書空間内に定義されたクラスのインターフェース及びそのインターフェースに付随するメソッドである。

0014

文書空間に一旦接続すると、アプリケーションプログラムは直接SIIを介して文書空間内部に存在する様々なオブジェクトにアクセスすることができる。また、オブジェクトに付随するオブジェクトインターフェースのメソッドをコールして、そのプロパティや他のオブジェクトをアクセスすることができる。アプリケーションからはSIIもAPIと何ら変わりなくアクセスすることができ、その相違を特に意識する必要はない。

0015

文書空間においては階層フォルダーを用いた文書の管理が可能である。フォルダーに相当するコンテナオブジェクトと、コンテナオブジェクト間の階層的な関連付けを行うリレーションシップオブジェクトを組み合わせることにより、階層フォルダーを実現する。各フォルダーには下位層のフォルダー或いは文書オブジェクトが格納される。文書オブジェクトは、一つの文書を複数の表現形式作成アプリケーションファイル形式等)で格納したり、文書の一連バージョンを管理する為に用いるオブジェクト群である。複数の表現形式やバージョンが存在していても論理的に一つの登録文書であれば、DMA準拠アプリケーションプログラムからも一つの文書に見える様に文書オブジェクトが構成される。文書実体格納単位ごとに用意され、文書実体へのアクセス制御メソッドを提供する文書オブジェクトは、文書実体への対応付け一意に行われている。DMA準拠アプリケーションプログラムは文書オブジェクトを参照して、目的とする文書実体を目的とする表現形式で取得、参照することが可能である。

0016

また、DMA準拠アプリケーションプログラムは文書空間内部の文書実体に対して以下の2通りの方法によりアクセスすることができる。

0017

・階層フォルダーを辿りながら目的の文書に到達するナビゲーショナルなアクセス
・Queryを発行して所望の条件に適合する文書を一括取得する検索によるアクセス
(4)リポジトリ
リポジトリは文書空間内部の文書実体、文書オブジェクト及びメタデータを格納管理する。メタデータとしては、文書空間全体に関する文書空間メタデータと個々の文書に関する文書メタデータが存在する。多くの場合、リポジトリとしてファイルシステムデータベースシステムが用いられる。アプリケーションプログラムからはリポジトリへのアクセスは隠蔽されており、文書空間の文書オブジェクトをアクセスする際に、その処理の延長でリポジトリへのアクセスが行われることになる。

0018

次に、DMAミドルウェアを介してDMA準拠アプリケーションプログラムが文書空間内部の文書にアクセスする手順について以下に説明する。

0019

図40は従来の文書管理システムのアプリケーションプログラムが文書空間内の文書にアクセスする手順を示す図である。まず、アプリケーションプログラムが文書空間にコネクトして、ナビゲーショナルに文書実体にアクセスする手順について図40を用いて説明する。

0020

DmaConnectSystemManagerメソッドをコールしてSystemManagerオブジェクトに接続し、オブジェクトインターフェースIdmaSystemManagerを取得する。
IdmaSystemManager::ConnectSystemメソッドをコールしてDMAシステムへ接続し、オブジェクトインターフェースIdmaSystemを取得する。
IdmaSystem::EnumerateDocSpaseメソッドをコールして文書空間の一覧表示を取得する。
一覧表示された文書空間の中から、コネクトする文書空間を選択する。
IdmaSystem::ConnectDocSpaseメソッドをコールして文書空間オブジェクトのオブジェクトインターフェースIdmaDocSpaceを取得する。
文書空間の階層フォルダーを構成するコンテナオブジェクトの最上位ノードを取得し、階層構造を順にたどり目的の文書実体の文書オブジェクトが格納されたコンテナオブジェクトに到る。
IdmaDocSpace::ConnectObjectメソッドをコールして上記コンテナオブジェクト内の文書オブジェクトを取得する。文書オブジェクトの提供するオブジェクトインターフェースから、文書実体を取得するメソッドを選択してコールすることにより、目的の文書実体を取得する。

0021

次にアプリケーションプログラムが文書空間内の文書を検索して取得する手順について説明する。文書の検索については、検索の対象を個々の文集空間内部に限定するローカル検索と、複数の文書空間に渡って一括検索を行うグローバル検索とがある。まず、ローカル検索の手順について図41を用いて説明する。

0022

図41は従来のローカル検索の手順を示す図である。〜までは文書空間オブジェクトのアクセスと同様である。
IdmaDocSpace::GetScopeメソッドをコールして、検索に必要なScopeオブジェクトのオブジェクトインターフェースIdmaScopeを取得する。
Queryを記述したQueryオブジェクトを構築する。
Queryを記述したQueryオブジェクトを引数とし、IdmaScope::ExecuteSearchメソッドをコールして検索の実行を指示する。検索実行結果として検索結果集合に相当するResultSetオブジェクトのオブジェクトインターフェースIdmaEnumerateOfObjectを取得する。
(a)IdmaEnumerateOfObject::GetNextメソッドをコールして、個々の検索結果に相当するResultRowオブジェクトを取得し、そこに記述されている文書オブジェクトの識別子(id)を取得する。
(b)IdmaDocSpace::ConnectObjectメソッドをコールして文書空間内の文書オブジェクトを取得する。文書オブジェクトの提供するオブジェクトインターフェースから、文書実体を取得するメソッドを選択してコールすることにより、目的の文書実体を取得する。

0023

次に、グローバル検索の手順について図42を用いて説明する。図42は従来のグローバル検索の手順を示す図である。〜までは文書空間オブジェクトのアクセスと同様である。
IdmaSystem::CreateScopeメソッドをコールしてグローバル検索の為のScopeオブジェクトを取得する。
Queryを記述したQueryオブジェクトを構築する。
Queryを記述したQueryオブジェクトを引数とし、IdmaScope::ExecuteSearchメソッドをコールして検索の実行を指示する。検索実行結果として検索結果集合に相当するResultSetオブジェクトのオブジェクトインターフェースIdmaEnumerateOfObjectを取得する。
IdmaEnumerateOfObject::GetNextメソッドをコールして、個々の検索結果に相当するResultRowオブジェクトを取得し、そこに記述されている文書オブジェクトの識別子(id)を取得する。
IdmaDocSpace::ConnectObjectメソッドをコールして文書空間内の文書オブジェクトを取得する。文書オブジェクトの提供するオブジェクトインターフェースから、文書実体を取得するメソッドを選択してコールすることにより、目的の文書実体を取得する。

0024

以上の様な手順により、DMA準拠アプリケーションプログラムは、文書空間にアクセスし、文書空間において管理されている文書の検索及び取得を行うことが可能となる。

0025

DMA仕様で規定されているQueryオブジェクトは、SQL仕様をベースとしてオブジェクト指向記述形式を採用したものである。すなわち、Queryオブジェクトは次の様なプロパティを持つ。

0026

(1)FromExpr
検索対象の範囲を指定する。検索可能なクラスを指定する。SQLのFrom文に相当する。
(2)SelectList
FromExprで設定したクラスのプロパティの中から、検索結果として返すプロパティを指定する。SQLのSelect文に相当する。
(3)QueryExpr
検索条件を設定する。SQLのWhere文に相当する。
(4)OrderByList
結果を昇順或いは降順ソートする為の基準を指定する。SQLのOrder Byに相当する。

0027

これらのプロパティはオブジェクト或いはオブジェクトのリストツリーにより表現される。例えばQueryExprは論理演算子算術演算子ノードとし、プロパティや定数オペランドとしてノードに接続する構造を取る。さらにこの構造をツリー状多段に接続した構造を取ることも可能である。

0028

DMA仕様が提供するこの様な文書検索の枠組みは、例えば「特定のプロパティがある値に等しいレコードを探せ」という様な、いわゆる属性検索の機能を提供するものである。

発明が解決しようとする課題

0029

文書検索の方法としては、属性検索のほかに全文検索がある。特定の属性に対してその値に関する条件を指定して検索を行う属性検索と異なり、全文検索では指定した検索タームを本文中に含む文書を検索する。しかしながら、DMA仕様では全文検索を扱うことができないという問題がある。

0030

DMA仕様における検索機能仕様を全文検索も扱うことができる枠組みとする為には、仕様拡張が必要となる。すなわち指定したタームを本文中に含む文書を見つけた場合にTRUEを返すというオペレータが必要になる。またオペレータのオペランドとして、
・検索対象とする全文データ
・全文データに含まれているか否かを確認する検索ターム
を設定する必要がある。

0031

全文データを文書オブジェクトの一つのプロパティとして定義し登録することは可能である。しかし全文データを全文検索オペレータのオペランドとして指定し、さらに検索タームもオペランドとして指定する場合、全文データ或いは全文データへのポインタを参照するのではなく、全文検索向けインデックス情報を参照できる様にする必要がある。

0032

また全文検索を行う際に、検索された文書がユーザの設定した全文検索条件にどの程度適合しているのかをスコアとして数値化し、スコアの順にしたがってソートした結果を提示するランキング検索がある。ランキング検索におけるスコアは、予めプロパティとして登録された値が格納されているのではなく、検索が実行される際に検索条件に従って動的にシステム内部で生成されるデータである。

0033

DMA仕様では検索結果として取得するプロパティはSelectListに記述する。さらにSelectListに記述できるプロパティはFromExprに指定したクラスのプロパティでなければならない。また、Joinで結合された場合を除き、FromExprに設定するクラスは単一である。

0034

DMA仕様に基づき検索結果としてスコアを取得する為には、予め検索対象とする文書クラスのプロパティとして定義しておく必要がある。QueryオブジェクトのFromExprにそのクラスを指定し、SelectListにスコアプロパティを指定する必要がある。しかしながら、スコアは検索時に動的に生成されるデータである為既存の文書クラス中にプロパティとして定義することは不適切である。永続化され現実に格納されたオブジェクトの実体とクラス定義との間に乖離が生じてしまうという問題が発生する。

0035

したがってDMA仕様の枠組みの中でランキング検索を行いスコアを取得しようとすると、スコアをSelectListに記述できないという問題が生じる。この問題はスコア以外でも、検索時に動的に生成されるデータ一般に関してもあてはまるものである。

0036

上記、従来の技術で述べたDMAミドルウェアを用いた文書管理システム、或いは文書空間内の文書情報を検索する際にSQLベースのQueryオブジェクトを用いて検索を行い、かつ全文検索機能を持たずに属性検索機能のみを有する、DMAミドルウェアと同様な検索機能仕様を持つミドルウェアを用いた文書管理システムにおいて、文書空間の文書或いはオブジェクトを検索する為の全文検索機能を既存の属性検索機能を拡張して実現する場合に、全文検索用のオペレータが存在しない、全文データの指定ができない、スコアの様な検索の際に動的に生成されるデータを取り扱うことができないということが、本発明が解決しようとする課題である。

0037

また近年、米国を中心とする文書検索の標準プロトコルとしてZ39.50が注目されている。Z39.50は文書データベースへのアクセスプロトコル、検索の問合せ言語及びアトリビュートセットを規定するものである。問合せ言語は属性検索、全文検索ともに対応可能な仕様である。文書管理システムにおいては、今後このZ39.50仕様に基づく検索機能に対応することが重要となることが考えられる。

0038

DMA仕様では論理演算オペレータとして“And”、“Or”オペレータが定義されている。一方、Z39.50仕様では“And”、“Or”、“Prox”及び“And-Not”オペレータが定義されている。このためZ39.50仕様に基づく検索機能に対応するためには、さらにAnd-Notオペレータ等をサポートすることが必要となる。

0039

And-Notオペレータの演算は、AndオペレータとNotオペレータを組合せても等価な機能を実現することが可能である。しかしながらNotオペレータを用いると、演算の過程において大量の一時検索結果集合が発生してしまう場合があり、これを保持する必要が生じる。このため、文書管理システムの必要とするリソースが増加するという問題がある。したがって文書管理システムの必要とするリソースを増加させることなく、Z39.50検索仕様に対応できるようにするためには、アトミックなオペレータであるAnd-Notオペレータとしてサポートすることが必要となる。

0040

本発明の目的は上記問題を解決し、文書管理システムの検索仕様を拡張して文書管理システムの検索機能向上を図ることが可能な技術を提供することにある。

0041

本発明の他の目的はZ39.50検索仕様に対応可能な検索機能を実現することが可能な技術を提供することにある。

課題を解決するための手段

0042

本発明では上記課題を解決する為に、DMA仕様の属性検索機能の枠組みを損なうことなく、これを拡張して全文検索機能を指定する為のオペレータ、検索対象とする全文データ及びスコアの様な検索の際に動的に生成されるデータをSelectListに指定する為のクラスを導入する。

0043

全文検索を指示する場合には、これらの全文検索向けオペレータ及びクラスを用いてQueryオブジェクトを生成する。また、Queryオブジェクトを解釈する際には、全文検索向けオペレータ及びクラスが用いられているかいないかを判定し、用いられている場合には全文検索用のインデックスを参照して全文検索を実行し、用いられていない場合には永続化されたオブジェクトを参照して属性検索を実行する。

0044

これらの導入されたオペレータやクラスは、定義情報としてクライアント及びサーバに登録される。さらにこれらのオペレータやクラスを用いて、クライアント側においてはユーザからの検索要求に基づいて定義情報を参照してQueryオブジェクトを生成する処理ステップと、サーバ側においては受け取ったQueryオブジェクトを定義情報を参照して解釈する処理ステップを設ける。

0045

導入するオペレータは、全文データと検索タームをオペランドとして指定できる全文検索オペレータ、さらにスコアの算出を行う機能をこれに付加した全文検索オペレータである。これらはスコア算出指定のフラグを持たせた単一のオペレータとして定義することも可能である。

0046

導入するクラスは、スコアの様に登録文書ごとに検索の際に動的に生成されるデータ及び全文データをプロパティとする抽象クラスとする。永続化する必要はない。動的に生成されるデータと全文データを一つのクラスに定義することによって、検索対象クラスを一つのクラスでFromExprに設定することができる。

0047

Queryオブジェクトを生成する処理ステップにおいては、ユーザからの検索要求が属性検索であるのか全文検索であるのかによって適切なオペレータ及びクラスを選択する。すなわち、全文検索が指定された場合には、導入したオペレータを用いて検索条件を構成してQueryExprに設定する。その際に、導入したクラスのプロパティに定義されている全文データと検索タームをオペランドとして設定する。また導入したクラスはFromExprに検索対象として指定する。さらに、スコアの様な検索の際に動的に生成されるデータも含めて、検索結果として取得すべきプロパティをSelectListに列記する。

0048

Queryオブジェクトを解釈する処理ステップにおいては、Queryオブジェクトのツリーをたどり解釈する際に、導入したオペレータに遭遇した場合に全文検索を指定されていることを認識して全文検索を実行する指示を行う。

0049

この様に全文検索機能を指定する為のオペレータ、検索対象とする全文データ及びスコアの様な検索の際に動的に生成されるデータをSelectListに指定する為のクラスを導入し、これらのオペレータやクラスを用いて、クライアント側にQueryオブジェクトを生成する処理ステップと、サーバ側にQueryオブジェクトを解釈する処理ステップを設けることにより、DMA仕様の属性検索機能の枠組みを損なうことなく、これを拡張して全文検索機能を実現することができる。

0050

以上の様に本発明によれば、DMAミドルウェアを用いた文書管理システム、或いは文書空間内の文書情報を検索する際にSQLベースのQueryオブジェクトを用いて検索を行い、かつ全文検索機能を持たずに属性検索機能のみを有する、DMAミドルウェアと同様な検索機能仕様を持つミドルウェアを用いた文書管理システムにおいて、新たに全文検索向きのオペレータ及びクラスを導入することにより、文書空間の文書或いはオブジェクトを検索する為の全文検索機能を既存の属性検索機能を拡張して容易に実現することが可能となる。

0051

その結果、従来の属性検索の枠組みを損なうことなく、全文検索も包含する枠組みへと容易に拡張することができ、検索機能を向上することができるという効果が得られる。

0052

また本発明では上記課題を解決するために And-Notオペレータを導入する。これにより、DMA仕様の属性検索機能及びこれを拡張した全文検索機能の枠組みを損なうことなく、これらを拡張してZ39.50検索仕様に対応可能な検索機能を実現する。

0053

導入されたAnd-Notオペレータは、定義情報としてクライアント及びサーバに登録される。さらにこのオペレータを用いて、クライアント側においてはユーザからの検索要求に基づいて定義情報を参照してQueryオブジェクトを生成する処理ステップと、サーバ側においては受け取ったQueryオブジェクトを定義情報を参照して解釈する処理ステップを設ける。

0054

And-Notオペレータを用いると演算の過程における一時検索結果集合の発生を抑制することができる。すなわち文書管理システムの必要とするリソースの増加を押さえることができる。これにより、文書管理システムの検索機能が必要とする処理コストを大幅に増加させることなく、Z39.50検索仕様に対応可能な検索機能を実現することが可能となる。

0055

以上の様に本発明の文書管理システムによれば、全文検索機能を指定する為のオペレータ及びクラスを導入しているので、文書管理システムの検索仕様を拡張して文書管理システムの検索機能向上を図ることが可能である。

発明を実施するための最良の形態

0056

(実施形態1)以下に全文検索機能を指定する為のオペレータ及びクラスを導入し、これらのオペレータやクラスを用いてQueryオブジェクトを生成・解釈して、属性検索機能の枠組みを損なうことなく、これを拡張して全文検索機能を実現する実施形態1の文書管理システムについて説明する。

0057

図1は本実施形態の文書管理システムの原理図を示す図である。本実施形態の文書管理システムでは、DMA仕様の属性検索機能の枠組みを損なうことなく、これを拡張して全文検索機能を指定する為のオペレータ、検索対象とする全文データ及びスコアの様な検索の際に動的に生成されるデータをSelectListに指定する為のクラスを導入する。全文検索を指示する場合には、これらの全文検索向けオペレータ及びクラスを用いてQueryオブジェクトを生成する。また、Queryオブジェクトを解釈する際には、全文検索向けオペレータ及びクラスが用いられているかいないかを判定し、用いられている場合には全文検索用のインデックスを参照して全文検索を実行し、用いられていない場合には永続化されたオブジェクトを参照して属性検索を実行する。

0058

これらの導入されたオペレータやクラスは、定義情報としてクライアント及びサーバに登録される。さらにこれらのオペレータやクラスを用いて、クライアント側においてはユーザからの検索要求に基づいて定義情報を参照してQueryオブジェクトを生成する処理ステップと、サーバ側においては受け取ったQueryオブジェクトを定義情報を参照して解釈する処理ステップを設ける。

0059

導入するオペレータは、全文データと検索タームをオペランドとして指定できる全文検索オペレータ、さらにスコアの算出を行う機能をこれに付加した全文検索オペレータである。これらはスコア算出指定のフラグを持たせた単一のオペレータとして定義することも可能である。

0060

導入するクラスは、スコアの様に登録文書ごとに検索の際に動的に生成されるデータ及び全文データをプロパティとする抽象クラスとする。永続化する必要はない。動的に生成されるデータと全文データを一つのクラスに定義することによって、検索対象クラスを一つのクラスでFromExprに設定することができる。

0061

Queryオブジェクトを生成する処理ステップにおいては、ユーザからの検索要求が属性検索であるのか全文検索であるのかによって適切なオペレータ及びクラスを選択する。すなわち、全文検索が指定された場合には、導入したオペレータを用いて検索条件を構成してQueryExprに設定する。その際に、導入したクラスのプロパティに定義されている全文データと検索タームをオペランドとして設定する。また導入したクラスはFromExprに検索対象として指定する。さらに、スコアの様な検索の際に動的に生成されるデータも含めて、検索結果として取得すべきプロパティをSelectListに列記する。

0062

Queryオブジェクトを解釈する処理ステップにおいては、Queryオブジェクトのツリーをたどり解釈する際に、導入したオペレータに遭遇した場合に全文検索を指定されていることを認識して全文検索を実行する指示を行う。

0063

この様に全文検索機能を指定する為のオペレータ、検索対象とする全文データ及びスコアの様な検索の際に動的に生成されるデータをSelectListに指定する為のクラスを導入し、これらのオペレータやクラスを用いて、クライアント側にQueryオブジェクトを生成する処理ステップと、サーバ側にQueryオブジェクトを解釈する処理ステップを設けることにより、DMA仕様の属性検索機能の枠組みを損なうことなく、これを拡張して全文検索機能を実現することができる。

0064

図2は本実施形態の文書管理システムの全体構成を示す図である。本実施形態の文書管理システムは、登録クライアント101、参照クライアント102、検索クライアント103、ネットワーク16、グローバル文書空間管理サーバ201、文書空間管理サーバ301〜303より構成される。

0065

登録クライアント101は、登録する文書を保持し、グローバル文書空間管理サーバ201に問い合わせて利用できる文書空間管理サーバを確認し文書の登録先を決定した後、ネットワーク16を介して文書を登録先の文書空間管理サーバ301、302或いは303に転送し登録を依頼する。

0066

参照クライアント102は、参照する登録済み文書が登録されている文書空間管理サーバに参照を依頼し、ネットワーク16を介してこれを取得して参照する。

0067

検索クライアント103は、グローバル検索を行う場合にはグローバル文書空間管理サーバ201に対して、ローカル検索を行う場合には文書空間管理サーバ301〜303に対して、それぞれ検索処理を依頼する。グローバル文書空間管理サーバ201に対して検索処理を依頼する場合、グローバル文書空間管理サーバ201はグローバル検索の対象として定義されている複数の文書空間管理サーバに対して検索クライアント103から受けた検索要求を一括して発行し、各文書空間管理サーバから返された検索結果をマージし、検索クライアント103はその検索結果をネットワーク16を介して取得する。この結果に従って参照する文書を決定し、その文書が登録されている文書空間管理サーバに参照を依頼し、ネットワーク16を介してこれを取得して参照する。文書空間管理サーバ301〜303に対して検索処理を依頼する場合、検索インデックスを用いて文書空間管理サーバが検索処理を行ない、検索クライアント103はその検索結果をネットワーク16を介して取得する。この結果に従って参照する文書を決定し、ネットワーク16を介してこれを取得して参照する。

0068

文書空間管理サーバ301〜303は、登録クライアント101からの依頼により文書を格納管理する。文書登録の際は、文書管理システムに登録する電子化された文書である文書実体、上記文書実体を文書管理システムで管理する際に文書が登録される階層ディレクトリを構成したり、文書の論理的な構造を表現、管理する文書オブジェクト、上記文書実体の集合からなる文書空間に関する属性情報である文書空間メタデータ、及び上記の各文書実体の属性情報である文書メタデータが登録される。文書空間管理サーバは登録クライアント101、参照クライアント102及び検索クライアント103からの要求に応じて、これらのデータの登録、参照、更新、削除或いは検索を行う。文書の登録、更新及び削除に伴う文書空間メタデータ及び文書メタデータの更新の際には、これをグローバル文書空間管理サーバ201に連絡する。

0069

グローバル文書空間管理サーバ201は、複数の文書空間管理サーバ或いは文書空間をグループ化して管理する。各クライアントからの要求に応じて利用可能な文書空間管理サーバ(文書空間)の一覧をネットワーク16を介して送信する。また、各文書空間管理サーバの文書空間メタデータ及び文書メタデータを収集して、これらをまとめてグローバルメタデータとして格納管理する。各文書空間管理サーバにおける登録、更新及び削除に伴う文書空間メタデータ及び文書メタデータの更新の際には、該当する文書空間管理サーバからの通知を受けた後に更新後の文書空間メタデータ及び文書メタデータを取得してグローバルメタデータを更新する。クライアントからのグローバルメタデータ参照要求受け付け、ネットワーク16を介して送信する。また、検索クライアント103からのグローバル検索要求に応じて全文検索処理を行い検索結果を送信する。

0070

ネットワーク16はローカルエリアネットワーク或いは広域ネットワークであり、上記登録クライアント101、参照クライアント102、検索クライアント103、ネットワーク16、グローバル文書空間管理サーバ201、文書空間管理サーバ301〜303の任意の組合せでの通信が可能となる様に接続されている。

0071

なお、図2には登録クライアント101、参照クライアント102及び検索クライアント103が各1台ずつの構成を示したが、各クライアントが2台以上の構成をとることも可能である。また1台のクライアントが、例えば登録と参照という様に複数の機能を合わせて持つという構成をとることも可能である。

0072

また、文書空間管理サーバ301〜303、グローバル文書空間管理サーバ201を同一のマシン上に実装する構成をとることも、これらサーバとクライアントを同一のマシン上に実装する構成をとることも可能である。

0073

さらに本実施形態の文書管理システムではネットワーク16を介して各種コマンドやデータのやり取りを行う構成であるが、フロッピーディスク光磁気ディスク及び光ディスク等の可搬媒体を用いて行うことも可能である。

0074

以下、本実施形態の文書管理システムの登録クライアント、すなわち図2の101について説明する。図3は本実施形態の登録クライアント101の概略構成を示す図である。登録クライアント101はキーボード10、ディスプレイ11、中央処理装置(CPU)12、フロッピーディスクドライブ13、フロッピーディスク14、通信制御装置15、主メモリ17、磁気ディスク装置18及びシステムバス19から構成される。

0075

キーボード10は、文書登録処理の実行等を指示するコマンドを入力する為に使用する。ディスプレイ11は、本クライアントにおける処理の実行状況等を表示する為に使用する。中央処理装置12は、本クライアントを構成する各種プログラムを実行する。フロッピーディスクドライブ13は、フロッピーディスク14へのデータの読み書きの為に使用する。フロッピーディスク14は、予め登録文書を格納しておき、これを本クライアントに入力する為に使用する。通信制御装置15は、ネットワーク16を介して前記文書空間管理サーバ及びグローバル文書空間管理サーバと通信し、コマンド及びデータの交換を行う為に使用する。主メモリ17は、本クライアントにおける処理を実行する為の各種プログラム及び一時的なデータを保持する為に使用する。磁気ディスク装置18は、予め登録する文書を格納しておく為に使用する。システムバス19は、これらの各種装置を接続する為に使用する。

0076

主メモリ17中には、文書登録制御プログラム111、グローバル文書空間管理サーバ接続プログラム120、文書空間一覧取得プログラム121、文書空間管理サーバ接続プログラム122、文書登録依頼プログラム123及びシステムプログラム20が格納され、またワークエリア21が保持される。

0077

磁気ディスク装置18中には、登録文書格納領域124が確保される。

0078

文書登録制御プログラム111は、グローバル文書空間管理サーバ接続プログラム120、文書空間一覧取得プログラム121、文書空間管理サーバ接続プログラム122、文書登録依頼プログラム123の実行を制御し、文書空間管理サーバへの文書の登録を行う。

0079

グローバル文書空間管理サーバ接続プログラム120は、登録クライアント101とグローバル文書空間管理サーバ201との接続を確立する。

0080

文書空間一覧取得プログラム121は、グローバル文書空間管理サーバ201に対して、管理下にある文書空間管理サーバ301〜303の一覧データを登録クライアント101に送信する様に要求して、これを取得する。

0081

文書空間管理サーバ接続プログラム122は、登録クライアント101と文書空間管理サーバ301〜303との接続を確立する。

0082

文書登録依頼プログラム123は、登録クライアント101が接続を確立した文書空間管理サーバ301〜303に対して文書の登録を依頼する。これを受けて文書空間管理サーバでは文書が文書実体として登録されると共に、文書オブジェクト及び文書メタデータが新たに生成され、文書空間メタデータの更新が行われる。

0083

システムプログラム20は、周辺装置とのデータの入出力等、コンピュータ上で本クライアントを構成する各種プログラムを実行する際に必要となる基本的な機能を提供する。ワークエリア21はプログラムの実行時に一時的に必要となるデータを記憶する為に用いられる。

0084

登録文書格納領域124は、文書空間管理サーバに登録する文書を予め準備して格納しておく為に用いられる。

0085

なお、本実施形態の文書管理システムではフロッピーディスク14に格納された文書を入力して読み込む構成としたが、光磁気ディスク、光ディスク等、他の可搬媒体から読み込む構成を取ることも可能であり、またネットワーク16を介して転送されてくる文書を入力とする構成をとることも可能である。さらに、本実施形態の文書管理システムでは登録する文書をネットワーク16を介して文書空間管理サーバに転送する構成としたが、代わりにフロッピーディスク、光磁気ディスク、光ディスク等の可搬媒体を使用する構成をとることも可能である。

0086

以下、本実施形態の文書管理システムの参照クライアント、すなわち図2の102について説明する。図4は本実施形態の参照クライアント102の概略構成を示す図である。参照クライアント102はキーボード10、ディスプレイ11、中央処理装置12、フロッピーディスクドライブ13、フロッピーディスク14、通信制御装置15、主メモリ17、磁気ディスク装置18及びシステムバス19から構成される。

0087

キーボード10は、文書参照処理の実行等を指示するコマンドを入力する為に使用する。ディスプレイ11は、本クライアントにおける処理の実行状況等を表示する為に使用する。中央処理装置12は、本クライアントを構成する各種プログラムを実行する。フロッピーディスクドライブ13は、フロッピーディスク14へのデータの読み書きの為に使用する。フロッピーディスク14は、本クライアントにて参照した参照文書を格納する為に使用する。通信制御装置15は、ネットワーク16を介して前記文書空間管理サーバ及びグローバル文書空間管理サーバと通信し、コマンド及びデータの交換を行う為に使用する。主メモリ17は、本クライアントにおける処理を実行する為の各種プログラム及び一時的なデータを保持する為に使用する。磁気ディスク装置18は、参照した文書を格納しておく為に使用する。システムバス19は、これらの各種装置を接続する為に使用する。

0088

主メモリ17中には、文書参照制御プログラム112、グローバル文書空間管理サーバ接続プログラム130、文書空間一覧取得プログラム131、文書空間管理サーバ接続プログラム132、文書参照依頼プログラム133及びシステムプログラム20が格納され、またワークエリア21が保持される。

0089

磁気ディスク装置18中には、参照文書格納領域134が確保される。

0090

文書参照制御プログラム112は、グローバル文書空間管理サーバ接続プログラム130、文書空間一覧取得プログラム131、文書空間管理サーバ接続プログラム132、文書参照依頼プログラム133の実行を制御し、文書空間管理サーバ中の文書の参照を行う。

0091

グローバル文書空間管理サーバ接続プログラム130は、参照クライアント102とグローバル文書空間管理サーバ201との接続を確立する。

0092

文書空間一覧取得プログラム131は、グローバル文書空間管理サーバ201に対して、管理下にある文書空間管理サーバ301〜303の一覧データを参照クライアント102に送信する様に要求して、これを取得する。

0093

文書空間管理サーバ接続プログラム132は、参照クライアント102と文書空間管理サーバ301〜303との接続を確立する。

0094

文書参照依頼プログラム133は、参照クライアント102が接続を確立した文書空間管理サーバ301〜303に対して文書の参照を依頼する。これを受けて文書空間管理サーバでは格納されている文書実体を取り出して、ネットワーク16を介して参照クライアント102へ転送する。

0095

システムプログラム20は、周辺装置とのデータの入出力等、コンピュータ上で本クライアントを構成する各種プログラムを実行する際に必要となる基本的な機能を提供する。ワークエリア21はプログラムの実行時に一時的に必要となるデータを記憶する為に用いられる。

0096

参照文書格納領域134は、文書空間管理サーバから転送された参照する文書を格納しておく為に用いられる。

0097

以下、本実施形態の文書管理システムの検索クライアント、すなわち図2の103について説明する。図5は本実施形態の検索クライアント103の概略構成を示す図である。図5に示す様に本実施形態の検索クライアント103はQueryオブジェクト生成プログラム146を有している。

0098

Queryオブジェクト生成プログラム146はキーボード10から入力された検索要求や予め検索式格納領域145に格納された検索式から、全文検索向けオペレータ定義情報格納領域147及び全文検索向けクラス定義情報格納領域148に格納された定義情報を参照して利用可能な検索機能を確認し、全文検索を行う為のQueryオブジェクトを全文検索向けオペレータ定義情報及び全文検索向けクラス定義情報の内容に応じて生成する処理部である。

0099

検索クライアント103をQueryオブジェクト生成処理部として機能させる為のQueryオブジェクト生成プログラム146は、CD−ROM等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する媒体はCD−ROM以外の他の媒体でも良い。

0100

また検索クライアント103は、全文検索向けオペレータ定義情報格納領域147と、全文検索向けクラス定義情報格納領域148とを有している。

0101

全文検索向けオペレータ定義情報格納領域147は全文検索を指示するオペレータを定義した全文検索向けオペレータ定義情報を予め格納しておく領域である。全文検索向けクラス定義情報格納領域148は全文検索で用いられるクラスを定義した全文検索向けクラス定義情報を予め格納しておく領域である。

0102

検索クライアント103はキーボード10、ディスプレイ11、中央処理装置12、フロッピーディスクドライブ13、フロッピーディスク14、通信制御装置15、主メモリ17、磁気ディスク装置18及びシステムバス19から構成される。

0103

キーボード10は、文書検索処理の実行等を指示するコマンドを入力する為に使用する。ディスプレイ11は、本クライアントにおける処理の実行状況等を表示する為に使用する。中央処理装置12は、本クライアントを構成する各種プログラムを実行する。フロッピーディスクドライブ13は、フロッピーディスク14へのデータの読み書きの為に使用する。フロッピーディスク14は、予め検索処理を依頼する際に検索条件を指定する検索式を格納しておき、これを本クライアントに入力する為に使用する。通信制御装置15は、ネットワーク16を介して前記文書空間管理サーバ及びグローバル文書空間管理サーバと通信し、コマンド及びデータの交換を行う為に使用する。主メモリ17は、本クライアントにおける処理を実行する為の各種プログラム及び一時的なデータを保持する為に使用する。磁気ディスク装置18は、予め検索処理を依頼する際に検索条件を指定する検索式を格納しておく為に使用する。システムバス19は、これらの各種装置を接続する為に使用する。

0104

主メモリ17中には、文書検索制御プログラム113、グローバル文書空間管理サーバ接続プログラム140、グローバルメタデータ参照プログラム141、文書空間管理サーバ接続プログラム142、文書検索依頼プログラム143、Queryオブジェクト生成プログラム146及びシステムプログラム20が格納され、またワークエリア21が保持される。

0105

磁気ディスク装置18中には、検索結果格納領域144、検索式格納領域145、全文検索向けオペレータ定義情報格納領域147及び全文検索向けクラス定義情報格納領域148が確保される。

0106

文書検索制御プログラム113は、グローバル文書空間管理サーバ接続プログラム140、グローバルメタデータ参照プログラム141、文書空間管理サーバ接続プログラム142、文書検索依頼プログラム143、Queryオブジェクト生成プログラム146の実行を制御し、グローバル文書空間管理サーバ201にグローバル検索処理を依頼することにより、複数の文書空間管理サーバの文書を対象とする全文検索処理を一括して行う。また、直接個々の文書空間管理サーバ中の文書を対象とする全文検索処理を行うこともできる。

0107

グローバル文書空間管理サーバ接続プログラム140は、検索クライアント103とグローバル文書空間管理サーバ201との接続を確立する。

0108

グローバルメタデータ参照プログラム141は、グローバル文書空間管理サーバ201に対して、グローバルメタデータを検索クライアント103に送信する様に要求して、これを取得する。

0109

文書空間管理サーバ接続プログラム142は、検索クライアント103と文書空間管理サーバ301〜303との接続を確立する。

0110

文書検索依頼プログラム143は、検索クライアント103が接続を確立したグローバル文書空間管理サーバ201或いは文書空間管理サーバに対して文書の検索を依頼する。グローバル文書空間管理サーバ201に検索を依頼する場合、グローバル文書空間管理サーバ201ではグローバル検索の対象として定義されている複数の文書空間管理サーバに対して一括して検索要求を発行し、各文書空間管理サーバにおいて全文検索を行う。各文書空間管理サーバから返された検索結果をマージした後、ネットワーク16を介して検索結果集合を検索クライアント103へ転送する。

0111

Queryオブジェクト生成プログラム146は、キーボード10から入力された検索要求や予め検索式格納領域145に格納された検索式から、全文検索向けオペレータ定義情報格納領域147及び全文検索向けクラス定義情報格納領域148に格納された定義情報を参照して、全文検索のQueryオブジェクトを生成する。

0112

システムプログラム20は、周辺装置とのデータの入出力等、コンピュータ上で本クライアントを構成する各種プログラムを実行する際に必要となる基本的な機能を提供する。ワークエリア21はプログラムの実行時に一時的に必要となるデータを記憶する為に用いられる。

0113

検索結果格納領域144は、グローバル文書空間管理サーバ201から転送された検索結果を格納しておく為に用いられる。検索式格納領域145は、検索処理を依頼する際に検索条件を指定する為にコマンドと共に渡す検索式を、予め格納しておく為に用いられる。

0114

全文検索向けオペレータ定義情報格納領域147は、全文検索向けオペレータの定義情報を予め格納しておく為に用いられる。全文検索向けクラス定義情報格納領域148は、全文検索向けクラスの定義情報を予め格納しておく為に用いられる。

0115

なお、本実施形態の文書管理システムではフロッピーディスク14に格納された検索式を入力して読み込む構成としたが、光磁気ディスク、光ディスク等、他の可搬媒体から読み込む構成を取ることも可能であり、またネットワーク16を介して転送されてくる検索式を入力とする構成をとることも可能である。さらに、本実施形態の文書管理システムでは検索結果をネットワーク16を介してグローバル文書空間管理サーバ201から検索クライアント103へ転送する構成としたが、代わりにフロッピーディスク、光磁気ディスク、光ディスク等の可搬媒体を使用する構成をとることも可能である。

0116

以下、本実施形態の文書管理システムのグローバル文書空間管理サーバ、すなわち図2の201について説明する。図6は本実施形態のグローバル文書空間管理サーバ201の概略構成を示す図である。

0117

図6に示す様に本実施形態のグローバル文書空間管理サーバ201はQueryオブジェクト解釈プログラム155を有している。Queryオブジェクト解釈プログラム155は全文検索向けオペレータ定義情報格納領域156及び全文検索向けクラス定義情報格納領域157に格納された定義情報を参照して利用可能な検索機能を確認し、全文検索を行う為のQueryオブジェクトを全文検索向けオペレータ定義情報及び全文検索向けクラス定義情報の内容に応じて解釈する処理部である。

0118

グローバル文書空間管理サーバ201をQueryオブジェクト解釈処理部として機能させる為のQueryオブジェクト解釈プログラム155は、CD−ROM等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する媒体はCD−ROM以外の他の媒体でも良い。

0119

またグローバル文書空間管理サーバ201は、全文検索向けオペレータ定義情報格納領域156と、全文検索向けクラス定義情報格納領域157とを有している。

0120

全文検索向けオペレータ定義情報格納領域156は全文検索を指示するオペレータを定義した全文検索向けオペレータ定義情報を予め格納しておく領域である。全文検索向けクラス定義情報格納領域157は全文検索で用いられるクラスを定義した全文検索向けクラス定義情報を予め格納しておく領域である。

0121

グローバル文書空間管理サーバ201はキーボード10、ディスプレイ11、中央処理装置12、フロッピーディスクドライブ13、フロッピーディスク14、通信制御装置15、主メモリ17、磁気ディスク装置18及びシステムバス19から構成される。

0122

キーボード10は、システム管理機能等を指示するコマンドを入力する為に使用する。ディスプレイ11は、本サーバおける処理の実行状況等を表示する為に使用する。中央処理装置12は、本サーバを構成する各種プログラムを実行する。通信制御装置15は、ネットワーク16を介して前記登録クライアント101、参照クライアント102、検索クライアント103及び文書空間管理サーバ301〜303と通信し、コマンド及びデータの交換を行う為に使用する。主メモリ17は、本サーバにおける処理を実行する為の各種プログラム及び一時的なデータを保持する為に使用する。磁気ディスク装置18は、管理下にある文書空間管理サーバ及びグローバルメタデータを格納しておく為に使用する。システムバス19は、これらの各種装置を接続する為に使用する。

0123

主メモリ17中には、グローバル文書空間管理プログラム211、格納制御プログラム150、グローバルメタデータ管理プログラム151、メタデータ取得プログラム152、Queryオブジェクト解釈プログラム155及びシステムプログラム20が格納され、またワークエリア21が保持される。

0124

磁気ディスク装置18中には、文書空間管理データ格納領域153、グローバルメタデータ格納領域154、全文検索向けオペレータ定義情報格納領域156及び全文検索向けクラス定義情報格納領域157が確保される。

0125

グローバル文書空間管理プログラム211は、格納制御プログラム150、グローバルメタデータ管理プログラム151、メタデータ取得プログラム152、Queryオブジェクト解釈プログラム155の実行を制御し、グローバル文書空間管理サーバ201中のグローバルメタデータ及び文書空間管理データの管理を行う。

0126

格納制御プログラム150は、磁気ディスク装置18とワークエリア21とのデータの入出力を制御する。

0127

グローバルメタデータ管理プログラム151は、各文書空間管理サーバから収集された文書空間メタデータ及び文書メタデータをグローバルメタデータとして一括管理し、その登録、参照、更新、削除及び検索の制御を行う。また、検索クライアント103からの全文検索処理の要求に応じて複数の文書空間管理サーバを対象として一括検索を行うグローバル検索を行い、検索結果を検索クライアント103へ転送する。

0128

メタデータ取得プログラム152は、文書空間メタデータ及び文書メタデータの更新を通知してきた文書空間管理サーバに対して、変更されたメタデータの取得を要求して入手する。

0129

Queryオブジェクト解釈プログラム155は、全文検索向けオペレータ定義情報格納領域156及び全文検索向けクラス定義情報格納領域157に格納された定義情報を参照して、全文検索のQueryオブジェクトを解釈する。

0130

システムプログラム20は、周辺装置とのデータの入出力等、コンピュータ上で本サーバを構成する各種プログラムを実行する際に必要となる基本的な機能を提供する。ワークエリア21はプログラムの実行時に一時的に必要となるデータを記憶する為に用いられる。

0131

文書空間管理データ格納領域153は、グローバル文書空間管理サーバ201の管理下にあり、グローバル文書空間管理サーバ201にコネクトしてきたクライアントが利用可能な文書空間管理サーバに関するデータを格納しておく為に用いられる。

0132

グローバルメタデータ格納領域154は、各文書空間管理サーバから収集された文書空間メタデータ及び文書メタデータをグローバルメタデータとして一括管理し格納しておく為に用いられる。

0133

全文検索向けオペレータ定義情報格納領域156は、全文検索向けオペレータの定義情報を予め格納しておく為に用いられる。全文検索向けクラス定義情報格納領域157は、全文検索向けクラスの定義情報を予め格納しておく為に用いられる。

0134

以下、本実施形態の文書管理システムの文書空間管理サーバ、すなわち図2の301〜303について説明する。これら文書空間管理サーバはすべて同様な構成であるので、301を取り上げて説明する。

0135

図7は本実施形態の文書空間管理サーバ301の概略構成を示す図である。図7に示す様に本実施形態の文書空間管理サーバ301はQueryオブジェクト解釈プログラム167を有している。Queryオブジェクト解釈プログラム167は全文検索向けオペレータ定義情報格納領域168及び全文検索向けクラス定義情報格納領域169に格納された定義情報を参照して利用可能な検索機能を確認し、全文検索を行う為のQueryオブジェクトを全文検索向けオペレータ定義情報及び全文検索向けクラス定義情報の内容に応じて解釈する処理部である。

0136

文書空間管理サーバ301をQueryオブジェクト解釈処理部として機能させる為のQueryオブジェクト解釈プログラム167は、CD−ROM等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する媒体はCD−ROM以外の他の媒体でも良い。

0137

また文書空間管理サーバ301は、全文検索向けオペレータ定義情報格納領域168と、全文検索向けクラス定義情報格納領域169とを有している。

0138

全文検索向けオペレータ定義情報格納領域168は全文検索を指示するオペレータを定義した全文検索向けオペレータ定義情報を予め格納しておく領域である。全文検索向けクラス定義情報格納領域169は全文検索で用いられるクラスを定義した全文検索向けクラス定義情報を予め格納しておく領域である。

0139

文書空間管理サーバ301はキーボード10、ディスプレイ11、中央処理装置12、フロッピーディスクドライブ13、フロッピーディスク14、通信制御装置15、主メモリ17、磁気ディスク装置18及びシステムバス19から構成される。

0140

キーボード10は、システム管理機能等を指示するコマンドを入力する為に使用する。ディスプレイ11は、本サーバにおける処理の実行状況等を表示する為に使用する。中央処理装置12は、本サーバを構成する各種プログラムを実行する。通信制御装置15は、ネットワーク16を介して前記登録クライアント101、参照クライアント102、検索クライアント103及びグローバル文書空間管理サーバ201と通信し、コマンド及びデータの交換を行う為に使用する。主メモリ17は、本サーバにおける処理を実行する為の各種プログラム及び一時的なデータを保持する為に使用する。磁気ディスク装置18は、文書実体、文書オブジェクト、文書空間メタデータ、文書メタデータ及び全文検索向け定義情報を格納しておく為に使用する。システムバス19は、これらの各種装置を接続する為に使用する。

0141

主メモリ17中には、文書空間管理プログラム311、格納制御プログラム160、メタデータ管理プログラム161、メタデータ変更通知プログラム162、Queryオブジェクト解釈プログラム167及びシステムプログラム20が格納され、またワークエリア21が保持される。

0142

磁気ディスク装置18中には、文書実体格納領域163、文書オブジェクト格納領域164、文書空間メタデータ格納領域165、文書メタデータ格納領域166、全文検索向けオペレータ定義情報格納領域168及び全文検索向けクラス定義情報格納領域169が確保される。

0143

文書空間管理プログラム311は、格納制御プログラム160、メタデータ管理プログラム161、メタデータ変更通知プログラム162、Queryオブジェクト解釈プログラム167の実行を制御し、文書空間管理サーバ301中の文書の管理を行う。

0144

格納制御プログラム160は、磁気ディスク装置18とワークエリア21とのデータの入出力を制御する。メタデータ管理プログラム161は、文書空間メタデータ及び文書メタデータを管理し、その登録、参照、更新、削除及び検索の制御を行う。メタデータ変更通知プログラム162は、文書空間メタデータ及び文書メタデータの更新が発生した際に、これをグローバル文書空間管理サーバに通知する。

0145

Queryオブジェクト解釈プログラム167は、全文検索向けオペレータ定義情報格納領域168及び全文検索向けクラス定義情報格納領域169に格納された定義情報を参照して、全文検索のQueryオブジェクトを解釈する。

0146

システムプログラム20は、周辺装置とのデータの入出力等、コンピュータ上で本サーバを構成する各種プログラムを実行する際に必要となる基本的な機能を提供する。ワークエリア21はプログラムの実行時に一時的に必要となるデータを記憶する為に用いられる。

0147

文書実体格納領域163は、登録文書の実体を格納する為に用いられる。文書オブジェクト格納領域164は、登録文書を管理する為の文書オブジェクトを格納する為に用いられる。

0148

文書空間メタデータ格納領域165は、文書空間に関する属性情報である文書空間メタデータを格納する為に用いられる。文書メタデータ格納領域166は、文書自体の属性情報である文書メタデータを格納する為に用いられる。

0149

全文検索向けオペレータ定義情報格納領域168は、全文検索向けオペレータの定義情報を予め格納しておく為に用いられる。全文検索向けクラス定義情報格納領域169は、全文検索向けクラスの定義情報を予め格納しておく為に用いられる。

0150

なお、本実施形態の文書管理システムは3台のクライアントと3台の文書空間管理サーバによる構成となっているが、両者の数は本質的にいくらでも良く、また互いに独立に構成することが可能である。

0151

次に本実施形態の文書管理システムにおける全文検索の実現方法について説明する。本実施形態の文書管理システムにおいて導入する全文検索向けオペレータ及びクラスについて説明した後、全文検索の実行手順について説明する。

0152

まず、本実施形態の文書管理システムにおける全文検索向けオペレータについて説明する。本実施形態の文書管理システムでは以下のオペレータを新たに設ける。

0153

・Contains:全文検索を指示する。
・Contains_with_score:スコアの算出と共に全文検索を指示する。ランキング検索の際に用いる。
・Equal_Content:全文検索における検索タームと全文データの関連付けを行う。
・Prox:近傍条件検索の際に近傍条件を指定する。
・Soundex:検索タームの異表記語展開する。
・Synonym:検索タームの同義語を展開する。
これらのオペレータをQueryOperatorクラスのQueryOperatorIDプロパティに設定することにより、オペレータとして機能させる。以下、各オペレータについて説明する。

0154

図8は本実施形態のContainsオペレータのオペレータ仕様及びオペランド仕様を示す図である。図9は本実施形態のContainsオペレータの例を示す図である。Containsオペレータは、全文検索の実行を指定する。Containsオペレータは、次の様な機能を持つ。
・検索対象に対して全文検索を行うことを明示する。
・全文検索条件をオペランドに指定する。
・検索対象をFromExprに指定する。
・全文検索条件に合致した場合にTRUEを返す。

0155

図10は本実施形態のContains_with_scoreオペレータのオペレータ仕様及びオペランド仕様を示す図である。図11は本実施形態のContains_with_scoreオペレータの例を示す図である。Contains_with_scoreオペレータは、スコア算出を伴う全文検索及びスコアによるソートを行うランキング検索の実行を指定する。グローバル文書空間管理サーバに対する検索要求すなわちグローバル検索を行う場合、第2オペランドのNormalization flagをSetすることにより、異なるランキングアルゴリズムの複数の文書空間管理サーバ(リポジトリ)に対するランキング検索結果を正規化する指定を行うことができる。Contains_with_scoreオペレータは、次の様な機能を持つ。

0156

・検索対象に対して、スコア算出を伴う全文検索またはスコアによるソートを行うランキング検索を行うことを明示する。
・全文検索条件をオペランドに指定する。
・検索対象をFromExprに指定する。
・select list中にスコア取得を明示する。
・スコア正規化指定(Normalization flag)パラメータは、ランキング検索結果のスコアを正規化して返すことを指定する。
・全文検索条件に合致した場合にTRUEを返す。

0157

ローカル/グローバル検索とNormalization flag設定の組合せにより検索結果の正規化を指定する方法は次表のとおりである。

0158

0159

図12は本実施形態のEqual_Contentオペレータのオペレータ仕様及びオペランド仕様を示す図である。Equal_Contentオペレータは全文検索における検索タームと本文の全文データとの関連付けを行う。Equal_Contentオペレータは、次の様な機能を持つ。

0160

・全文検索における検索タームと全文データをオペランドとして指定する。
・検索タームを含む全文データに対してTRUEを返す。
・第1オペランドのQueryPropertyオブジェクトに検索対象とする仮想的全文データ、すなわちContentSearchクラスのContentプロパティを設定する。
・第1オペランドにQueryPropertyクラスのサブクラスであるQueryPropertyWithWeightedStructクラスのインスタンスを設定することにより、重み付き構造指定検索を指定することが可能である。
・QueryConstStringクラスのサブクラスであるQueryConstWeightedStringクラスを用いて、重み付け検索タームを設定することが可能である。
・QueryConstStrings或いはQueryConstWeightedStringsにより複数の検索タームが設定された場合、Equal_Contentオペレータは各検索タームのOR条件により評価を行う。すなわち、いずれかの検索タームが含まれていればTRUEを返す。

0161

図13は本実施形態のEqual_Contentオペレータの第1の例を示す図である。図14は本実施形態のEqual_Contentオペレータの第2の例を示す図である。図14では重み付き構造指定検索を重み付き検索タームと共に設定する場合のEqual_Contentオペレータの例を表している。

0162

さらにEqual_Contentオペレータの第3の例を図15及び図16に示す。図15は本実施形態のEqual_Contentオペレータのオペレータ仕様及びオペランド仕様を示す図である。図16は本実施形態のEqual_Contentオペレータの第3の例を示す図である。この第3の例では新規クラスの導入を行わずに同様機能を既定することが可能である。

0163

図17は本実施形態のProxオペレータのオペレータ仕様を示す図である。図18は本実施形態のProxオペレータのオペランド仕様を示す図である。図19は本実施形態のProxオペレータの例を示す図である。Proxオペレータは文書中に出現する検索ターム間の距離に関する条件に基づく全文検索、すなわち近傍条件検索における近傍条件を指定する。Proxオペレータは、次の様な機能を持つ。

0164

・全文検索における近傍条件をオペランドに指定する。
・検索対象をFromExprに指定する。
・Proxオペレータは、設定した近傍条件に合致する文書を全文検索する為の検索ターム群を返すオペレータと定義する。
・QueryExprにおいて近傍条件を記述する際には、Equal_Contentオペレータの第1オペランドにQueryPropertyを用いて全文データすなわち検索インデックスを指定し、第2オペランドにProxオペレータを用いた近傍条件を設定する。
・第1オペランド、第2オペランドにQueryConstStringsオブジェクト、或いはQueryConstWeightedStringsオブジェクトを用いることにより語句リストを設定可能である。
・第1オペランド、第2オペランド共に検索タームへの重み付けが可能であるが、スコア評価の際には第1オペランドの重みのみが評価され、第2オペランドの重みは無視される。
・本オペレータは、Containsオペレータ或いはContains_with_scoreオペレータをQueryOperatorIDとして指定したQueryOperatorよりも、下位のノードに設定する。

0165

図20は本実施形態のSoundexオペレータのオペレータ仕様を示す図である。図21は本実施形態のSoundexオペレータの例を示す図である。Soundexオペレータは全文検索における検索タームの異表記展開を指定する。Soundexオペレータは、次の様な機能を持つ。

0166

・全文検索における検索タームの異表記展開を行い、展開後の検索ターム群をリストとして返す。
・対象とする検索タームと展開モードを指定したフラグをオペランドとする。
・QueryConstWeightedStringクラスを用いて、検索タームに重みを設定することが可能である。この場合、設定された重みが展開後の各検索タームに引き継がれる。
・本オペレータは、Containsオペレータ或いはContains_with_scoreオペレータをQueryOperatorIDとして指定したQueryOperatorよりも、下位のノードに設定する。

0167

図22は本実施形態のSynonymオペレータのオペレータ仕様を示す図である。図23は本実施形態のSynonymオペレータの例を示す図である。図24は本実施形態の文書管理システムのSynonymオペレータとSoundexオペレータを組合せた例を示す図である。Synonymオペレータは全文検索における検索タームの同義語展開を指定する。Synonymオペレータは、次の様な機能を持つ。

0168

・全文検索における検索タームの同義語展開を行い、展開後の検索ターム群をリストとして返す。
・対象とする検索タームと同義語辞書をオペランドとする。
・QueryConstWeightedStringクラスを用いて、検索タームに重みを設定することが可能である。この場合、設定された重みが展開後の各検索タームに引き継がれる。
・Soundexオペレータと組合せ、 Soundexオペレータのオペランドとして設定することが可能である。この場合、本オペレータに設定した検索タームを同義語展開後、各々のタームについてSoundexオペレータが異表記展開を行う。
・本オペレータは、Containsオペレータ或いはContains_with_scoreオペレータをQueryOperatorIDとして指定したQueryOperatorよりも、下位のノードに設定する。

0169

次に本実施形態の文書管理システムにおける全文検索向けクラスについて説明する。本実施形態の文書管理システムでは以下のクラスを新たに設ける。

0170

・ContentSearch:全文検索用インデックステーブル等、全文検索用の登録情報を参照することをQueryにおいて明示する為に定義する為のSearchableな仮想クラス。
・QueryConstWeightedString:重み付け検索タームの指定に用いる。
・QueryConstWeightedStrings:複数の重み付け検索タームの指定に用いる。
・QueryPropertyWithWeightedStruct:構造指定検索における構造への重み付
けに用いる。

0171

以下、各クラスについて説明する。図25は本実施形態のContentSearchクラスのプロパティ仕様を示す図である。図26は本実施形態のContentSearchクラスの例を示す図である。ContentSearchクラスは全文検索機能を実現するにあたり、全文検索用インデックステーブル等、全文検索用の登録情報を参照することをQueryにおいて明示する為に定義する為のクラスである。ContentSearchクラスは、次の様なプロパティを持つ。

0172

1.Object_ID
オブジェクトのインスタンスID(OIID)。
2.Class Description Object
このクラスについて詳細を記述した、クラスディスクリプションオブジェクト。
3.This
DMAQuery中でオブジェクト間のJOINを記述できる様にすることを目的とする。
4.Content
全文検索の際に、登録文書の全文データを表わす。
5.DocVersion_ID
登録文書の文書ID。
6.Score
スコア算出指定を行った際の登録文書のスコア。静的情報として保持されている情報ではなく、検索の際に検索条件にしたがって動的に生成される。スコアを取得する為の、形式的なプロパティである。スコアは、検索結果集合内で正規化されて返される。
7.Raw_Score
スコア算出指定を行った際の登録文書のスコア。静的情報として保持されている情報ではなく、検索の際に検索条件にしたがって動的に生成される。スコアを取得する為の、形式的なプロパティである。Scoreと異なり、Raw_Scoreは検索結果集合内で正規化されずに返される。
8.Doc_Length
検索した文書の長さを返す。(単位:バイト)
9.Term_Freq
スコア算出の評価対象となった検索タームの、文書中での出現回数を返す。
10. Term_Weight
スコア算出の評価対象となった検索タームの、重みを返す。(値域:0〜100)ContentSearchクラスは、Queryにおいて全文検索用の登録情報を指定する為の仮想的なクラスである。ContentSearchクラスに定義されているプロパティは、全文検索用に登録されている様々な登録情報に対応するものである。しかしながら、ContentSearchクラスに直接対応する永続オブジェクトは存在しない。

0173

Queryオブジェクトを構築する際に、FromExprに指定する検索対象としてSearchableクラスを指定する必要がある。全文検索を指示する場合には、SearchableクラスであるContentSearchクラスを用いてFromExprの内容を記述する。

0174

ContentSearchクラスは“Contentプロパティ”を持つ。このContentプロパティが全文検索の対象とする登録文書の全文データすなわち本文に相当する。Contentプロパティ及びEqual_Contentオペレータを用いて、本文が検索タームT1を含むという全文検索条件は、
Equal_Content(ContentSearch.content,“T1”)
と記述する。

0175

Contentプロパティは実際に本文のテキストデータと必ずしも関連付けられている必要はない。Queryが全文検索用の登録情報、たとえばインデックスデータ等を参照することを検索エンジンに対して明示的に示すものである。

0176

全文検索の際にはContains或いはContains_with_scoreをQueryOperatorとして設定する。この設定にしたがって適切な検索処理が自動的に選択され、ContentSearchクラスに指定されたプロパティが参照される。

0177

図27は本実施形態のQueryConstWeightedStringクラスのプロパティ仕様を示す図である。図28は本実施形態のQueryConstWeightedStringクラスの例を示す図である。QueryConstWeightedStringクラスは全文検索における、重み付け検索タームの指定に用いる。検索タームとその検索タームの重みを組合せて指定する。QueryConstWeightedStringクラスは、次の様なプロパティを持つ。

0178

1.Object_ID
オブジェクトのインスタンスID(OIID)。
2.Class Description Object
このクラスについて詳細を記述した、クラスディスクリプションオブジェクト。
3.This
DMAQuery中でオブジェクト間のJOINを記述できる様にすることを目的とする。
4.Create Flag
このフラグがセットされている場合、ExecuteChangeまたはExecuteChangesに対して、スクラッチパッド・オブジェクトを新たに永続オブジェクトとして登録することを指示する。
5.Update Flag
このフラグがセットされている場合、ExecuteChangeまたはExecuteChangesに対して、このオブジェクトは既に永続オブジェクトとして存在しており、プロパティの更新を行うことを指示する。
6.Delete Flag
このフラグがセットされている場合、ExecuteChangeまたはExecuteChangesに対して、このオブジェクトは既に永続オブジェクトとして存在しており、オブジェクトを削除することを指示する。
7.Qval String
String型の定数を値として持つプロパティ。検索タームを記述する。
8.Qval Weight
Integer32型の定数を値として持つプロパティ。検索タームの重みを0から100の範囲で記述する。

0179

全文検索において重み付き検索タームを指定する場合、QueryConstWeightedStringクラスを用いて、検索タームとその重みをペアで指定する。

0180

QueryConstWeightedStringクラスはString型のプロパティQval Stringに検索タームを設定し、Integer32型のプロパティQval Weightに重みを0から100の範囲で設定する。重みを設定しない場合は、Qval WeightにNULLを設定する。

0181

図29は本実施形態のQueryConstWeightedStringsクラスのプロパティ仕様を示す図である。図30は本実施形態のQueryConstWeightedStringsクラスの例を示す図である。QueryConstWeightedStringsクラスは全文検索における、複数の重み付け検索タームの指定に用いる。検索タームとその検索タームの重みを組合せて指定する。QueryConstWeightedStringsクラスは、次の様なプロパティを持つ。

0182

1.Object_ID
オブジェクトのインスタンスID(OIID)。
2.Class Description Object
このクラスについて詳細を記述した、クラスディスクリプションオブジェクト。
3.This
DMAQuery中でオブジェクト間のJOINを記述できる様にすることを目的とする。
4.Create Flag
このフラグがセットされている場合、ExecuteChangeまたはExecuteChangesに対して、スクラッチパッド・オブジェクトを新たに永続オブジェクトとして登録することを指示する。
5.Update Flag
このフラグがセットされている場合、ExecuteChangeまたはExecuteChangesに対して、このオブジェクトは既に永続オブジェクトとして存在しており、プロパティの更新を行うことを指示する。
6.Delete Flag
このフラグがセットされている場合、ExecuteChangeまたはExecuteChangesに対して、このオブジェクトは既に永続オブジェクトとして存在しており、オブジェクトを削除することを指示する。
7.Qval Strings
String型の定数を値として持つリストプロパティ。複数の検索タームを記述する。
8.Qval Weights
Integer32型の定数を値として持つリストプロパティ。 複数の検索タームの重みを0から100の範囲で記述する。全文検索において複数の重み付き検索タームを指定する場合、QueryConstWeightedStringsクラスを用いて、検索タームとその重みをペアで指定する。

0183

QueryConstWeightedStringsクラスはString型のリストプロパティQval Stringsに複数の検索タームを設定し、Integer32型のリストプロパティQval Weightsの対応する位置に重みを0から100の範囲で設定する。重みを設定しない場合は、該当するQval WeightにNULLを設定する。また、検索タームと重みとの対応は、リストの先頭からの順序により取るものとする。

0184

図31は本実施形態のQueryPropertyWithWeightedStructクラスのプロパティ仕様を示す図である。図32は本実施形態のQueryPropertyWithWeightedStructクラスの例を示す図である。QueryPropertyWithWeightedStructクラスは全文検索の構造指定検索において、構造の指定及び構造に対する重み付けの指定に用いる。検索対象とするcontentに構造を限定する記述と重み付けを組合せて指定する。QueryPropertyWithWeightedStructクラスは、次の様なプロパティを持つ。

0185

1.Object_ID
オブジェクトのインスタンスID(OIID)。
2.Class Description Object
このクラスについて詳細を記述した、クラスディスクリプションオブジェクト。
3.This
DMAQuery中でオブジェクト間のJOINを記述できる様にすることを目的とする。
4.Create Flag
このフラグがセットされている場合、ExecuteChangeまたはExecuteChangesに対して、スクラッチパッド・オブジェクトを新たに永続オブジェクトとして登録することを指示する。
5.Update Flag
このフラグがセットされている場合、ExecuteChangeまたはExecuteChangesに対して、このオブジェクトは既に永続オブジェクトとして存在しており、プロパティの更新を行うことを指示する。
6.Delete Flag
このフラグがセットされている場合、ExecuteChangeまたはExecuteChangesに対して、このオブジェクトは既に永続オブジェクトとして存在しており、オブジェクトを削除することを指示する。
7.QS Class Occur
searchable class occurrence numberを値として持つプロパティ。
8.Qprop ID
指定するQuery PropertyのIDを値として持つプロパティ。
9.Struct Description
構造指定を記述した文字列を値として持つプロパティ。
10.Weight Description
Integer32型の定数を値として持つプロパティ。構造に対する重み付けを0から100の範囲で記述する。

0186

全文検索の構造指定検索において、構造の指定及び構造に対する重み付けの指定を行う場合にQueryPropertyWithWeightedStructクラスを用いる。

0187

QueryPropertyWithWeightedStructクラスを用いて、Qprop IDプロパティで指定した検索対象とするcontentに、Struct Descriptionプロパティで指定した構造記述と、Weight Descriptionプロパティで指定した構造に関する重み付けを組合せて指定する。Weight DescriptionプロパティにNULL値が設定されている場合、構造に対する重み付けが特にされていないと解釈される。

0188

最後に上記全文検索向けオペレータ及びクラスを用いた、本実施形態の文書管理システムにおける全文検索の手順について説明する。簡単の為に、検索クライアント103の文書検索制御プログラム113から全文検索を行う場合を例に説明する。

0189

ローカル検索を行う場合、検索クライアント103に存在する文書検索制御プログラム113は、まずグローバル文書空間管理サーバ接続プログラム140を用いて、グローバル文書空間管理サーバ201にコネクトする。

0190

グローバル文書空間管理サーバ201において、グローバルメタデータ参照プログラム141を用いてコネクト可能な文書空間管理サーバの一覧を取得すると共に、グローバルメタデータ管理プログラム151に依頼してグローバルメタデータを参照する。

0191

グローバルメタデータには各文書空間管理サーバ301〜303が管理する文書の関連分野、文書の出典等が含まれている。文書検索制御プログラム113はグローバルメタデータを参照することにより、まず全文検索の対象とする文書空間管理サーバを絞り込むことができる。

0192

さらに該当する文書空間管理サーバにコネクトして目的とする検索を行う為にQueryオブジェクト生成プログラム146によりQueryオブジェクトを生成し、これを文書空間管理サーバに渡して全文検索処理を依頼する。文書空間管理サーバではQueryオブジェクト解釈プログラム167によりQueryオブジェクトを解釈し、検索エンジンに検索式として渡し全文検索を実行する。

0193

図33は本実施形態のQueryオブジェクト生成の処理手順を示すフローチャートである。Queryオブジェクトを生成する手順を図33を用いて説明する。
検索式或いは検索条件をディスクまたはキーボードよりワークエリアへ入力する。
検索要求が全文検索であるか属性検索であるかを判定する。
全文検索の場合は全文検索向けオペレータ、クラスの定義情報を参照して利用可能な機能を確認する。
FromExprを生成する。
SelectListを生成する。
QueryExprを生成する。
OrderByListを生成する。
QueryRootオブジェクトを生成する。
Queryオブジェクトを生成する。
なおQueryオブジェクト内に複数のQueryRootオブジェクトが存在する場合には、ステップからが繰り返し実行される。

0194

図34は本実施形態のQueryExpr生成の処理手順を示すフローチャートである。QueryExprを生成する手順を図34を用いて説明する。
処理対象カレントノード開始ノード初期設定する。
ノードに設定するオペレータが全文検索であるかどうかを調べる。
ノードに設定するオペレータが全文検索である場合には、オペレータ定義情報に従い、ContainsまたはContains_with_scoreオペレータをノードに設定し、ノードに設定するオペレータが全文検索ではない場合には、そのオペレータをノードに設定する。
オペレータのオペランドに検索条件を記述する。
オペランド中に入れ子でオペレータがあるかどうかを調べる。
オペランド中に入れ子でオペレータがある場合には、カレントノードを下位(入れ子オペレータのレベル)へ移動し、へ戻る。
オペランド中に入れ子がない場合には、カレントノードが開始ノードかどうかを調べ、カレントノードが開始ノードである場合にはQueryExpr生成処理を終了する。
カレントノードが開始ノードではない場合には、カレントノードを上位(上位オペレータレベル)へ移動する。
他にオペレータがあるかどうかを調べ、他のオペレータがある場合にはに戻り、他のオペレータがない場合にはに戻る。

0195

図35は本実施形態のQueryオブジェクト解釈の処理手順を示すフローチャートである。文書空間管理サーバでQueryオブジェクトを解釈する手順を図35を用いて説明する。

0196

全文検索向けオペレータ、クラスの定義情報を参照して利用可能な機能の情報をワークエリアへ入力する。
Queryオブジェクトをワークエリアへ入力する。
QueryRootオブジェクトのリンクをたどりFromExpr、SelectList、QueryExpr、OrderByListを抽出する。
QueryオブジェクトのリンクをたどりQueryRootオブジェクトを抽出する。
FromExprを解釈する。
SelectListを解釈する。
QueryExprを解釈する。
OrderByListを解釈する。
文書空間管理サーバの検索エンジン向け検索式を生成する。
なおQueryオブジェクト内に複数のQueryRootオブジェクトが存在する場合には、ステップからが繰り返し実行される。これにより、全文検索の検索結果を取得することが可能となる。検索クライアント103は検索結果を確認して、文書実体を取得する必要のある文書を特定した後、文書空間管理サーバへコネクトして文書実体を取得する。

0197

図36は本実施形態のQueryExpr解釈の処理手順を示すフローチャートである。QueryExprを解釈する手順を図36を用いて説明する。
処理対象のカレントノードを開始ノードに初期設定する。
オペレータの定義情報に従い、オペレータのオペランドを解釈する。
解釈結果バッファに格納する。
オペランド中に入れ子があるかどうかを調べる。
オペランド中に入れ子のオペレータがある場合には、カレントノードを下位(入れ子オペレータのレベル)へ移動し、へ戻る。
オペランド中に入れ子がない場合には、カレントノードが開始ノードかどうかを調べる。
カレントノードが開始ノードではない場合には、カレントノードを上位(上位オペレータレベル)へ移動する。
他にオペレータがあるかどうかを調べ、他のオペレータがある場合にはに戻り、他のオペレータがない場合にはに戻る。
カレントノードが開始ノードである場合には、バッファに格納した解釈結果を出力する。

0198

グローバル検索を行う場合も同様に、グローバル文書空間管理サーバ201へコネクト後、目的とする検索を行う為のQueryオブジェクトを生成し、これをグローバル文書空間管理サーバ201に渡して全文検索処理を依頼する。この時、対象とする複数の文書空間管理サーバに一括して検索要求を発行することでグローバル検索を実行することができる。

0199

この際のQueryオブジェクトの生成及び解釈は、上記ローカル検索の場合と同様の手順によって行われる。これにより全文検索の検索結果を取得することが可能となる。アプリケーションプログラムは検索結果を確認して文書実体を取得する必要のある文書を特定した後、文書空間管理サーバへコネクトして文書実体を取得する。

0200

図37は本実施形態のランキング検索を指示するQueryオブジェクトの例を示す図である。「文書中に“文書”及び“検索”という文字列の両方を含む。」という検索条件を設定している例である。検索結果集合にはランキングスコア、登録文書ID、文書のタイトルを返す。Contains_with_scoreの第2オペランド、Normalization flagをSetして、スコアの正規化を指定している。

0201

図38は本実施形態の近傍条件検索を指示するQueryオブジェクトの例を示す図である。「文書中に“文書”及び“検索”という文字列の両方を含み、かつ両者の間の距離が10文字以下である。第1語句リストと第2語句リストの順序は非可換である。」という検索条件を設定している例である。検索結果集合にはランキングスコア、登録文書ID、文書のタイトルを返す。Contains_with_scoreの第2オペランド、Normalization flagをSetして、スコアの正規化を指定している。

0202

これらにより従来の属性検索の枠組みを損なうことなく、新たに全文検索向きのオペレータ及びクラスを導入することにより、全文検索も包含する枠組みとすることが可能となる。すなわち従来の検索機能を容易に拡張し、より高機能な検索機能を実現することが可能となる。

0203

以上説明した様に本実施形態の文書管理システムによれば、全文検索機能を指定する為のオペレータ及びクラスを導入しているので、文書管理システムの検索仕様を拡張して文書管理システムの検索機能向上を図ることが可能である。

0204

(実施形態2)以下にオペレータ定義情報としてAnd-Not条件の指定が可能なオペレータを有し、DMA仕様の属性検索機能及びこれを拡張した全文検索機能の枠組みを損なうことなく、これらを拡張してZ39.50検索仕様に対応可能な検索機能を実現する実施形態2の文書管理システムについて説明する。

0205

図43は本実施形態の文書管理システムの原理を示す図である。図43に示す様に本実施形態では、And-Notオペレータを導入することにより、DMA仕様の属性検索機能及びこれを拡張した全文検索機能の枠組みを損なうことなく、これらを拡張してZ39.50検索仕様に対応可能な検索機能を実現する。

0206

導入されたAnd-Notオペレータは、定義情報としてクライアント及びサーバに登録される。さらにこのオペレータを用いて、クライアント側においてはユーザからの検索要求に基づいて定義情報を参照してQueryオブジェクトを生成する処理ステップと、サーバ側においては受け取ったQueryオブジェクトを定義情報を参照して解釈する処理ステップを設ける。

0207

And-Notオペレータを用いると演算の過程における一時検索結果集合の発生を抑制することができる。すなわち文書管理システムの必要とするリソースの増加を押さえることができる。これにより、文書管理システムの検索機能が必要とする処理コストを大幅に増加させることなく、Z39.50検索仕様に対応可能な検索機能を実現することが可能となる。

0208

本実施形態のクライアント及びサーバの構成は実施形態1に示したものと同様であり、全文検索向けオペレータ定義情報格納領域147、全文検索向けオペレータ定義情報格納領域156及び全文検索向けオペレータ定義情報格納領域168には、And-Notオペレータの定義情報も格納されるものとする。

0209

またQueryオブジェクト生成プログラム146は、キーボード10から入力された検索要求や予め検索式格納領域145に格納された検索式から、全文検索向けオペレータ定義情報格納領域147及び全文検索向けクラス定義情報格納領域148に格納された定義情報を参照して、全文検索のQueryオブジェクトやAnd-Notオペレータを含むQueryオブジェクトを生成する。

0210

Queryオブジェクト解釈プログラム155は、全文検索向けオペレータ定義情報格納領域156及び全文検索向けクラス定義情報格納領域157に格納された定義情報を参照して、全文検索のQueryオブジェクトやAnd-Notオペレータを含むQueryオブジェクトを解釈し、Queryオブジェクト解釈プログラム167は、全文検索向けオペレータ定義情報格納領域168及び全文検索向けクラス定義情報格納領域169に格納された定義情報を参照して、全文検索のQueryオブジェクトやAnd-Notオペレータを含むQueryオブジェクトを解釈する。

0211

And-Notオペレータを含むQueryオブジェクトの生成処理部として検索クライアント103を機能させる為のQueryオブジェクト生成プログラム146、And-Notオペレータを含むQueryオブジェクトの解釈処理部としてグローバル文書空間管理サーバ201及び文書空間管理サーバ301を機能させる為のQueryオブジェクト解釈プログラム155及びQueryオブジェクト解釈プログラム167は、CD−ROM等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する媒体はCD−ROM以外の他の媒体でも良い。

0212

図44は本実施形態のAnd-Notオペレータのオペレータ仕様及びオペランド仕様を示す図である。And-Notオペレータは、次の様な機能を持つ。
・第1オペランド、第2オペランドにBooleanオペランドを設定する。
・以下の真理値表に従い、Booleanオペランドの真理値を算出して返す。

0213

0214

表2は、第1オペランドをA[Boolean]、第2オペランドをB[Boolean]とした場合の“Not B”及び“A And-Not B”の論理値を表しており、Tは真(TRUE)、FはFALSE)の論理値を表し、Uはその論理値が不定(UNKNOWN)であることを示している。

0215

図45は本実施形態のAnd-Notオペレータの例を示す図である。図45に示す様にAnd-NotオペレータにはオペランドA及びBの様に2つのオペレータが設定される。

0216

図46は本実施形態の属性検索を行う際のQuery記述の例を示す図である。図46では「著者(Authorプロパティ)が“鈴木”かつ所属組織(Orgプロパティ)が“日立ではない”という文書。」という検索条件により属性検索を行う際のQuery記述の例を表しており、検索結果集合には登録文書のオブジェクトID、文書のタイトルを返す。

0217

次に本実施形態における検索の手順について説明する。簡単のために、検索クライアント103の文書検索制御プログラム113から検索を行う場合を例に説明する。

0218

ローカル検索を行う場合、検索クライアント103に存在する文書検索制御プログラム113は、まずグローバル文書空間管理サーバ接続プログラム140を用いて、グローバル文書空間管理サーバ201にコネクトする。

0219

グローバル文書空間管理サーバ201において、グローバルメタデータ参照プログラム141を用いてコネクト可能な文書空間管理サーバの一覧を取得するとともに、グローバルメタデータ管理プログラム151に依頼してグローバルメタデータを参照する。

0220

グローバルメタデータには各文書空間管理サーバ301〜303が管理する文書の関連分野、文書の出典等が含まれている。文書検索制御プログラム113はグローバルメタデータを参照することにより、まず検索の対象とする文書空間管理サーバを絞り込むことができる。

0221

さらに該当する文書空間管理サーバにコネクトして目的とする検索を行うためにQueryオブジェクト生成プログラム146によりQueryオブジェクトを生成し、これを文書空間管理サーバに渡して検索処理を依頼する。文書空間管理サーバではQueryオブジェクト解釈プログラム167によりQueryオブジェクトを解釈し、検索エンジンに検索式として渡して検索を実行する。

0222

次にQueryオブジェクトを生成する手順を図33を用いて説明する。
検索式或いは検索条件をディスクまたはキーボードよりワークエリアへ入力する。
検索要求が全文検索であるか属性検索であるかを判定する。
全文検索の場合は全文検索向けオペレータ、クラスの定義情報を参照して利用可能な機能を確認する。
FromExprを生成する。
SelectListを生成する。
QueryExprを生成する。
OrderByListを生成する。
QueryRootオブジェクトを生成する。
Queryオブジェクトを生成する。
なおQueryオブジェクト内に複数のQueryRootオブジェクトが存在する場合には、ステップからが繰り返し実行される。

0223

例えば図46の「著者が“鈴木”かつ所属組織が“日立ではない”という文書。」という検索条件により属性検索を行う場合には、まず図33のでこの検索条件をワークエリアへ入力する。図33のではこの検索要求が全文検索であるか属性検索であるかを判定し、当該検索要求は属性検索を行うものであるので図33の以下の処理を行って、図33のでAnd-Notオペレータを有するQueryExprを生成する。

0224

次にQueryExprを生成する手順を図34を用いて説明する。
処理対象のカレントノードを開始ノードに初期設定する。
ノードに設定するオペレータが全文検索を行うものであるかどうかを調べる。
ノードに設定するオペレータが全文検索を行うものである場合には、オペレータ定義情報に従い、ContainsまたはContains_with_scoreオペレータをノードに設定し、ノードに設定するオペレータが全文検索を行うものではない場合には、そのオペレータをノードに設定する。
オペレータのオペランドに検索条件を記述する。
オペランド中に入れ子でオペレータがあるかどうかを調べる。
オペランド中に入れ子でオペレータがある場合には、カレントノードを下位(入れ子オペレータのレベル)へ移動し、へ戻る。
オペランド中に入れ子がない場合には、カレントノードが開始ノードかどうかを調べ、カレントノードが開始ノードである場合にはQueryExpr生成処理を終了する。
カレントノードが開始ノードではない場合には、カレントノードを上位(上位オペレータレベル)へ移動する。
他にオペレータがあるかどうかを調べ、他のオペレータがある場合にはに戻り、他のオペレータがない場合にはに戻る。

0225

例えば図46の検索条件により属性検索を行う場合のQueryExprを生成する場合には、まず図34ので、処理対象を示すカレントノードを図46のツリーのQueryExprの最初のポイントに初期設定する。

0226

図34のではノードに設定するオペレータが全文検索を行うものであるかどうかを調べ、ここでは属性検索を行うので、図34のでこのAnd-Notオペレータを図46に示す様にQueryExprのノードに設定する。

0227

図34のではAnd-Notオペレータのオペランドに検索条件を記述し、図34のでオペランド中に入れ子でオペレータがあるかどうかを調べ、オペランド中に入れ子でオペレータがある場合には、図34のでカレントノードを下位(入れ子オペレータのレベル)へ移動して下位のオペレータの設定を行う。

0228

次に文書空間管理サーバでQueryオブジェクトを解釈する手順を図35を用いて説明する。
検索向けオペレータ、クラスの定義情報を参照して利用可能な機能の情報をワークエリアへ入力する。
Queryオブジェクトをワークエリアへ入力する。
QueryRootオブジェクトのリンクをたどってFromExpr、SelectList、QueryExpr、OrderByListを抽出する。
QueryオブジェクトのリンクをたどってQueryRootオブジェクトを抽出する。
FromExprを解釈する。
SelectListを解釈する。
QueryExprを解釈する。
OrderByListを解釈する。
文書空間管理サーバの検索エンジン向け検索式を生成する。
なおQueryオブジェクト内に複数のQueryRootオブジェクトが存在する場合には、ステップからが繰り返し実行される。これにより、検索結果を取得することが可能となる。検索クライアント103は検索結果を確認して、文書実体を取得する必要のある文書を特定した後、文書空間管理サーバへコネクトして文書実体を取得する。

0229

例えば図46の検索条件により属性検索を行うQueryオブジェクトを解釈する場合には、まず図35ので検索向けオペレータ、クラスの定義情報を参照して利用可能なAnd-Notオペレータ等の機能の情報をワークエリアへ入力し、図35ので図46のQueryオブジェクトをワークエリアへ入力する。

0230

図35のでは、図46のQueryRootオブジェクトのリンクをたどってFromExpr、SelectList、QueryExpr、OrderByListを抽出し、図35のではQueryオブジェクトのリンクをたどってQueryRootオブジェクトを抽出する。次に図35の以下の処理を行ってAnd-Notオペレータを含むQueryExprを解釈し、図35のでAnd-Notの処理を行う検索エンジン向け検索式を生成する。

0231

次にQueryExprを解釈する手順を図36を用いて説明する。
処理対象のカレントノードを開始ノードに初期設定する。
オペレータの定義情報に従い、オペレータのオペランドを解釈する。
解釈結果をバッファに格納する。
オペランド中に入れ子があるかどうかを調べる。
オペランド中に入れ子のオペレータがある場合には、カレントノードを下位(入れ子オペレータのレベル)へ移動し、へ戻る。
オペランド中に入れ子がない場合には、カレントノードが開始ノードかどうかを調べる。
カレントノードが開始ノードではない場合には、カレントノードを上位(上位オペレータレベル)へ移動する。
他にオペレータがあるかどうかを調べ、他のオペレータがある場合にはに戻り、他のオペレータがない場合にはに戻る。
カレントノードが開始ノードである場合には、バッファに格納した解釈結果を出力する。

0232

例えば図46の検索条件により属性検索を行う場合のQueryExprを解釈する場合には、まず図36ので、処理対象を示すカレントノードを図46のツリーのQueryExprの最初のポイントに初期設定する。

0233

図36のでは、オペレータの定義情報に従って図46のQueryExprの各ノードに記述されているAnd-Notオペレータのオペランドを解釈し、図36のではその解釈結果をバッファに格納する。

0234

図36のではオペランド中に入れ子があるかどうかを調べ、オペランド中に入れ子のオペレータがある場合には、図36のでカレントノードを下位(入れ子オペレータのレベル)へ移動して下位のオペレータの解釈を行う。

0235

グローバル検索を行う場合も同様に、グローバル文書空間管理サーバ201へコネクト後、目的とする検索を行う為のQueryオブジェクトを生成し、これをグローバル文書空間管理サーバ201に渡して検索処理を依頼する。この時、対象とする複数の文書空間管理サーバに一括して検索要求を発行することでグローバル検索を実行することができる。

0236

この際のQueryオブジェクトの生成及び解釈は、上記ローカル検索の場合と同様の手順によって行われる。これにより検索結果を取得することが可能となる。アプリケーションプログラムは検索結果を確認して文書実体を取得する必要のある文書を特定した後、文書空間管理サーバへコネクトして文書実体を取得する。

0237

前記の例では属性検索にAnd-Notオペレータを用いたが、全文検索でAnd-Notオペレータを用いても良い。

0238

図47は本実施形態のAnd-Notオペレータの全文検索の例を示す図である。図47では、And-Notオペレータを使用したランキング検索を指示するQueryオブジェクトとして「文書中に“鈴木”という文字列を含み、“日立”という文字列を含まない。」という検索条件を設定している。

0239

この検索条件により全文検索を行う場合には、まず図33のでこの検索条件をワークエリアへ入力する。図33のではこの検索要求が全文検索であるか属性検索であるかを判定し、当該検索要求は全文検索を行うものであるので図33の以下の処理を行って、図33のでAnd-Notオペレータを有するQueryExprを生成する。

0240

すなわち図34ので処理対象を示すカレントノードを図47のツリーのQueryExprの最初のポイントに初期設定し、図34のではノードに設定するオペレータが全文検索を行うものであるかどうかを調べ、ここでは全文検索を行うので図34の以下の処理でContains_with_scoreオペレータ及びAnd-Notオペレータを図47に示す様にQueryExprのノードに設定する。

0241

また図47の検索条件により全文検索を行うQueryオブジェクトを解釈する場合には、まず図35ので検索向けオペレータ、クラスの定義情報を参照して利用可能なAnd-Notオペレータ等の機能の情報をワークエリアへ入力し、図35ので図47のQueryオブジェクトをワークエリアへ入力する。

0242

図35のでは、図47のQueryRootオブジェクトのリンクをたどってFromExpr、SelectList、QueryExpr、OrderByListを抽出し、図35のではQueryオブジェクトのリンクをたどってQueryRootオブジェクトを抽出する。次に図35の以下の処理を行ってAnd-Notオペレータを含むQueryExprを解釈する。

0243

すなわち図36ので処理対象を示すカレントノードを図47のツリーのQueryExprの最初のポイントに初期設定し、図36のでオペレータの定義情報に従って図47のQueryExprの各ノードに記述されているAnd-Notオペレータのオペランドを解釈して図36のでその解釈結果をバッファに格納する。

0244

図36のではオペランド中に入れ子があるかどうかを調べ、オペランド中に入れ子のオペレータがある場合には、図36のでカレントノードを下位(入れ子オペレータのレベル)へ移動して下位のオペレータの解釈を行う。

0245

この様にQueryExpr等の解釈が終了すると、図35のでAnd-Notの処理を行う検索エンジン向け検索式を生成して、And-Notオペレータを使用した全文検索を行う。

0246

前記の様に本実施形態では、従来の検索の枠組みを損なうことなく、新たにAnd-Notオペレータを導入することにより、Z39.50検索仕様に対応可能な検索機能を実現することが可能となる。すなわち従来の検索機能を容易に拡張し、より高機能な検索機能を実現することが可能となる。

0247

以上の様に本実施形態によれば、DMAミドルウェアを用いた文書管理システム、あるいは文書空間内の文書情報を検索する際にSQLベースのQueryオブジェクトを用いて検索を行い、かつ属性検索機能、全文検索機能あるいは両者を有する、DMAミドルウェアと同様な検索機能仕様を包含するミドルウェアを用いた文書管理システムにおいて、新たにAnd-Notオペレータを導入することにより、文書空間の文書を検索するためのZ39.50検索仕様に対応可能な検索機能を既存の検索機能を拡張して容易に実現することが可能となる。その結果、従来の検索仕様の枠組みを損なうことなく、Z39.50検索も包含する枠組みへと容易に拡張することができ、検索機能を向上することができるという効果が得られる。

0248

以上説明した様に本実施形態の文書管理システムによれば、検索仕様を拡張してAnd-Notオペレータを利用可能としているので、Z39.50検索仕様に対応可能な検索機能を実現することが可能である。

発明の効果

0249

本発明によれば全文検索機能を指定する為のオペレータ及びクラスを導入しているので、文書管理システムの検索仕様を拡張して文書管理システムの検索機能向上を図ることが可能である。また本発明によれば、検索仕様を拡張してAnd-Notオペレータを利用可能としているので、Z39.50検索仕様に対応可能な検索機能を実現することが可能である。

図面の簡単な説明

0250

図1実施形態1の文書管理システムの原理図を示す図である。
図2実施形態1の文書管理システムの全体構成を示す図である。
図3実施形態1の登録クライアント101の概略構成を示す図である。
図4実施形態1の参照クライアント102の概略構成を示す図である。
図5実施形態1の検索クライアント103の概略構成を示す図である。
図6実施形態1のグローバル文書空間管理サーバ201の概略構成を示す図である。
図7実施形態1の文書空間管理サーバ301の概略構成を示す図である。
図8実施形態1のContainsオペレータのオペレータ仕様及びオペランド仕様を示す図である。
図9実施形態1のContainsオペレータの例を示す図である。
図10実施形態1のContains_with_scoreオペレータのオペレータ仕様及びオペランド仕様を示す図である。
図11実施形態1のContains_with_scoreオペレータの例を示す図である。
図12実施形態1のEqual_Contentオペレータのオペレータ仕様及びオペランド仕様を示す図である。
図13実施形態1のEqual_Contentオペレータの第1の例を示す図である。
図14実施形態1のEqual_Contentオペレータの第2の例を示す図である。
図15実施形態1のEqual_Contentオペレータのオペレータ仕様及びオペランド仕様を示す図である。
図16実施形態1のEqual_Contentオペレータの第3の例を示す図である。
図17実施形態1のProxオペレータのオペレータ仕様を示す図である。
図18実施形態1のProxオペレータのオペランド仕様を示す図である。
図19実施形態1のProxオペレータの例を示す図である。
図20実施形態1のSoundexオペレータのオペレータ仕様を示す図である。
図21実施形態1のSoundexオペレータの例を示す図である。
図22実施形態1のSynonymオペレータのオペレータ仕様を示す図である。
図23実施形態1のSynonymオペレータの例を示す図である。
図24実施形態1の文書管理システムのSynonymオペレータとSoundexオペレータを組合せた例を示す図である。
図25実施形態1のContentSearchクラスのプロパティ仕様を示す図である。
図26実施形態1のContentSearchクラスの例を示す図である。
図27実施形態1のQueryConstWeightedStringクラスのプロパティ仕様を示す図である。
図28実施形態1のQueryConstWeightedStringクラスの例を示す図である。
図29実施形態1のQueryConstWeightedStringsクラスのプロパティ仕様を示す図である。
図30実施形態1のQueryConstWeightedStringsクラスの例を示す図である。
図31実施形態1のQueryPropertyWithWeightedStructクラスのプロパティ仕様を示す図である。
図32実施形態1のQueryPropertyWithWeightedStructクラスの例を示す図である。
図33実施形態1のQueryオブジェクト生成の処理手順を示すフローチャートである。
図34実施形態1のQueryExpr生成の処理手順を示すフローチャートである。
図35実施形態1のQueryオブジェクト解釈の処理手順を示すフローチャートである。
図36実施形態1のQueryExpr解釈の処理手順を示すフローチャートである。
図37実施形態1のランキング検索を指示するQueryオブジェクトの例を示す図である。
図38実施形態1の近傍条件検索を指示するQueryオブジェクトの例を示す図である。
図39従来のDMA仕様の示すアーキテクチャの概要を示す図である。
図40従来の文書管理システムのアプリケーションプログラムが文書空間内の文書にアクセスする手順を示す図である。
図41従来のローカル検索の手順を示す図である。
図42従来のグローバル検索の手順を示す図である。
図43実施形態2の文書管理システムの原理を示す図である。
図44実施形態2のAnd-Notオペレータのオペレータ仕様及びオペランド仕様を示す図である。
図45実施形態2のAnd-Notオペレータの例を示す図である。
図46実施形態2の属性検索を行う際のQuery記述の例を示す図である。
図47実施形態2のAnd-Notオペレータの全文検索の例を示す図である。

--

0251

146…Queryオブジェクト生成プログラム、147…全文検索向けオペレータ定義情報格納領域、148…全文検索向けクラス定義情報格納領域、155…Queryオブジェクト解釈プログラム、156…全文検索向けオペレータ定義情報格納領域、157…全文検索向けクラス定義情報格納領域、167…Queryオブジェクト解釈プログラム、168…全文検索向けオペレータ定義情報格納領域、169…全文検索向けクラス定義情報格納領域。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ