説明

検索装置及びその制御方法、並びにコンピュータプログラム

【課題】アクセス権を考慮した高速の検索を行い、かつアクセス権変更があった場合も迅速に反映される検索方式を提案する。
【解決手段】検索装置であって、文書と、各文書に対する1または複数のユーザからなる1以上のユーザグループのアクセス権に関するアクセス権情報とを格納する文書データベースと、文書データベースを検索するための検索索引を、文書のそれぞれと関連づけて登録する検索索引テーブルと、検索指示を受け付ける受付手段と、アクセス権情報に変更があるか否かを判定する判定手段と、検索索引テーブルを用い、判定手段における判定結果に基づいて文書を検索する検索手段とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検索装置及びその制御方法、並びにコンピュータプログラムに関する。
【背景技術】
【0002】
近年、記憶メディアの大容量化等に伴って保管する文書数が増大し、オフィス内文書の検索の需要が高まっている。
【0003】
インターネット上の検索も近年重要度を増しつつあるが、そこでは広く一般に文書が公開されるのが常であり、厳格なアクセス権管理が考慮されることは通例ない。例えば、自分にとってアクセス権のない文書が見つかったとしても大きな問題にはならない。
【0004】
これに対し、オフィス内文書の検索においては、アクセス権管理が厳格に適用され、アクセス権のない文書が検索結果に表示されるような事態、すなわち、アクセスが許可されない文書の存在が検知されることは絶対に避けなければならない。このため、オフィス内文書の検索においてはアクセス権を考慮した検索の実現が極めて重要である。
【0005】
従来、アクセス権を考慮した検索の実現のために、様々な取り組みがなされてきた。例えば特許文献1においては、アクセス権ごとに検索インデックスを多数配置し、ユーザのアクセス権限に応じて参照するインデックスを変えることにより、アクセス権の無い文書が検索されることを防いでいる。
【0006】
特許文献2においては、アクセス権の無い文書が検索結果に含まれないように、通常の(アクセス権を考慮しない)検索を行った後、検索結果の文書のアクセス権をチェックし、除去する技術を開示している。
【0007】
特許文献3においては、アクセス権に関する情報を検索インデックスの中に構成し、高速でアクセス権判定ができる技術を提案している。
【特許文献1】特開2004−164555号公報
【特許文献2】特開2004−110664号公報
【特許文献3】特開2001−344245号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
このような過去の提案は、それぞれ一長一短であった。特許文献1の方式においては、アクセス権限の種類の数だけ異なるインデックスを用意しなければならず、複雑なアクセス権設定が事実上できず、単純なアクセス権のポリシーで運用を強いられるという問題がある。
【0009】
特許文献2の方式においては、通常の検索の後で、アクセス権のチェックを1文書1文書行うことになり、多数の文書がヒットした場合はアクセス権処理がボトルネックになってしまい、検索速度が上がらないという欠点がある。
【0010】
特許文献3の方式は、検索時間は短縮されるものの、アクセス権変更の際の処理時間が無視できなくなる。そもそも検索索引の作成は(検索そのものに比較すれば)、極めて時間のかかる処理であり、そのために、文書登録後であっても検索索引の作成までのタイムラグ(文書が登録されていても検索できない期間)を許容するシステムが多いのが現状である。通常の検索索引であれば、この事情もある程度許容できるが、アクセス権について同様に考えるわけにはいかない。なぜならアクセス権を取り消す場合はアクセスしてもらっては困る場合に行うのであり、しばらくの間であっても不正アクセスが許可されるのでは統制がとれないことになってしまう。以上のようにこれまでの提案では、どの方式にも欠点があり、決定打がないという状況であった。
【0011】
本発明は、上記の事情に基づき、アクセス権を考慮した高速の検索を行い、かつアクセス権変更があった場合も迅速に反映される検索方式を提案しようというものである。
【課題を解決するための手段】
【0012】
上記目的を達成するための本発明は検索装置であって、
文書と、各文書に対する1または複数のユーザからなる1以上のユーザグループのアクセス権に関するアクセス権情報とを格納する文書データベースと、
前記文書データベースを検索するための検索索引を、前記文書のそれぞれと関連づけて登録する検索索引テーブルと、
検索指示を受け付ける受付手段と、
前記アクセス権情報に変更があるか否かを判定する判定手段と、
前記検索索引テーブルを用い、前記判定手段における判定結果に基づいて文書を検索する検索手段とを備えることを特徴とする。
【発明の効果】
【0013】
本発明によれば、アクセス権を考慮した高速の検索を行い、かつアクセス権変更があった場合も迅速に反映される検索方式を提案しようというものである。
【発明を実施するための最良の形態】
【0014】
以下、図面を参照しながら本発明に好適な実施形態を詳細に説明する。
【0015】
<第1の実施形態>
図1は発明の実施形態に対応する検索装置の構成の一例を示すブロック図である。図示の検索装置100の構成において、CPU101はマイクロプロセッサであり、文書登録処理、アクセス権変更処理、検索処理、表示処理等のための演算、論理判断等を行い、バス115を介してバス115に接続された各構成要素を制御する。
【0016】
バス115は、CPU101の制御対象である各構成要素を指示するアドレス信号、コントロール信号を転送する。また、各構成要素間のデータ転送を行う。
【0017】
入力装置102はボタン、タッチパネル等のユーザ・インタフェースである。当該入力装置102は、本実施形態に対応する検索処理の実行を指示する検索指示受付のための操作部としても機能する。表示装置103は、画面表示を行うための表示装置であって、例えば液晶ディスプレイ、CRT等が含まれる。通信装置104は、通信回線を介して外部とのデータ交換を行うための通信装置である。
【0018】
ROM105は読出専用の不揮発性メモリである。CPU101により実行されるブートプログラム、制御プログラム106及び各種処理で使用する初期データ107等を記憶する。ブートプログラムはシステム起動時に初期データ107をRAM108にロードし、CPU101に制御プログラム106を実行させる。制御プログラム106を利用した処理については、後にフローチャートを参照して詳述する。
【0019】
RAM108は読み書き可能なランダムアクセスメモリであって、各構成要素からの各種データの一次記憶に用いる。HD109上に存在するデータを高速化のために一時記憶するバッファ等の各種データが格納される。
【0020】
HD109はハードディスクであり、CPU101により実行される各種処理プログラム、恒久的に保管管理すべきデータ等が格納される。必要に応じてRAM108に示す主記憶にロードされ参照される。なお、HD109上のデータは高速化のためにRAM108上のバッファメモリに一時記憶され制御される。本実施形態では、HD109には文書データベース110、フォルダ構造情報111、ユーザ構造情報112、検索索引テーブル113、アクセス権変更差分情報114等が格納される。なお、文書データベース110、フォルダ構造情報111、ユーザ構造情報112、検索索引テーブル113、アクセス権変更差分情報114は、それぞれ独立した記憶装置に格納されていても良い。その場合に各記憶装置は、検索装置100とネットワークを介して接続されていても良い。
【0021】
かかる各構成要素からなる検索装置100において、入力装置等からの各種イベントに応じて作動するものである。入力装置等からのインタラプトが供給されると信号がCPU101に送られ、それに伴ってイベントが発生し、イベントに応じてCPU101がROM105またはRAM108内に記憶される各種命令を読み出し、その実行によって各種の制御が行われる。
【0022】
図2は、発明の実施形態に対応する検索結果の表示例を示した図である。図2(a)は、ユーザ1の検索画面200を示している。検索画面200において、検索者201の欄には、検索を指示する検索者がユーザ1であることが示されている。本実施形態においてユーザ1は人事関係の業務を担当し、それに見合った文書アクセス権が付与されているものと仮定する。クエリ202は検索クエリ(検索キーワード或いは検索索引)を示し、図2(a)では「評価」という単語が指定された場合を示している。検索結果203は、「評価」を検索クエリとして文書データベース110内の文書の全文検索を行った結果を示している。検索結果203には、「評価」を語を本文のどこかに含み、ユーザ1のアクセス可能な文書が表示される。ユーザ1は人事関係の権限を持っているので、人事関係の文書が検索結果として表示される。
【0023】
図2(b)は、検索者がユーザ2の場合の検索画面210を示している。検索画面210において、検索者201の欄には、検索を指示する検索者がユーザ2であることが示されている。ここで、ユーザ2の職務は人事ではなく、品質管理関係だと仮定する。検索クエリ202は図2(a)の場合と同じく「評価」であるが、検索結果203は図2(a)の場合とは異なり、人事関係の文書は一切表示されず、品質評価関係の文書だけが検索結果として表示されている。
【0024】
このように本実施形態では、検索指示を行うユーザがアクセス権を有する文書のみが検索結果に含まれることなる。
【0025】
次に図3を参照して、本実施形態に対応する文書のアクセス権の設定方法について説明する。図3は、発明の実施形態に対応する文書のアクセス権の設定方法を説明するための図である。
【0026】
本実施形態において、文書は階層的なフォルダ構造で管理される。フォルダ301は内部に文書または(サブ)フォルダが格納される。文書302は、フォルダ301内に格納される。図3(a)では、フォルダ301として、フォルダ1、フォルダ2及びフォルダ3が記載され、フォルダ2及びフォルダ3は、フォルダ1のサブフォルダとなっている。文書302には、文書1、文書2、文書3、文書4、文書5、文書6及び文書7がある。このうち、文書1乃至文書3はフォルダ2内に格納され、文書4及び文書5はフォルダ3内に格納され、文書6及び文書7はフォルダ1内に格納されている。
【0027】
本実施形態では、フォルダ301及び文書302にはそれぞれアクセス権が設定される。アクセス権の許可/不許可の対象は、ユーザ単体、または、ユーザをまとめたユーザグループとなる。以下では、ユーザグループを単にグループとして省略して呼ぶことがある。ユーザまたはユーザグループは、図3(b)に示すように階層化された構造で管理される。ユーザグループ303には、単体のユーザ304または(サブ)ユーザグループが属する。各ユーザ304は、ユーザグループ303に属する。図3(b)では、ユーザグループ303として、グループ1、グループ2及びグループ3が記載され、グループ2及びグループ3は、グループ1のサブグループとなっている。ユーザ304には、ユーザ1、ユーザ2、ユーザ3、ユーザ4、ユーザ5、ユーザ6及びユーザ7がある。このうち、ユーザ1乃至ユーザ3はユーザグループ2に属し、ユーザ4及びユーザ5はユーザグループ3に属し、ユーザ6及びユーザ7はユーザグループ1に属する。なお、グループが存在する場合、グループ数は1以上であれば良く、また、1つのグループに含まれるユーザ数が1人であってもよい。
【0028】
次に、各フォルダ301や文書302に付与されるアクセス権について説明する。アクセス権305、306及び307は、フォルダ1、フォルダ2及び文書1のそれぞれに付与されたアクセス権を示す。
【0029】
アクセス権305は、フォルダ1にアクセス可能なユーザ304が「ユーザ1」であり、ユーザグループ303が「グループ3」であることを示している。アクセス権306は、フォルダ2にアクセス可能なユーザ304やユーザグループ303を規定しているが、ここには何も記載されていないので、フォルダ2単独としてのアクセス権者はいないことになる。但し、本実施形態では、上位フォルダに対するアクセス権が下位フォルダに承継されるので、フォルダ2はフォルダ1のアクセス権が継承され、結局フォルダ1と同じアクセス権をもつことになる。
【0030】
アクセス権307は、文書1にアクセス可能なユーザ304が「ユーザ3」であり、ユーザグループが「グループ3」であることを示している。ここで文書1はフォルダ1の下位に属しているので、フォルダ1のアクセス権も合わせてもっている。結局、文書1のアクセス権者は、アクセス権305及び306の両方のアクセス権者を合わせてユーザ1、3、4、5、6となる。
【0031】
次に、図4を参照して本実施形態に対応する文書データベース110の構成を説明する。図4は、発明の実施形態に対応する文書データベース110の構成の一例を示す図である。
【0032】
文書データベース110において、文書IDフィールド401は、文書データベース110に登録されている文書を一意に識別するための文書識別子(文書ID)が格納される。文書データベース110では、文書情報のみならずフォルダ情報も同様に管理され、フォルダを一意に識別するためのフォルダ識別子(フォルダID)も格納される。
【0033】
アクセス権情報フィールド402は、対応する文書やフォルダにアクセスできるユーザ、ユーザグループが誰であるかを記述している。本実施形態ではユーザ及びユーザグループに対して各1ビット割り当てる。図4の下方に示すようにアクセス可能なユーザ或いはユーザグループであれば1、アクセス不可であれば0を格納する。
【0034】
メタデータ情報フィールド403は、対応する文書またはフォルダに関するメタデータが格納される。本実施形態におけるメタデータには、例えば、作成者、作成日、更新日、タイトル、キーワード、組織、関連製品、開発段階等が含まれる。リンクフィールド404は、対応する文書内容へのリンクであり、リンク先に該当文書の文書内容が格納される。フォルダの場合はリンクはない。
【0035】
次に、図5を参照して本実施形態に対応するフォルダ構造情報111について説明する。図5は、発明の実施形態に対応するフォルダ構造情報111の一例を示した図である。
【0036】
フォルダ構造情報111において、フォルダID501には、文書データベース110内に存在する各フォルダの識別子が格納される。下位文書ID/下位フォルダID502には、対応するフォルダに属する文書及びフォルダ(サブフォルダ)の識別子が格納される。なお、下位文書ID/下位フォルダID502に格納される情報は1階層分である。例えば、フォルダ1についてはフォルダ3が格納されるが、フォルダ3に属する文書4及び文書5はフォルダ1との関係では管理されない。
【0037】
次に、図6を参照して本実施形態に対応するユーザ構造情報112について説明する。図6は、発明の実施形態に対応するユーザ構造情報112の一例を示した図である。
【0038】
ユーザ構造情報112において、グループID601には、ユーザグループの識別子が格納される。また、下位ユーザ/下位グループID602には、対応するユーザグループに属するユーザまたはユーザグループの識別子が格納される。なお、下位ユーザID/下位グループID602に格納される情報は1階層分である。例えば、グループ1にはグループ3が格納されるが、グループ3に属するユーザ4乃至ユーザ6はグループ1との関係では管理されない。
【0039】
次に、図7を参照して本実施形態に対応する検索索引テーブル113について説明する。図7は発明の実施形態に対応する検索索引テーブル113の一例を示した図である。
【0040】
検索索引テーブル113において、キーワード/ユーザ/グループ701は、検索キーワード、ユーザ及びユーザグループのいずれかを格納する。文書ID702には、キーワード/ユーザ/グループ701に登録された内容に関連する文書の識別子が登録される。即ち、キーワード場合には、当該キーワードを含む文書が登録される。例えばキーワードとして"XYZ"が含まれる文書には、文書1、文書2、文書4がある。また、ユーザやユーザグループの場合には、当該ユーザやグループがアクセス可能な文書が登録される。例えば、ユーザ1の場合、アクセス可能な文書には文書1、文書2、文書3がある。同様に、ユーザグループ1の場合、アクセスできる文書には文書9がある。
【0041】
検索索引テーブル113を用いることで、複数のキーワードやユーザ、ユーザグループの条件を組み合わせて、文書を絞り込むことができる。例えば、"XYZ"と"EFG"が両方含まれる文書は、 (XYZの行)AND(EFGの行) で容易に求められる。"XYZ"を含み、ユーザ1がアクセスできる文書は、ユーザ構造情報からユーザ1はグループ1とグループ2に属しているので、 (XYZの行)AND((ユーザ1の行)OR(グループ1の行)OR(グループ2)) で求められる。あるユーザが検索を指示したときに、これらの検索式が生成され、検索結果がリストアップされる。
【0042】
この検索索引テーブル113は、内容的には文書データベース110のアクセス権情報フィールド402のコピーであるが、フォルダの記載はなく、各フォルダは具体的な文書のリストに展開されている。また、行と列の関係が転置している。このため、検索索引テーブル113を作成するのは一般的にはかなりの時間がかかり、即時に反映することは不可能に近い。
【0043】
そこで、本実施形態では図8を参照して説明するようなアクセス権変更差分情報114を用いて、アクセス権の変更に即時に対応することを可能とする。図8は、発明の実施形態に対応するアクセス権変更差分情報114の一例を示した図である。図7で示した検索索引テーブル113を文書データベース110から反映して即時に作ることは困難である。そこで、文書あるいはフォルダのアクセス権が変更された場合に、変更が検索索引テーブル113に反映されるまでの間、このアクセス権変更差分情報114を作成しておく。この情報は文書データベース110に対して行と列の関係が一致しているので、わずかの処理負荷で作成可能である。
【0044】
ID801には、文書IDあるいはフォルダIDが格納される。追加リスト802には、アクセス権変更の結果、アクセス許可が追加されたユーザあるいはユーザグループがリストアップされる。削除リスト803には、アクセス権変更の結果、アクセス許可が抹消されたユーザあるいはユーザグループがリストアップされる。このアクセス権変更差分情報114は、ユーザを指定した検索には不向きである。なぜなら、ユーザ情報から文書を検索するには、全ての行をスキャンして該当する文書を抽出する必要がある。しかし、容易に作成できるという特徴がある。
【0045】
次に、発明の実施形態に対応する検索装置100における処理を説明する。図9は、発明の実施形態に対応する検索装置100の全体動作の一例を示すフローチャートである。当該処理は、CPU101がROM105の制御プログラム106やHD109に格納された対応する処理プログラムを実行することで実現される。
【0046】
まず、ステップS901において、システムの初期化処理が実行され、各種パラメータの初期化や初期画面の表示等が行われる。続くステップS902では、マウスクリック、ボタンタッチ等の入力装置102から何らかのイベントが発生するのを待機する。タイマー割込もイベントの一種である。
【0047】
イベントが発生すると、ステップS903においてイベントの種類を判別し、イベントの種類に応じて各種の処理に分岐する。各種イベントに対応した分岐先の複数の処理をステップS904という形でまとめて表現している。ここで行われる処理には、図10で詳述する文書登録処理、図11で詳述するアクセス権変更処理、図12で詳述するアクセス権反映処理、図13、図14で詳述する検索処理が含まれる。他の処理としては、詳細は記述されないが、メニュー変更処理、文書編集処理などの処理がある。
【0048】
続くステップS905では、上記の各処理の処理結果や処理終了を通知し、画面を各処理の指示に従って表示する。エラーがあった場合のエラー表示、正常な処理が行われた場合に設定されている表示データの画面表示への反映など通常広く行われる処理である。また、例えば、後述する図13や図14で検索処理が行われた場合には検索結果の表示を行う。
【0049】
次に、図10を参照して図9のステップS904の各種イベント対応処理の一例として、文書登録処理を説明する。図10は、発明の実施形態に対応する文書登録処理の一例を示すフローチャートである。
【0050】
図10において、ステップS1001では指定された文書を文書データベース110に登録する。ステップS1002では新規文書のアクセス権をアクセス権変更差分情報114に登録する。このとき、ID801には新規文書の文書IDが追加され、追加リスト802に当該新規文書に対するアクセス権を有するユーザ、ユーザグループが追加される。新規登録の場合は、削除リスト803はブランクのままである。
【0051】
続くステップS1003において、アクセス権反映処理の起動タイマーをセットする。これにより、所定時間ごとにアクセス権反映処理がタイマー起動され、アクセス権変更差分情報114の内容が検索索引テーブル113に反映される。これにより、起動タイマーで設定された所定期間が経過すると、図12に示すようなアクセス権反映処理が実行される。
【0052】
次に、図11を参照して図9のステップS904の各種イベント対応処理の一例として、アクセス権変更処理を説明する。図11は、発明の実施形態に対応するアクセス権変更処理の一例を示すフローチャートである。
【0053】
図11において、ステップS1101では、アクセス権変更の操作を受け付け、変更内容を取得する。具体的には、文書やフォルダに対するアクセス権情報フィールド402が変更された場合に、変更前後のアクセス権情報フィールド402を取得する。
【0054】
ステップS1102では、変更前後のアクセス権情報フィールド402から各文書、フォルダについてアクセス権に変更があったユーザあるいはユーザグループの差分を抽出する。続くステップS1103では、抽出されたユーザやユーザグループの情報をアクセス権変更差分情報114に登録する。ステップS1104においてアクセス権反映処理の起動タイマーをセットする。これにより、起動タイマーで設定された所定期間が経過すると、図12に示すようなアクセス権反映処理が実行される。
【0055】
次に、図12を参照して図9のステップS904の各種イベント対応処理の一例として、アクセス権反映処理を説明する。図12は、発明の実施形態に対応するアクセス権反映処理の一例を示すフローチャートである。アクセス権反映処理はユーザあるいはユーザグループの指定があれば受け取る。
【0056】
図12において、ステップS1201では、ユーザあるいはユーザグループの指定があるかどうか判定する。ユーザあるいはユーザグループの指定がない場合はステップS1203に進み、指定があるときはステップS1202に進む。ステップS1202では、アクセス権変更差分情報114から差分のあるユーザまたはユーザグループを1つ取り出しステップS1203に進む。
【0057】
ステップS1203では、アクセス権変更差分情報114を参照して、指定されたユーザあるいはユーザグループについて、差分のある文書あるいはフォルダを取得する。図8のユーザ1の例について言えば、文書1(追加)、文書3(削除)、フォルダ3(追加)が該当する。
【0058】
つづくステップS1204ではフォルダ構造情報111を参照してフォルダを文書に展開して変更可能性がある文書のリストを作成する。例えば、図5の例に従うとフォルダ3は文書4、文書5に展開され、先の文書1、文書3と合わせて、{文書1、文書3、文書4、文書5}というリストが作成される。
【0059】
ステップS1205において、リストアップされた各文書について指定されたユーザあるいはユーザグループのアクセス権情報フィールド402を文書データベース110から抽出する。ステップS1206において、抽出された情報を検索索引テーブル113の指定ユーザあるいはユーザグループの情報として反映する。ステップS1207において、アクセス権変更差分情報114から指定ユーザあるいはユーザグループの情報を削除して本処理を終了する。
【0060】
次に、図13を参照して図9のステップS904の各種イベント対応処理の一例として、検索処理を説明する。図13は、発明の実施形態に対応する検索処理の一例を示すフローチャートである。検索処理はユーザが実際に検索を起動した場合の処理である。
【0061】
図13においてステップS1301では、検索式及び検索指示を行ったユーザのユーザ情報を取得する。ユーザ情報は例えばユーザIDである。ステップS1302において、該ユーザの属するユーザグループを網羅して列挙する。ステップS1303において列挙されたユーザまたはユーザグループについてアクセス権変更差分情報114があるかどうか判定する。
【0062】
判定結果においてアクセス権変更差分情報114がなければ(ステップS1303において「NO」)、ステップS1305に進むが、もしあれば(ステップS1303において「YES」)、ステップS1304に進む。ステップS1304では、列挙されたユーザまたはユーザグループを指定して図12において詳述したアクセス権反映処理を実行する。即ち、本実施形態では、アクセス権変更差分情報114に登録されている情報のうち、検索を行うユーザに関連する情報のみを検索索引テーブル113に反映させる点に特徴がある。これにより、検索実行時における検索索引テーブル113の更新処理の負荷を最小限としつつ、検索処理の遅延を回避することができる。なお、検索処理時に反映されなかったアクセス権変更差分情報114はタイマーで設定された時間になれば自動的に検索索引テーブル113に反映される。
【0063】
続くステップステップS1305では、指定ユーザ、ユーザグループ(複数あれば複数個)のORに、指定された検索式をAND条件で追加した検索式を生成する。すなわち、生成される検索式は次のようになる。
(検索式)=(指定検索式)AND((ユーザ)OR(属するユーザグループ)OR・・・) ステップS1306では、生成された検索式に基づく検索を実行する。その後図9のステップS905で検索結果を表示する。検索結果の表示例は、図2に示したとおりである。
【0064】
以上のように、本発明によればアクセス権情報が検索索引化されているので、アクセス権判定が高速化でき、アクセス権を考慮した高速文書検索を実現できる。また、アクセス権変更の際は差分情報が迅速に作成できるので高速に処理可能である。これにより、セキュリティが重要なオフィス内において操作性の高いアクセス権付き高速検索システムを実現することができる。
【0065】
<第2の実施形態>
なお、本発明は上述の実施形態に限定されるのではなく、本発明の趣旨を逸脱しない限りにおいて適宜変更が可能である。上記の第1の実施形態では、検索前に使う分だけの検索索引テーブル113を修正しておくことにより検索結果を補正する方法を示した。検索作成を変更せずに、検索結果の追加・削除で補正する方法もある。この場合、検索処理を図14のフローチャートに従って実行することができる。図14は、発明の第2の実施形態に対応する検索処理の一例を示すフローチャートである。
【0066】
以下、図14を参照して図9のステップS904の各種イベント対応処理の一例として、発明の第2の実施形態に対応する検索処理を説明する。図14は、発明の第2の実施形態に対応する検索処理の一例を示すフローチャートである。
【0067】
図14のステップS1401において、検索式及び検索を指示したユーザ情報を取得する。ユーザ情報は例えばユーザIDである。ステップS1402において、該ユーザの属するユーザグループをリストアップする。ステップS1403において、検索式による検索を実行し、検索結果を取得する。ステップS1404において、列挙されたユーザまたはユーザグループについてアクセス権変更差分情報114があるかどうか判定する。判定結果において、もしアクセス権変更差分情報114がなければ(ステップS1404で「NO」)、検索処理をそのまま終了する。もしアクセス権変更差分情報114があれば(ステップS1404で「YES」)、ステップS1405に進み、検索結果補正処理を実行して検索処理を終える。その後図9のステップS905で検索結果を表示する。検索結果の表示例は、図2に示したとおりである。
【0068】
ここで図15を参照して、図14のステップS1405における検索結果補正処理を説明する。図15は、発明の第2の実施形態に対応する検索結果補正処理の一例を示すフローチャートである。
【0069】
図15のステップS1501において、ユーザ、ユーザの属するユーザグループなどのユーザ情報を取得する。ステップS1502において、アクセス権変更差分情報114の追加リスト802を参照し、ユーザ情報に関係する文書を抽出し、検索結果に追加すべき文書の候補(追加文書)としてリストアップする。ステップS1503において、先の追加文書が検索式の条件を充たすかどうかチェックし、条件を充たすもののみに絞り込む。
【0070】
ステップS1504において、絞り込まれた追加文書を実際に検索結果に追加する。ステップS1505において、アクセス権変更差分情報114の削除リスト803を参照し、ユーザ情報に関係する文書を抽出し、検索結果から削除すべき文書の候補(削除文書)としてリストアップする。
【0071】
ステップS1506において、先の削除文書のリストを、文書データベース110のアクセス権情報フィールド402をチェックすることにより、該当ユーザ情報のアクセス権がないもののみに絞り込む。ステップS1507において、絞り込まれた削除文書を実際に検索結果から削除する。
【0072】
上記以外にも、本発明の趣旨を逸脱しない限りにおいて、構成を適宜変更することが可能である。
【0073】
以上のように、本実施形態によれば、検索結果から差分情報の削除リストに基づいて検索実行ユーザがアクセス権を有しない文書を除外することができる。これにより、アクセス権の変更が検索索引テーブル113に反映されるまでの間の検索も、アクセス権の変更を考慮して検索結果を補正できるので、リアルタイムに正しい検索結果が得られる。
【0074】
[その他の実施形態]
本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
【0075】
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
【0076】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。
【図面の簡単な説明】
【0077】
【図1】発明の実施形態に対応する検索装置の構成の一例を示すブロック図である。
【図2】発明の実施形態に対応する検索結果の表示例を示した図である。
【図3】発明の実施形態に対応する文書のアクセス権の設定方法を説明するための図である。
【図4】発明の実施形態に対応する文書データベースの構成の一例を示す図である。
【図5】発明の実施形態に対応するフォルダ構造情報の一例を示した図である。
【図6】発明の実施形態に対応するユーザ構造情報の一例を示した図である。
【図7】発明の実施形態に対応する検索索引テーブルの一例を示した図である。
【図8】発明の実施形態に対応するアクセス権変更差分情報の一例を示した図である。
【図9】発明の実施形態に対応する検索装置100の全体動作の一例を示すフローチャートである。
【図10】発明の実施形態に対応する文書登録処理の一例を示すフローチャートである。
【図11】発明の実施形態に対応するアクセス権変更処理の一例を示すフローチャートである。
【図12】発明の実施形態に対応するアクセス権反映処理の一例を示すフローチャートである。
【図13】発明の第1の実施形態に対応する検索処理の一例を示すフローチャートである。
【図14】発明の第2の実施形態に対応する検索処理の一例を示すフローチャートである。
【図15】発明の第2の実施形態に対応する検索結果補正処理の一例を示すフローチャートである。

