JP4887620B2 - 文書検索装置および方法 - Google Patents

文書検索装置および方法 Download PDF

Info

Publication number
JP4887620B2
JP4887620B2 JP2004357866A JP2004357866A JP4887620B2 JP 4887620 B2 JP4887620 B2 JP 4887620B2 JP 2004357866 A JP2004357866 A JP 2004357866A JP 2004357866 A JP2004357866 A JP 2004357866A JP 4887620 B2 JP4887620 B2 JP 4887620B2
Authority
JP
Japan
Prior art keywords
search
document
user
search condition
accessible
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.)
Expired - Fee Related
Application number
JP2004357866A
Other languages
English (en)
Other versions
JP2006164123A (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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation 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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2004357866A priority Critical patent/JP4887620B2/ja
Publication of JP2006164123A publication Critical patent/JP2006164123A/ja
Application granted granted Critical
Publication of JP4887620B2 publication Critical patent/JP4887620B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Description

この発明は、文書検索技術に関し、とくに、文書に対してユーザ毎のアクセス権が管理された文書管理システムに用いて最適な文書検索技術に関する。
文書に対してユーザ毎のアクセス権制御が可能な大規模文書管理システムにおいて、検索用インデックスデータ等にユーザのアクセス権制御データを保持しない構成を前提した場合、検索モジュールから出力された検索結果に対してさらにユーザのアクセス権チェックを行い、そのチェック結果を最終的な検索結果とする必要がある。
ここで、文書管理システムを構成する検索モジュールに検索結果取得の上限がある場合、例えば、10万件のヒットで検索を打ち切り、その後アクセス権チェックで、その10万件内には、検索ユーザのアクセス権がないものばかりで、最終的な検索結果が0件になる可能性がある。
このように、検索モジュールの検索結果取得に上限がある大規模文書管理システムでは、あるユーザにアクセス権があるはずなのに検索結果として得られないという問題がある。
この課題に対して、以下のような方策がとられている。
特許文献1では、検索対象のレコード(インデックスのレコード)にあらかじめユーザ毎のアクセス権情報をもたせる方法がとられている。このような方法ではユーザの追加/削除や、レコードに対するアクセス権変更などを行う場合、レコード数が大規模になった場合、そのユーザに対するアクセス権を各レコードに対してメンテナンスする煩雑な処理が必要となってしまう。また、この方法を利用して文書内容の全文検索に利用しようとした場合、文書内容もレコードの属性となり、データ自体が検索効率を上げるために検索用のインデックスデータを利用している場合、インデックス自体も大規模になり、インデックスのメンテナンスに要する処理時間も増大することになる。このため大規模文書管理システムでの利用には不向きとなる。
特開2001−75854公報
この発明は、以上の事情を考慮してなされたものであり、利用する検索モジュールに検索結果取得の上限がある場合でも、検索ユーザが本来アクセス可能な文書管理システム内の文書を検索結果として得られるようにする文書検索技術を提供することを目的としている。
まず、この発明の原理的な構成例を説明する。
この発明の構成例では、検索対象の文書を管理する文書管理システムは、ユーザ毎のアクセス権を制御する。文書管理システムを構成する検索モジュール、すなわち、文書管理システムが管理する文書を検索する検索モジュールは、検索用インデックス内にユーザ毎のアクセス権情報を保持せず、文書管理システムが直接または間接に管理する、文書ごとのユーザのアクセス権情報を用いて検索結果のフィルタリングを行なう。
この構成例で、具体的には、検索モジュールは、ある検索条件に対する検索結果として文書識別子集合を出力する。その文書識別子は文書管理システム内で文書を一意に特定することができる情報である。検索結果の文書識別子集合に対して、文書ごとにユーザのアクセス権情報が管理されたデータを用いて、検索結果に対するアクセス権チェック(フィルタリング)が可能である。
検索モジュールが1度に検索可能な上限数が決まっている場合、検索後にアクセス権チェックを行うとアクセス可能な文書がなくなるため、または少なくなるため、あらかじめ検索対象の文書識別子集合を求め、文書識別子集合の論理和条件を、ユーザが与えた検索条件に論理積で連結した検索方法を採用する。ただし、一般的に、論理和の条件数に応じて検索時間も比例して増大してしまうのため、以下のような方法で検索条件を切り替える。
検索モジュールに検索結果取得可能な上限(N件)がある場合、ユーザが与えた検索条件で検索を実行する。ユーザが与えた検索条件による検索結果のヒット件数(HC件)がN件以下である(HC<=N、所定の整数)ならば、全検索結果を取得し、その結果に対して検索ユーザのアクセス権チェックを行い、アクセス権のある結果のみを検索結果としてユーザに提示する。HC件がN件を越える(HC>N)場合、検索ユーザがアクセス可能な検索範囲内の文書識別子集合を、ユーザが与えたキーワード検索条件に論理積で加え、検索結果を取得する。ここで取得した結果は既にアクセス権チェック済みの結果であり、そのままユーザに提示する。
このような検索処理の制御を行なうことにより、1度に検索可能な上限数の制約がある場合に、アクセス可能な検索結果が減少したり、なくなってしまうという不具合(上限数制約時の検索漏れ)を解消できる。
この発明の他の構成例は、上述の構成例を処理コストの上での改善を実現する。すなわち、検索ユーザがアクセス可能な検索範囲内の文書識別子集合は論理和で処理される。論理和を加えて検索するコストは一般的に論理和の条件数に比例して大きくなるため、アクセス可能な検索範囲内の文書識別子集合が大きい場合、すべての検索結果を取得するコストが非常に大きくなる可能性がある。当該他の構成例では、これを回避するために、さらに処理手順を工夫する。
[1] 検索範囲内の文書識別子集合がある指定した数(これをMとする。MはNより大きな整数)以上だった場合、ループ処理を行わず、検索結果を取得し検索結果を表示する。結果とともに、すべての検索結果が表示されていないことを示すメッセージを表示する。
提示された検索結果に求める文書が含まれない場合には、さらに検索範囲や検索条件を絞り込んで検索することで目的の文書を取得できる。
[2] 文書識別子を整数とし、検索インデックスに入れておく。「a<=文書識別子 AND 文書識別子<=b」という条件をユーザ指定の検索条件に論理和として加え、検索を繰り返す。ここで、ループ開始時には、a=文書識別子集合に含まれる識別子の最小値、b=a+Nとし、a、bの値はループ毎にNを追加する。bが文書識別子集合に含まれる最大値に達した時点でループを終了する。そのあとで、検索結果フィルタリングサブモジュールで、取得した結果がIDsに含まれるものだけにする。
一般的に整数の範囲指定で検索することは論理和で検索するより高速なので、検索範囲内の文書識別子集合が大きい場合には全体の検索時間を高速化できる。文書識別子が整数でない場合、なんらかの関数で識別子を整数にマッピングしてもよい。
たとえば、文書識別子の一部に一意な整数が含まれる場合(Document−10など)、整数部分を切り出してこれを検索インデックスに入れておけばよい。また、文書識別子の文字列の一部に整数部分を含まない場合でも、文字列全体をなんらかの可逆な方法(例えばハッシュ関数)で数値に変換すればよい。
さらに、この発明を説明する。以下では、説明の便宜上実施例における参照符号を付すが、これはこの発明を限定する趣旨ではないことに留意されたい。
この発明の一側面によれば、上述の目的を達成するために、文書検索装置(1000)に:検索ユーザの指定に基づいて入力された検索条件を、上記検索ユーザがアクセス可能な文書の文書識別子集合との論理積を含む新たな検索条件に変換する検索条件変換手段(62)と;上記新たな検索条件を受け取って検索用データベースを参照して上記新たな検索条件に合致する文書識別子を取得数の上限の範囲で検索結果として出力する検索手段(70)と;上記検索手段による検索結果を出力する出力手段(64)とを設けている。
この構成においては、当初の検索条件をユーザのアクセス可能性を反映させた新たな検索条件に変換したのち検索するようにしているので、検索結果の取得上限により検索結果が絞り込まれすぎてアクセス可能なものが漏れてしまうという問題を解消できる。
この構成において、当初の検索結果の取得数等に応じて検索モードを切り替えるようにしても良い。すなわち、上述の文書検索装置(1000)に:さらに、上記検索ユーザの指定に基づいて入力された検索条件に対して上記検索手段が行なった検索の検索結果から、上記検索ユーザがアクセスできる文書の文書識別子のみ取り出すフィルタリング手段(61)を設け;上記出力手段が(a)上記フィルタリング手段により取り出される文書識別子、および(b)上記検索条件変換手段により変換された上記新たな検索条件に対する上記検索手段による検索結果の一方を、出力するようにしても良い。
この場合、通常の検索結果をアクセス可能性で絞り込んだ結果と、アクセス可能性を加味した新たな検索条件により検索結果とという2つの検索モードの出力を択一的に出力できる。どのような検索モードの出力をえるかはユーザが指定しても良いし、当初の検索結果の取得数に応じて決定しても良い。
また、この構成において、上述の文書検索装置(1000)に:さらに、上記検索ユーザの指定に基づいて入力された検索条件に対して上記検索手段が行なった検索の検索結果から、上記検索ユーザがアクセスできる文書の文書識別子のみ取り出すフィルタリング手段とを設け;上記出力手段が、(a)上記文書識別子の取得数が所定数を越える場合に上記検索条件変換手段により変換された上記新たな検索条件に対する上記検索手段による検索結果を出力し、(b)上記文書識別子の取得数が上記所定数を越えない場合に上記フィルタリング手段により取り出される文書識別子を出力するようにしてもよい。
上記所定数は例えば上記取得数の上限である。
この場合、当初の検索条件の取得数が上限を越える場合には、アクセス可能性を加味した新たな検索条件を生成して検索を行い、そうでない場合には、当初の検索を行なう。当初の検索は論理和演算が少ないので、その分、効率的な処理が可能となる。
上記所定数は厳密に上記取得数の上限に一致させなくともよい。この場合、検索漏れや効率の低下のペナルティがありえるが、当該ペナルティがわずかであり、問題にならない場合も多い。
この構成において、上記検索条件は、検索範囲とキーワードによる論理式とを含んで記述され、上記検索範囲に含まれ、上記検索ユーザがアクセスできる文書の文書識別子集合を取得し、上記検索条件を、上記文書識別子集合と上記キーワードによる論理式との論理積からなる新たな検索条件に変換することが好ましい。上記検索範囲はユーザの指定により、または、無指定で入力することも可能である。
また、この構成において、上記検索ユーザがアクセス可能な文書識別子集合の要素数が上記取得数の上限より大きな所定数を超えた場合には、上記検索条件変換手段から上記検索手段への上記新たな検索条件の入力を禁止することが好ましい。これにより、論理和演算によるコストが多大になるのを抑制できる。
あるいは、この構成において、上記検索ユーザがアクセス可能な文書識別子集合の要素数が上記取得数の上限より大きな所定数を超えた場合には、上記検索条件変換手段では、上記文書識別子集合の要素数が上記取得数の上限以下になるように、複数の集合に分割して複数の新たな検索条件に変換し、各々の新たな検索条件による検索結果の合計数が上記所定数になった時点で、検索を禁止して所定数の検索結果として出力する。この場合、検索結果からもれている、上記検索ユーザがアクセス可能な文書があり得ることを表示することが好ましい。
また、上記検索ユーザがアクセス可能な文書識別子集合の要素数が上記取得数の上限より大きな所定数を超えた場合には、上記フィルタリング手段により取り出される文書識別子を出力することが好ましい。
この場合、上記検索ユーザがアクセス可能な文書識別子集合の要素数が上記取得数の上限より大きな所定数を超えた場合には、検索結果からもれている、上記検索ユーザがアクセス可能な文書があり得ることを表示することが好ましい。
また、この発明の他の側面によれば、上述の目的を達成するために、文書検索装置(1000)に:検索ユーザの指定に基づいて入力された検索条件を、文書識別子をなす整数または文書識別子に対応づけられた整数により規定される検索範囲を分割して得た複数の整数範囲の各々との論理積を含む新たな検索条件に変換する検索条件変換手段(62)と、
上記新たな検索条件を受け取って検索用データベースを参照して上記新たな検索条件に合致する文書識別子を取得数の上限の範囲で検索結果として出力する検索手段(70)と、
上記検索結果から、上記検索ユーザがアクセスできる文書の文書識別子のみ取り出すフィルタリング手段(61)と、
上記フィルタリング手段により取り出される文書識別子を出力する出力手段(64)とを設けている。
この構成においても、取得上限のある検索モジュールを用いた場合でも、少ない計算機コストで、もれのないあるいはもれの少ない検索を実現できる。
この構成において、上記複数の整数範囲は要素数が所定数例えば上記取得数の上限になるように上記検索範囲を分割することが好ましい。
上記整数は、文書識別子の少なくとも一部を構成することが好ましい。また、上記整数は、文書識別子を可逆の関数を用いて変換した変換結果であってもよい。
なお、この発明は装置またはシステムとして実現できるのみでなく、方法としても実現可能である。また、そのような発明の一部をソフトウェアとして構成することができることはもちろんである。またそのようなソフトウェアをコンピュータに実行させるために用いるソフトウェア製品もこの発明の技術的な範囲に含まれることも当然である。
この発明の上述の側面および他の側面は特許請求の範囲に記載され以下実施例を用いて詳述される。
この発明によれば、利用する検索モジュールに検索結果取得の上限がある場合でも、検索ユーザが本来アクセス可能な文書管理システム内の文書を検索結果として得られるようにすることができる。また、具体的な例では、検索結果取得数に応じて検索モードを切り替えて論理和演算を伴う修正された検索条件による計算コストの上昇を抑制できる。
以下、この発明の実施例について説明する。
図1は、この発明の実施例の文書管理システム(1000)を全体として示す。この例では、1つの装置として構成しているが、通信ネットワークで接続されたサーバコンピュータおよびクライアント装置で構成しても良い。文書管理システム(1000)の各部は機能ブロック(モジュール)として示されるが、これら各部は、実際には、コンピュータのハードウェアリソースおよびソフトウェアリソースを協働させて構成される。文書管理システム(1000)は例えばプログラムを記録した記録媒体(1002)等を用いてコンピュータ(1001)にインストールできる。
図1において、文書管理システム(1000)は、ユーザインタフェースモジュール(10)、文書管理モジュール(20)、文書管理データベース(30)、ユーザ管理モジュール(40)、ユーザデータベース(50)、検索処理制御モジュール(60)、検索モジュール(70)、検索インデックスデータベース(80)等を含んで構成される。検索処理制御モジュール(60)は、検索結果フィルタリングサブモジュール(61)、検索条件編集サブモジュール(62)、文書識別子集合データ取得サブモジュール(63)および検索結果出力モジュール(64)を含んで構成される。
ユーザインタフェースモジュール(10)は、ユーザとシステムの界面を提供する。ユーザインタフェースモジュール(10)は、具体的には、文書管理モジュール(20)に対して文書の登録/更新/削除/参照/文書のアクセス権設定などの操作を依頼し、ユーザ管理モジュール(40)に対してユーザの登録/更新/削除の操作を依頼し、検索処理制御モジュール(60)に対して検索依頼/検索結果取得の操作を依頼する。
文書管理モジュール(20)は、ユーザインタフェースモジュール(10)を介して登録された文書を保存し、保存された各文書に対して、ユーザ管理モジュール(40)で管理されたユーザごとのアクセス権情報を、文書管理データベース(30)に保持する。文書管理データベース(30)は、図2に示すように文書識別子ごとに1つ以上の属性情報と個々のユーザに対するアクセス権情報が管理されている。属性情報には例えば所有者情報等が含まれる。アクセス権情報は、ユーザ、グループ、所有者等に対するアクセスレベルを記述する。アクセスレベルは、例えば、検索表示、読み出し、書き込み(読み出し可)、全権利等である。また、文書管理モジュール(20)は、検索処理制御モジュール(60)具体的にはその文書識別子集合取得サブモジュール(63)からの依頼により、ユーザ情報と検索範囲(図4を参照して後述する)から検索ユーザがアクセス可能な文書識別子集合を提供する。文書管理データベース30は文書を保管しても良いし、別途リポジトリを設けても良い。
ユーザ管理モジュール(40)は、文書管理システム1000におけるユーザ情報を管理する。このユーザ情報にはグループ情報や認証情報(パスワード)等も含まれる。
検索処理制御モジュール(60)は、ユーザインタフェースモジュール(10)から依頼された検索条件に基づき、文書管理モジュール(20)および検索モジュール(70)を用いて検索結果を求める。このとき、ユーザが与えた検索条件から検索結果を得るまでの処理を効率的に行うために、検索処理制御モジュール(60)は検索条件編集サブモジュール(62)および検索結果フィルタリングサブモジュール(61)を利用する。
検索条件編集サブモジュール(62)は、ユーザから与えられた検索条件の検索範囲を検索ユーザがアクセス可能な文書識別子集合の論理和条件式に変換する(図4参照)。このとき、検索処理制御モジュール(60)の制御により、ユーザが与えた「検索範囲」を1つの検索識別子集合としたシステム内部の検索条件に変換したり、複数の検索識別子集合としたシステム内部の検索条件に変換したりする。
例えば、図4の例では、検索条件が検索範囲およびキーワードおよび論理演算子を用いて記述した検索式により指定される(図4(a))。具体的には、検索ユーザが、ユーザインタフェースモジュール10を介して検索範囲として「フォルダA」および「フォルダB」を指定し(「フォルダA」OR「フォルダB」)、検索式として「キーワード1」AND(「キーワード2」OR「キーワード3」)を指定する(図4(b))。システム内部の検索条件の例1(図4(c))では、検索範囲を、『検索ユーザがアクセス可能な「フォルダA」および「フォルダB」内の文書の文書識別子集合の論理和』に変換する。あるいは、システム内部の検索条件の例2(図4(d))に示すように、検索範囲を、『検索ユーザがアクセス可能な「フォルダA」内の文書の文書識別子集合の論理和』および『検索ユーザがアクセス可能な「フォルダB」内の文書の文書識別子集合の論理和』に2つに分けて変換する。
検索条件編集サブモジュール(62)で編集した検索条件を用いて、検索モジュール(70)で検索された結果は、アクセス権チェック済みの結果であり、ユーザへそのまま提示可能である。
検索結果フィルタリングサブモジュール(61)では、検索範囲を除いたキーワードによる検索条件を用いて検索モジュール(70)で検索した結果(アクセス権未チェック結果)に対して、現ユーザがアクセス可能な検索範囲内の文書識別子にフィルタリングすることにより、アクセス権チェック済みの検索結果となり、ユーザへ提示可能である。
検索モジュール(70)は、検索インデックスデータベース80を参照して検索を行なう。検索インデックスデータベース80は、図3に示したようにキーワードからそれを含む文書の文書識別子を得るための検索インデックスを保持し、検索モジュール(70)はこの検索インデックスを用いて検索処理制御モジュール(60)から与えられた検索条件に合致した検索結果として文書識別子集合を返す。
検索処理制御モジュール60の検索結果出力サブモジュール64は、当初の検索結果の取得数が取得上限N以下の場合には当初の検索結果を検索結果フィルタリングサブモジュール61でフィルタリングした文書識別子集合を出力し、当初の検索結果の取得数が所得上限Nを上回った場合には検索条件編集サブモジュール62で編集した検索条件による検索結果を出力する。出力結果はユーザインタフェースモジュール10を介してユーザに提示される。
図5は、この実施例の検索処理例を示しており、この図において、検索処理制御モジュール60の制御処理は以下のとおり行なわれる。
[ステップS10]:検索ユーザがアクセス可能な検索範囲内の文書識別子集合(IDs)を求める。
[ステップS11]:検索処理制御モジュール60から検索モジュール70へ文書識別子指定なしで検索要求を送る。
[ステップS12]:検索モジュール70から検索結果件数(HC)を取得する。
[ステップS13]:検索結果件数(HC)が上限以下(HC<=N)であればステップS14へ進み、検索結果件数(HC)が上限を越えていればステップS17へ進む。
[ステップS14]:検索モジュール70から検索結果を取得する。
[ステップS15]:検索結果フィルタリングサブモジュール61を用いて、検索結果を、検索ユーザがアクセス可能な検索範囲内の文書識別子集合(IDs)に含まれるものだけに絞り込む。
[ステップS16]:ユーザインタフェースモジュール10を介して、最終的な検索結果をユーザに提示する。
[ステップS17]:検索条件編集サブモジュール62で生成した検索条件を検索モジュール70の出力する。検索条件が複数に分かれている場合にはそれぞれの検索条件について検索条件を出力する。
[ステップS18]:検索モジュールから検索結果を取得する。
[ステップS19]:複数回ループして得られた検索結果をまとめ、ステップS16へ進む。検索条件が1つで済む場合には、そのままステップS16に進む。
つぎに上述実施例の変形例について説明する。一般的に、論理和を加えて検索するコストは論理和の条件数に比例して大きくなるため、アクセス可能な検索範囲内の文書識別子集合が大きい場合、すべての検索結果を取得するコストが非常に大きくなる可能性がある。以下説明する変形例はこれを回避するためのものである。
図6は、第1の変形例の検索制御処理例を示している。この図において図5と対応する箇所には対応する符号を付した。
この変形例では、当初の検索取得数が上限を越える(HC>N)場合でも、検索範囲内の文書識別子集合がある指定した数(これをMとする。ただしM>N)以上だった場合には、ループ処理(検索範囲を文書識別子集合の和に変換した検索条件の処理)を行わず、検索モジュール70から検索結果を取得し、検索結果フィルタリングサブモジュールで取得した結果を表示する(ステップS20)。検索結果とともに、すべての検索結果が表示されていないことを示すメッセージを表示することが好ましい。
提示された検索結果に求める文書が含まれない場合には、さらに検索範囲や検索条件を絞り込んで検索することで目的の文書を取得できる。あるいは、事後的に、文書識別子数Mの制限の解除をユーザが指定して、再度検索を行い、強制的にループ処理(検索範囲を文書識別子集合の和に変換した検索条件の処理)を行なって目的の文書を取得できるようにしてもよい。当初から、ユーザが文書識別子数Mの制限の設定・解除をオプションで指定できるようにしても良い。
図6の処理は、基本的には、図5のステップS13を上述のステップS20に代えただけであるので、詳細な説明は繰り返さない。
この変形例では、文書識別子数Mにより検索処理コストが課題になるのを抑制できる。
図7は、第2の変形例の検索制御処理例を示している。この図においても図5と対応する箇所には対応する符号を付した。
この変形例では、文書識別子を整数とし、検索インデックスに入れておく。「a<=「文書識別子」AND「文書識別子」<=b」という条件をユーザ指定の検索条件に論理和として加え、検索を繰り返す。ここで、ループ開始時には、a=文書識別子集合に含まれる識別子の最小値、b=a+Nとし、a、bの値はループ毎にN追加する。bが文書識別子集合に含まれる最大値に達した時点でループを終了する。そのあとで、検索結果フィルタリングサブモジュールで、取得した結果が、検索ユーザがアクセス可能な検索範囲内の文書識別子集合(IDs)に含まれるものだけにする。
一般的に整数の範囲指定で検索することは論理和で検索するより高速なので、検索範囲内の文書識別子集合が大きい場合には全体の検索時間を高速化できる。文書識別子が整数でない場合、なんらかの関数で識別子を整数にマッピングしてもよい。たとえば、文書識別子の一部に一意な整数が含まれる場合(Document−10など)、整数部分を切り出してこれを検索インデックスに入れておけばよい。また、文書識別子の文字列の一部に整数部分を含まない場合でも、文字列全体をなんらかの可逆な方法(例えばハッシュ関数)で数値に変換すればよい。
なお、整数範囲を規定する数(N)を上限Nより小さなものとしてもよいし、若干の取りこぼしを無視すれば上限Nより大きくても良い。
図7の処理は以下のとおりである。
[ステップS10]:検索ユーザがアクセス可能な検索範囲内の文書識別子集合(IDs)を求める。
[ステップS11]:検索処理制御モジュール60から検索モジュール70へ文書識別子指定なしで検索要求を送る。
[ステップS12]:検索モジュール70から検索結果件数(HC)を取得する。
[ステップS13]:検索結果件数(HC)が上限以下(HC<=N)であればステップS14へ進み、検索結果件数(HC)が上限を越えていればステップS21へ進む。
[ステップS14]:検索モジュール70から検索結果を取得する。
[ステップS15]:検索結果フィルタリングサブモジュール61を用いて、検索結果を、検索ユーザがアクセス可能な検索範囲内の文書識別子集合(IDs)に含まれるものだけに絞り込む。
[ステップS16]:ユーザインタフェースモジュール10を介して、最終的な検索結果をユーザに提示する。
[ステップS21]:検索条件編集サブモジュール62で生成した検索条件(『a<「文書識別子」AND「文書識別子」<b AND キーワード条件』)を検索モジュール70の出力する。検索条件が複数に分かれている場合にはそれぞれの検索条件について検索条件を出力する。
[ステップS18]:検索モジュールから検索結果を取得する。
[ステップS22]:複数回ループして得られた検索結果をまとめ、ステップS15へ進み、アクセス可能な文書に絞り込む。
この変形例では、整数の範囲指定で検索することによる高速処理が実現できる。
なお、この発明は上述の実施例に限定されるものではなくその趣旨を逸脱しない範囲で種々変更が可能である。例えば、上述例では、検索処理制御モジュールが検索結果取得数に基づいて検索条件編集モジュールにより検索式を自動的に修正するようにしているが、ユーザの指定に基づいて検索モードを切り替えて強制的に検索式を修正して検索を実行するようにしても良い。また、上述の実施例および変形例では、検索モジュールによる当初の検索結果の取得数が取得上限を上回らない場合には、検索条件を修正せずにそのまま検索を行なったが、いずれの場合でも検索条件を修正して処理するようにしても良い。また検索結果の取得数等を取得上限と比較したが、厳密に取得上限を基準としなくとも良い。例えば、当初の検索結果の取得数が取得上限を若干上回った場合でも当初の検索条件による検索結果をフィルタリングして最終的な検索結果としても良い。この場合には、若干の検索漏れが予定されるが、受忍できる場合も多いと考えられる。また、当初の検索結果の取得数が取得上限を下回った場合でも修正した検索条件による検索結果を最終的な検索結果としても良い。この場合、検索の繰り返し(ループ)数が増えるが、このような効率の若干の低下も受忍できる場合が多いと考えられる。また上述のアクセス可能とは典型的には読み出し可能であるが、検索表示可能、読み出し可能、書き込み可能等のいずれでもよい。
また、上述の例はキーワードインデックスを用いた検索を例に挙げたが、全文検索、自然文検索等種々の検索手法にも適用できることはもちろんである。
この発明の実施例の文書管理システムの構成を全体として示す図である。 上述実施例の文書管理データベースのレコードスキーマの例を説明する図である。 上述実施例の検索インデックスのレコード例を説明する図である。 上述実施例の検索条件の編集例を説明する図である。 上述実施例の動作例を説明するフローチャートである。 上述実施例の第1の変形例の動作例を説明するフローチャートである。 上述実施例の第2の変形例の動作例を説明するフローチャートである。
符号の説明
10 ユーザインタフェースモジュール
20 文書管理モジュール
30 文書管理データベース
40 ユーザ管理モジュール
50 ユーザデータベース
60 検索処理制御モジュール
61 検索結果フィルタリングサブモジュール
62 検索条件編集サブモジュール
63 文書識別子集合データ取得サブモジュール
64 検索結果出力サブモジュール
70 検索モジュール
80 検索インデックスデータベース
1000 文書管理システム
1001 コンピュータ
1002 記録媒体

Claims (4)

  1. コンピュータを、
    検索ユーザの指定に基づいて入力された検索条件を受け取って検索用データベースを参照して検索条件に合致する文書識別子を取得数の上限の範囲で検索結果として出力する検索手段、
    検索結果から、上記検索ユーザがアクセスできる文書の文書識別子のみ取り出すフィルタリング手段、
    上記検索ユーザがアクセス可能な文書識別子集合を文書管理手段から取得するアクセス可能文書識別子集合取得手段、
    上記検索手段による検索処理の検索条件に合致する上記文書識別子の取得数が上限を越える場合に、上記検索ユーザの指定に基づいて入力された検索条件を、当該検索条件と上記アクセス可能文書識別子取得手段が取得した上記検索ユーザがアクセス可能な文書識別子集合との論理積からなる新たな検索条件に変換して上記検索手段に入力する検索条件変換手段、および、
    (a)上記文書識別子の取得数が上限を越える場合に上記検索条件変換手段により変換された上記論理積からなる新たな検索条件に対する上記検索手段による検索結果を出力し、(b)上記文書識別子の取得数が上限を越えない場合に上記フィルタリング手段により取り出される文書識別子を出力する出力手段
    として機能させるための文書検索用コンピュータプログラム。
  2. 上記検索条件は、検索範囲とキーワードによる論理式とを含んで記述され、上記検索範囲に含まれ、上記検索ユーザがアクセスできる文書の文書識別子集合を取得し、上記検索条件を、上記文書識別子集合と上記キーワードによる論理式との論理積からなる新たな検索条件に変換する請求項1に記載の文書検索用コンピュータプログラム。
  3. 上記検索範囲はユーザの指定により、または、無指定で入力する請求項2記載の文書検索用コンピュータプログラム。
  4. 検索ユーザの指定に基づいて入力された検索条件を受け取って検索用データベースを参照して検索条件に合致する文書識別子を取得数の上限の範囲で検索結果として出力する検索手段と、
    検索結果から、上記検索ユーザがアクセスできる文書の文書識別子のみ取り出すフィルタリング手段と、
    上記検索ユーザがアクセス可能な文書識別子集合を文書管理手段から取得するアクセス可能文書識別子集合取得手段と、
    上記検索手段による検索処理の検索条件に合致する上記文書識別子の取得数が上限を越える場合に、上記検索ユーザの指定に基づいて入力された検索条件を、当該検索条件と上記アクセス可能文書識別子取得手段が取得した上記検索ユーザがアクセス可能な文書識別子集合との論理積からなる新たな検索条件に変換して上記検索手段に入力する検索条件変換手段と、
    (a)上記文書識別子の取得数が上限を越える場合に上記検索条件変換手段により変換された上記論理積からなる新たな検索条件に対する上記検索手段による検索結果を出力し、(b)上記文書識別子の取得数が上限を越えない場合に上記フィルタリング手段により取り出される文書識別子を出力する出力手段とを有することを特徴とする文書検索装置。
JP2004357866A 2004-12-10 2004-12-10 文書検索装置および方法 Expired - Fee Related JP4887620B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004357866A JP4887620B2 (ja) 2004-12-10 2004-12-10 文書検索装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004357866A JP4887620B2 (ja) 2004-12-10 2004-12-10 文書検索装置および方法

Publications (2)

Publication Number Publication Date
JP2006164123A JP2006164123A (ja) 2006-06-22
JP4887620B2 true JP4887620B2 (ja) 2012-02-29

Family

ID=36666050

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004357866A Expired - Fee Related JP4887620B2 (ja) 2004-12-10 2004-12-10 文書検索装置および方法

Country Status (1)

Country Link
JP (1) JP4887620B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5397983B2 (ja) * 2008-10-24 2014-01-22 Necシステムテクノロジー株式会社 ファイル管理システム、ファイル管理方法及びファイル管理プログラム
JP5340376B2 (ja) * 2011-12-28 2013-11-13 楽天株式会社 検索装置、検索方法、検索プログラム及び記録媒体
JP5542859B2 (ja) * 2012-02-14 2014-07-09 日本電信電話株式会社 ログ管理装置、ログ蓄積方法、ログ検索方法、およびプログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03263268A (ja) * 1990-03-14 1991-11-22 Oki Electric Ind Co Ltd デフォルト値表示設定方式
JPH07105223A (ja) * 1993-10-06 1995-04-21 Oki Electric Ind Co Ltd データベース検索装置
JPH10232878A (ja) * 1997-02-19 1998-09-02 Hitachi Ltd ドキュメント管理方法および装置
JP3664874B2 (ja) * 1998-03-28 2005-06-29 松下電器産業株式会社 文書検索装置
JP2000137727A (ja) * 1998-10-30 2000-05-16 Sharp Corp 情報管理システムにおけるファイル検索装置
JP2001344245A (ja) * 2000-03-29 2001-12-14 Fujitsu Ltd 情報処理装置
JP2002269120A (ja) * 2001-03-14 2002-09-20 Ricoh Co Ltd 文書分類装置、文書分類方法及び該文書分類方法を実行するプログラム記録媒体
JP2002368704A (ja) * 2001-06-08 2002-12-20 Nippon Telegr & Teleph Corp <Ntt> 情報配信装置
JP2003006194A (ja) * 2001-06-22 2003-01-10 Mitsubishi Electric Corp データベースアクセス制御システム
JP4114407B2 (ja) * 2002-06-06 2008-07-09 富士ゼロックス株式会社 関係表示装置
JP3702268B2 (ja) * 2002-11-29 2005-10-05 株式会社東芝 情報検索システム、情報検索方法およびプログラム
JP4140375B2 (ja) * 2002-12-19 2008-08-27 富士ゼロックス株式会社 サービス検索装置、サービス検索システム及びサービス検索プログラム

Also Published As

Publication number Publication date
JP2006164123A (ja) 2006-06-22

Similar Documents

Publication Publication Date Title
AU2005200166B2 (en) Searchable archive
US6801904B2 (en) System for keyword based searching over relational databases
US7406477B2 (en) Database system with methodology for automated determination and selection of optimal indexes
US8228542B2 (en) Systems and methods for storing multiple records using identifiers, storage locations, and attributes associated with electronic documents
US8965918B2 (en) Decomposed query conditions
JP6449093B2 (ja) 秘匿化データベースシステム及び秘匿化データ管理方法
US20110265177A1 (en) Search result presentation
JP4233564B2 (ja) データ処理装置、データ処理用のプログラムおよび記録媒体
US7680792B2 (en) Document management system and document management method
JP2009003549A (ja) データ管理装置およびデータ管理方法、データ管理プログラム、データ管理プログラム記憶媒体
US10146813B2 (en) Single table index relational database
JP4887620B2 (ja) 文書検索装置および方法
KR20090037704A (ko) 직관적 이미지 검색을 위한 이미지의 메타 데이터 생성방법
JP4879193B2 (ja) システムログ管理支援装置およびシステムログ管理支援方法
US20240045888A1 (en) Key name generation method and apparatus and non-transitory computer-readable storage medium
JP2011243066A (ja) 電子文書管理装置、表示方法、表示プログラムおよび記録媒体
JP2000250791A (ja) Dmlオブジェクト再生成時におけるメッセージ表示方法ならびに装置及び同方法がプログラムされ記録された記録媒体
KR20190008673A (ko) 비동기 방식을 사용하는 파일 색인장치 및 그 방법
JP5485831B2 (ja) 検索用索引自動生成装置を有するファイル検索システム
JP4874670B2 (ja) ポリシー管理装置、ポリシー管理プログラムおよびポリシー管理方法
JP4045283B2 (ja) データ管理装置およびデータ管理方法
US20160299913A1 (en) File lookup in a file system
JP3498926B2 (ja) 文書データベース管理システム
JP4111508B2 (ja) データ属性管理方法
JP2005316846A (ja) ファイル管理システムおよび方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100601

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110127

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: 20111115

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: 20111128

R150 Certificate of patent or registration of utility model

Ref document number: 4887620

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20141222

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees
S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370