(57)【要約】【課題】全文検索とアクセス制御を同時かつ効率的に行う。【解決手段】複数のクライアント３と通信可能な全文検索エンジン５は文書登録時に全文検索エンジン５が文書へのアクセス権を有するクライアント３の識別符号（ユーザＩＤ）に制御文字（例えば区切り文字）を付加した文字列を前記文書と共に格納する。また、文書へのアクセス要求時に全文検索エンジン５は検索語に対して前記アクセス要求したクライアント３の識別符号に前記制御文字を付与した文字列を追加して全文検索を実行する。全文検索エンジン５は、文書登録時にクライアント３の識別符号と制御文字とからなる文字列を文書の属性値としてカラムに格納し、文書へのアクセス要求時に前記アクセス要求したクライアント３の識別符号に制御文字を付与した文字列を前記カラムに対する検索語として追加して全文検索を実行するとよい。【選択図】図１
2009169736.tif 000002
【特許請求の範囲】
【請求項１】
複数のクライアントと通信可能な全文検索手段による情報検索方法であって、
文書登録時に、前記全文検索手段が文書へのアクセス権を有するクライアントの識別符号に制御文字を付加した文字列を前記文書と共に格納するステップと、
文書へのアクセス要求時に、前記全文検索手段が検索語に対して前記アクセス要求したクライアントの識別符号に前記制御文字を付与した文字列を追加して全文検索を実行するステップと
を有することを特徴とする情報検索方法。
【請求項２】
前記文書登録時に前記全文検索手段が登録文書に存在する区切り文字に対してエスケープ文字による置換を行うステップを有することを特徴とする請求項１に記載の情報検索方法。
【請求項３】
前記全文検索手段は文書本体とは別に当該文書の属性値を格納するカラムを有し、
文書登録時に、前記全文検索手段が前記クライアントの識別符号と制御文字とからなる文字列を前記属性値として前記カラムに格納するステップと、
文書へのアクセス要求時に、前記全文検索手段が前記アクセス要求したクライアントの識別符号に制御文字を付与した文字列を前記カラムに対する検索語として追加して全文検索を実行するステップと
を有することを特徴とする請求項１または２に記載の情報検索方法。
【請求項４】
複数のクライアントと通信可能な全文検索手段を有し、
この全文検索手段は、
文書登録時にその文書へのアクセス権を有するクライアントの識別符号に制御文字を付加した文字列を前記文書と共に格納する格納手段と、
文書へのアクセス要求時に検索語に前記アクセス要求したクライアントの識別符号に前記制御文字を付与した文字列を追加して全文検索を実行する検索実行手段と
を備えたこと
を特徴とする情報検索装置。
【請求項５】
前記全文検索手段は、文書登録時に、登録文書に存在する区切り文字に対して、エスケープ文字による置換を行う置換手段を備えたことを特徴とする請求項４に記載の情報検索装置。
【請求項６】
前記全文検索手段は文書本体とは別に当該文書の属性値を格納するカラムを有し、
文書登録時に前記クライアントの識別符号と制御文字とからなる文字列が前記属性値として前記カラムに格納され、
文書へのアクセス要求時に前記検索実行手段は前記アクセス要求したクライアントの識別符号に制御文字を付与した文字列を前記カラムに対する検索語として追加して全文検索を実行すること
を特徴とする請求項４または５に記載の情報検索装置。
【請求項７】
コンピュータに請求項４から６のいずれか１項に記載の全文検索手段の機能を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報検索技術、アクセス制御技術及びそのプログラムに関する。
【背景技術】
【０００２】
全文検索エンジンは、文書内のキーワードに対して索引付けを行っておき、検索語が入力されると、検索語を含む文書に対して順位付け（ランキング）を行う。
【０００３】
また、コンテンツに対してアクセス制御を行うためには、ＲＤＢＭＳ（Ｒｅｌａｔｉｏｎａｌ  ＤａｔａＢａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）がよく利用される。ＲＤＢＭＳはコンテンツＩＤとユーザＩＤをカラムに持つテーブルを作成し、アクセス権を管理する。コンテンツへのアクセス要求があると、コンテンツＩＤとユーザＩＤがテーブルに存在する場合のみ、コンテンツへのアクセスを許可する。
【０００４】
このように、全文検索とアクセス制御は異なる機能である。このため、ＳＮＳ（ソーシャル・ネットワーキング・サービス）サイトでは、アクセス制御が不要である公開情報に対してのみ、全文検索機能を提供している。尚、特許文献１のマルチデータ検索システムは、全文検索とアクセス制御を異なる装置で実現している。
【特許文献１】特開平１１−６６０７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
全文検索機能とアクセス制御機能を組み合わせて情報を検索する場合、双方の機能間で全ての検索結果を交換しなければならない。検索結果が多いときには、これは高い負荷となる。
【０００６】
また、先にアクセス制御を行い、続いて全文検索を行う場合、全文検索エンジンの順序付け機能を利用することは難しくなる。
【０００７】
一方、全文検索を先に行う場合、全ての検索結果に対して逐次アクセス制御を行わなければならない。インデックスによる検索に比べ、計算量が大幅に増加する。
【課題を解決するための手段】
【０００８】
そこで、前記課題を解決するための情報検索方法は、複数のクライアントと通信可能な全文検索手段による情報検索方法であって、文書登録時に、前記全文検索手段が文書へのアクセス権を有するクライアントの識別符号に制御文字を付加した文字列を前記文書と共に格納するステップと、文書へのアクセス要求時に、前記全文検索手段が検索語に対して前記アクセス要求したクライアントの識別符号に前記制御文字を付与した文字列を追加して全文検索を実行するステップとを有する。
【０００９】
また、前記課題を解決するための情報検索装置は、複数のクライアントと通信可能な全文検索手段を有し、この全文検索手段は、文書登録時にその文書へのアクセス権を有するクライアントの識別符号に制御文字を付加した文字列を前記文書と共に格納する格納手段と、文書へのアクセス要求時に検索語に前記アクセス要求したクライアントの識別符号に前記制御文字を付与した文字列を追加して全文検索を実行する検索実行手段とを備える。
【００１０】
この方法及びその装置によれば、クライアントの識別符号に制御文字を付与し文字列を文書と共に全文検索手段に格納し、検索時にアクセス要求したクライアントの識別符号に制御文字を付与した文字列を検索語に対して追加して全文検索している。したがって、情報の全文検索とアクセス制御を同時かつ効率的に行える。
【００１１】
前記情報検索方法において、前記文書登録時に前記全文検索手段が登録文書に存在する区切り文字に対してエスケープ文字による置換を行うステップを有するようにするとよい。また、前記情報検索装置においては、前記全文検索手段は、文書登録時に、登録文書に存在する区切り文字をエスケープ文字に置換を行う置換手段を有するようにするとよい。この方法及びその装置によれば情報へのアクセス制御の精度が高まる。
【００１２】
前記情報検索方法において、前記全文検索手段は文書本体とは別に当該文書の属性値を格納するカラムを有し、文書登録時に、前記全文検索手段が前記クライアントの識別符号と制御文字とからなる文字列を前記属性値として前記カラムに格納するステップと、文書へのアクセス要求時に、前記全文検索手段が前記アクセス要求したクライアントの識別符号に制御文字を付与した文字列を前記カラムに対する検索語として追加して全文検索を実行するステップとを有するようにするとよい。
【００１３】
また、前記情報検索装置においては、前記全文検索手段は文書本体とは別に当該文書の属性値を格納するカラムを有し、文書登録時に前記クライアントの識別符号と制御文字とからなる文字列が前記属性値として前記カラムに格納され、文書へのアクセス要求時に前記検索実行手段は前記アクセス要求したクライアントの識別符号に制御文字を付与した文字列を前記カラムに対する検索語として追加して全文検索を実行するようにするとよい。
【００１４】
このようにクライアントの識別符号に区切り文字を付与し文字列を属性値としてカラムに格納し、検索時に前記属性値を前記カラムに対する検索語として追加することで、一層効率的に情報の全文検索とアクセス制御とを行える。
【００１５】
以上述べた情報検索装置はコンピュータとプログラムによっても実現でき、前記プログラムを記録媒体に記録すること共にネットワークを通じて提供することもできる。前記プログラムとしてはコンピュータに前記情報検出装置の全文検索手段の機能を実現させるためのプログラムが挙げられる。
【発明の効果】
【００１６】
以上の発明によれば全文検索とアクセス制御を同時かつ効率的に行うことができる。したがって、両者の機能を単純に組み合わせる場合に比べて、管理するテーブル数が少なくなる。また、検索時に、リレーショナルデータベース管理システム（ＲＤＢＭＳ）と全文検索手段の間で検索結果の交換が不要になる。さらに、インデックスを用いた高速な検索が可能になる。全文検索手段の順序付けを利用できる。
【発明を実施するための最良の形態】
【００１７】
（実施形態１）
図１は発明の実施形態に係る情報検索装置１のシステム構成図である。図示されたように情報検索装置１は検索サイト２とクライアント（ユーザ端末）３を有する。検索サイト２とクライアント３はネットワーク４によって接続されている。検索サイト２はさらに全文検索エンジン５とＲＤＢＭＳ６とを有する。全文検索エンジン５は複数のクライアント３と接続可能となっている。
【００１８】
図８は発明の実施形態に係る全文検索エンジン５の構成の一例を示す。全文検索エンジン５はデータ入出力手段１１と制御文字列付与手段１２と文書登録手段１３と文書記憶手段１４と検索語生成手段１５と検索実行手段１６と制御文字列除去手段１７とを備える。
【００１９】
文書登録手順は図８の実線矢印が示すようにデータ入出力手段１１と制御文字列付与手段１２と文書登録手段１３と文書記憶手段１４とによって実行される。クライアント３からの文書の登録要求や検索要求はデータ入出力手段１１を介して入力される。制御文字列付与手段１２は少なくとも制御文字をクライアント３の識別符号に結合させる機能を有する。文書登録手段１３は前記制御文字と前記識別符号とからなる文字列を含んだ制御文字列をクライアント３の作成した文書と共に文書記憶手段１４に格納させる機能を有する。
【００２０】
検索手順は図８の点線矢印が示すようにデータ入出力手段１１と検索語生成手段１５と検索実行手段１６と文書記憶手段１４と制御文字列除去手段１７とによって実行される。検索語作成手段１５は、アクセス権を有するクライアント３からデータ入出力手段１１を介して検索要求を受けると、クライアント３の識別符号に制御文字を付与した文字列をクライアント３から供された検索語に追加する機能を有する。検索実行手段１６は前記文字列が追加された検索語に基づき文書記憶手段１４の登録文書から全文検索を実行する。また、検索実行手段１６には順序付けの機能が付属されている。制御文字列除去手段１７は検索実行手段１６によって文書記憶手段１４から引き出された登録文書から制御文字列を除去する。この制御文字列が除去された文書は検索結果としてデータ入出力手段１１から出力されるようになっている。
【００２１】
以上の手段からなる全文検索エンジン５はコンピュータとプログラムによっても実現できる。前記プログラムは既知の記録媒体に格納してまたはネットワークを通じて提供することもできる。
【００２２】
全文検索エンジン５は登録された文書に対して索引付けを行って高速に検索を実行できる。本実施形態では索引付けするキーワードの抽出手段としてＮ−ｇｒａｍを用いている。Ｎ−ｇｒａｍは、Ｎ文字の文字列を全てキーワードとして抽出する方法であり、任意の文字列を検索できるという特徴を有する。また、ユーザＩＤ（ユーザ識別符号）を結合する際の区切り文字として、ユーザＩＤに使用できない文字（ここではパイプ“｜”）が設定される。ユーザＩＤの開始文字列として“Ｕｓｅｒｓ：”が設定される。
【００２３】
ＲＤＢＭＳ６はユーザ情報を管理する。ＲＤＢＭＳ６は図９に示されたようにデータ入出力手段２１とユーザ認証手段２２とユーザ情報記憶手段２３とを備える。データ入出力手段２１はユーザの認証要求の入力を受ける。ユーザ認証手段２２は少なくともクライアント３から供されたユーザ情報とユーザ情報記憶手段２３から引き出されたユーザ情報とを照合する。この照合に基づく認証結果はデータ入出力手段２１を介して出力される。尚、ＲＤＢＭＳ６はコンピュータとプログラムによっても実現できる。前記プログラムは既知の記録媒体に格納してまたはネットワークを通じて提供できる。
【００２４】
図２はＲＤＢＭＳ６のユーザ情報記憶手段２３に格納されているデータの一例を示す。ユーザ情報記憶手段２３にはユーザ情報としてユーザＩＤ（アクセス権を有するクライアント３の識別符号）及びパスワードが格納されている。ユーザＩＤはアルファベットと数値のみからなる文字列によって構成されている。パスワードは任意の文字列である。クライアント３は全文検索エンジン５にアクセスする際に、ユーザＩＤとパスワードの入力を求められる。
【００２５】
図３の文書登録シーケンスを参照しながら文書登録処理の手順について説明する。
【００２６】
ここではユーザｆｏｏ端末（ｆｏｏを識別符号とするユーザ端末）３ａとユーザｂａｒ端末（ｂａｒを識別符号とするユーザ端末）３ｂとがクライアントであって、ユーザｆｏｏ端末３ａが例えば以下の文書を登録する際の手順について説明する。
【００２７】
「本日は晴天なり。…」
ユーザｆｏｏ端末３ａとユーザｂａｒ端末３ｂにアクセス権が設定される。先ず、ユーザｆｏｏ端末３ａは、認証のためのユーザＩＤとパスワード、文書、アクセスユーザ一覧（ｆｏｏ，ｂａｒ）を、検索サイト２に送信する。尚、この例では、ユーザから文書を送信しているが、全文検索エンジン５から取得処理を開始しても（クローリングしても）かまわない。
【００２８】
検索サイト２では先ずＲＤＢＭＳ６がユーザｆｏｏ端末３ａから受け取ったユーザＩＤとパスワードをチェックする。すなわち、ユーザ認証手段２２は、データ入出力手段２１を介して受信したユーザＩＤ及びパスワードと、ユーザ情報記憶手段２３に格納されたユーザＩＤ及びパスワードとを比較する。両者が合致していれば、前記受信された文書とアクセスユーザ一覧は全文検索エンジン５のデータ入出力手段１１に送られる。
【００２９】
全文検索エンジン５はデータ入出力手段１１を介して文書とユーザ一覧とを受信すると、制御文字列付与手段１２は制御文字として例えば区切り文字（“｜”）をユーザＩＤに結合させる。結合した文字列は、“ｆｏｏ｜ｂａｒ”のようになる。さらに、結合した文字列の前後に、区切り文字がひとつずつ追加される。こうして得られる文字列は、“｜ｆｏｏ｜ｂａｒ｜”となる。そして、文書の最後に、開始文字列“Ｕｓｅｒｓ：”と結合文字列が追加される。この開始文字列と結合文字列が付与された文書は文書登録手段１３によって文書記憶手段１４に登録される。最終的には図４の文書の１行目（本日は〜で始まる行）に示された文章のように登録される。尚、全文検索エンジン５はこの文書からキーワードを抽出し、索引付けを行う。
【００３０】
上述と同様の手順によってユーザｆｏｏ端末３ａは次の文書を登録する。
「昨日は曇天なり。…」
アクセス権はユーザｆｏｏ端末３ａとユーザｂａｒ端末３ｂに設定される。最終的には全文検索エンジン５の文書記憶手段１４には図４に示された２行目の文書のように登録される。
【００３１】
上述と同様の手順によってユーザｆｏｏ端末３ａは次の文書を登録する。
「一昨日は雨天なり。…」
例えばアクセス権がユーザｆｏｏ端末３ａのみに設定されると、全文検索エンジン５の文書記憶手段１４には、図４に示された３行目の文章のように登録される。
【００３２】
次に、図５を参照しながら文書を検索する手順について説明する。図５はユーザｂａｒ端末３ｂが検索を行う場合の検索シーケンスの一例を示す。この事例では検索語は“なり”となっている。
【００３３】
ユーザｂａｒ端末３ｂは、認証のためのユーザＩＤとパスワードに加え、検索語を検索サイト２に送信する。
【００３４】
検索サイト２のＲＤＢＭＳ６は受信したユーザＩＤとパスワードをユーザ認証手段２２によってチェックする。両者が合致していれば、ユーザＩＤと検索語を検索エンジン５に送る。
【００３５】
検索エンジン５は、制御文字列付与手段１２によってユーザＩＤの前後に制御文字として区切り文字を追加し（“｜ｂａｒ｜”）、これを検索語として追加する。最終的な検索語は、“なりＡＮＤ｜ｂａｒ｜”となる。尚、ＡＮＤは論理積を表し、入力された全ての検索語を含む文書を検索することを意味する。
【００３６】
検索の結果、図４に示された事例では前記１行目の文書と前記２行目の文章とがヒットする。次いで、全文検索エンジン５の検索実行手段１６は検索結果に対して順序付けを行う。例えば検索によって文書記憶手段１４から引き出された前記１行目の文書と前記２行目の文章が前記順序付けによって前記２行目の文書、前記１行目の文書の順で検索画面の縦方向に列挙されるとする。ここで、アクセス制御に用いた制御文字を含んだ文字列は制御文字列除去手段１７によって前記２行目及び１行目の文書から除去される。具体例では登録文書の最後に現れる“Ｕｓｅｒｓ：”という文字列が検索され、この文字列以降の制御文字列が制御文字列除去手段１７によって除去する。最終的には図６に例示されたような検索結果がユーザｂａｒ端末３ｂに返信される。
【００３７】
以上の説明から明らかなように本実施形態の情報検索装置１はアクセス制御と全文検索を同時且つ効率的に実行することができる。その際に、全文検索エンジン５の順序付け機能を損なうことはない。また、インデックスを用いた高速な検索が可能である。さらに、検索時に、全文検索エンジン５とＲＤＢＭＳ６との間でのデータの交換が不要である。
【００３８】
（実施形態２）
実施形態１の方法では文書中に“｜ｂａｒ｜”のような文字列があると、ユーザｂａｒ端末３ｂがアクセス権を有しない場合でも、アクセス可能となってしまう。
【００３９】
そこで、本実施形態に係る全文検索エンジン５は文書を登録する際に、文書中に含まれる区切り文字（“｜”）をエスケープする。すなわち、全文検索エンジン５は登録文書に存在する区切り文字に対して、エスケープ文字による置換を行う置換手段を有する。この置換手段は制御文字列付与手段１２または文書登録手段１３の機能に付属させてもよい。また、この置換手段もコンピュータとプログラムによっても実現できる。前記プログラムは既知の記録媒体に格納してまたはネットワークを通じて提供できる。
【００４０】
エスケープ文字としては例えばバックスラッシュ（“＼”）が挙げられる。つまり、文書中の区切り文字（“｜”）を“＼｜”で置換する。また、エスケープ文字（“＼”）も同様にエスケープするため、“＼＼”で置換する。
【００４１】
このようにすると、文書中に現れる“｜ｂａｒ｜”という文字列は、“＼｜ｂａｒ＼｜”となるため、アクセス権を持たなくなる。
【００４２】
また、検索結果として返すときには、逆の置換を行えばよい。つまり、“＼｜”を“｜”とし、“＼＼”を“＼”とする。
【００４３】
たとえば、次の文書を登録する例を考える。アクセス権はユーザｆｏｏ端末３ａのみに設定する。
「ユーザ｜ｂａｒ｜について」
この文書は、登録時に次のように変換される。
「ユーザ＼｜ｂａｒ＼｜について  Ｕｓｅｒｓ：｜ｆｏｏ｜」
そして、ユーザｂａｒ端末３ｂが検索を行うとき、｜ｂａｒ｜という検索語が追加されるが、前記変換処理された文書にはヒットしない。
【００４４】
尚、アクセス権を有するクライアント３が検索サイト２にアクセスを行った場合、ヒットした登録文書は全文検索エンジン５による逆変換処理によってエスケープ文字が区切り文字に置換された元の文書の内容でクライアント３に返信される。
【００４５】
（実施形態３）
全文検索エンジンには、文書だけでなく、この文書に付随する情報（属性値）を格納し、検索できるものがある。そのような検索エンジンを用いるときには、アクセス制御情報として属性値を格納する。
【００４６】
本実施形態に係る全文検索エンジン５は、文書本体とは別に、前記文書に付随する属性値を格納するカラムを文書記憶手段１４に有している。また、前記カラムは索引付けがなされており、そのカラムに含まれる任意の文字列を検索可能となっている。この文書記憶手段１４の機能もコンピュータとプログラムによっても実現できる。前記プログラムは既知の記録媒体に格納してまたはネットワークを通じて提供することもできる。
【００４７】
文書登録時には、全文検索エンジン５はクライアント３の識別符号と制御文字とからなる文字列を属性値として前記カラムに格納する。この場合、登録する文書は変更する必要はない。また、アクセス制御情報に、“Ｕｓｅｒｓ：”のような目印をつける必要もない。
【００４８】
図７は発明の第三の実施形態における登録文章の一例である。すなわち、本実施形態に係る登録情報は図４に例示される実施形態１の事例に対しては図７に例示された形態に変換されて全文検索エンジン５の文書記憶手段１４に格納される。
【００４９】
そして、文書へのアクセス要求時に、前記アクセス要求したクライアント３の識別符号に制御文字として区切り文字を付与した文字列を前記カラムに対する検索語として追加されて全文検索が実行される。
【００５０】
すなわち、検索を行うときは、登録文書から検索語を検索し、属性値からユーザＩＤを検索する。例えば、実施形態１と同様の事例において、ユーザｂａｒ端末３ｂが検索語“なり”で検索を行う場合、登録文書に“なり”を含み、属性値に“｜ｂａｒ｜”を含むものが検索結果となる。
【００５１】
検索後は、検索結果として登録文書をそのままの内容でアクセス権を有するクライアントに返信できるため、返信時の実施形態１や実施形態２で述べたような変換処理は不要となる。
【００５２】
以上のように本実施形態の情報検索方式によればより一層に全文検索とアクセス制御を同時かつ効率的に行うことができる。
【図面の簡単な説明】
【００５３】
【図１】発明の実施形態に係る情報検索装置のシステム構成図。
【図２】ＲＤＢＭＳに格納されるユーザ情報。
【図３】発明の第一の実施形態に係る文書登録シーケンスの一例。
【図４】発明の第一の実施形態における登録文章の一例。
【図５】発明の第一の実施形態に係る検索シーケンスの一例。
【図６】発明の第一の実施形態による検索結果。
【図７】発明の第三の実施形態における登録文章の一例。
【図８】発明の実施形態に係る情報検索装置の検索エンジンの構成例。
【図９】発明の実施形態に係る情報検索装置のＲＤＢＭＳの構成例。
【符号の説明】
【００５４】
１…情報検索装置
２…検索サイト
３…クライアント
３ａ…ユーザｆｏｏ端末
３ｂ…ユーザｂａｒ端末
４…ネットワーク
５…全文検索エンジン（全文検索手段）
６…ＲＤＢＭＳ
１１…データ入出力手段
１２…制御文字列付与手段
１３…文書登録手段
１４…文書記憶手段（格納手段）
１５…検索語生成手段
１６…検索実行手段
１７…制御文字列除去手段
【図１】
2009169736.tif 000003
【図２】
2009169736.tif 000004
【図３】
2009169736.tif 000005
【図４】
2009169736.tif 000006
【図５】
2009169736.tif 000007
【図６】
2009169736.tif 000008
【図７】
2009169736.tif 000009
【図８】
2009169736.tif 000010
【図９】
2009169736.tif 000011