【特許請求の範囲】
【請求項1】
文書と、各文書に対する1または複数のユーザからなる1以上のユーザグループのアクセス権に関するアクセス権情報とを格納する文書データベースと、
前記文書データベースを検索するための検索索引を、前記文書のそれぞれと関連づけて登録する検索索引テーブルと、
検索指示を受け付ける受付手段と、
前記アクセス権情報に変更があるか否かを判定する判定手段と、
前記検索索引テーブルを用い、前記判定手段における判定結果に基づいて文書を検索する検索手段と
を備えることを特徴とする検索装置。
【請求項2】
前記検索索引テーブルは、前記1以上のユーザグループのそれぞれがアクセス可能な文書の情報を更に管理し、
前記検索手段は前記検索索引テーブルが管理する前記1以上のユーザグループのそれぞれがアクセス可能な文書の情報に基づき、検索指示を行うユーザがアクセス権を有する文書のみを検索結果に含め、
前記判定手段は、
前記アクセス権情報の変更があった場合に、変更前後のアクセス権情報の差分情報を生成する生成手段と、
前記差分情報に基づいて前記検索索引テーブルの前記1以上のユーザグループのそれぞれがアクセス可能な文書の情報を更新する更新手段と
を含むことを特徴とする請求項1に記載の検索装置。
【請求項3】
前記更新手段は、前記検索指示に基づいて前記検索手段が検索を実行しようとする場合に、当該検索指示を行ったユーザに関連する差分情報に基づいて前記検索索引テーブルの前記1以上のユーザグループのそれぞれがアクセス可能な文書の情報を更新し、
前記検索手段は、前記更新手段が更新した検索索引テーブルを用いて検索を実行することにより、前記検索指示を行ったユーザがアクセス権を有する文書のみを検索結果に含めるように検索を実行する
ことを特徴とする請求項2に記載の検索装置。
【請求項4】
前記検索手段は、前記検索指示に基づいて行った検索の結果に含まれる文書から、前記差分情報に基づき当該検索指示を行ったユーザがアクセス権を有しない文書を削除することにより、前記検索指示を行ったユーザがアクセス権を有する文書のみを検索結果に含めるように検索を実行する
ことを特徴とする請求項2に記載の検索装置。
【請求項5】
前記更新手段は、前記差分情報が生成された後、所定期間が経過した後に前記更新を行うことを特徴とする請求項2乃至4のいずれか1項に記載の検索装置。
【請求項6】
文書と、各文書に対する1または複数のユーザからなる1以上のユーザグループのアクセス権に関するアクセス権情報とを格納する文書データベースと、
前記文書データベースを検索するための検索索引を、前記文書のそれぞれと関連づけて登録する検索索引テーブルとを備える検索装置の制御方法であって、
検索指示を受け付ける受付工程と、
前記アクセス権情報に変更があるか否かを判定する判定工程と、
前記検索索引テーブルを用い、前記判定工程における判定結果に基づいて文書を検索する検索工程と
を備えることを特徴とする検索装置の制御方法。
【請求項7】
コンピュータを請求項1乃至5のいずれか1項に記載の検索装置として動作させるためのコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate