(57)【要約】【課題】メタデータの種類が変化した場合やメタデータが複数の値を持ちうるような場合であっても、文書を格納し、検索可能とする。【解決手段】検索サイト２において、全文検索エンジン５は、文書登録時に、登録文書に付随する予め設定された制御文字とは異なるカラム名とこのカラム名に対応するメタデータとを結合した文字列と共に前記登録文書を格納手段に格納させる。登録文書の検索要求時に、全文検索エンジン５は、前記カラム名と前記メタデータを前記制御文字で結合した語を検索語とし、この検索語に基づき全文検索を行う。【選択図】図１
2010170393.tif 000002
【特許請求の範囲】
【請求項１】
全文検索手段による情報検索方法であって、
文書登録時に、前記全文検索手段が、登録文書に付随する予め設定された制御文字とは異なるカラム名とこのカラム名に対応するメタデータとを結合した文字列と共に前記登録文書を登録するステップと、
登録文書の検索要求時に、前記全文検索手段が、前記カラム名と前記メタデータを前記制御文字で結合した語を検索語とし、この検索語に基づき全文検索を行うステップと
を有することを特徴とする情報検索方法。
【請求項２】
前記全文検索手段が前記制御文字として区切り文字を設定するステップをさらに有することを特徴とする請求項１に記載の情報検索方法。
【請求項３】
前記全文検索手段が前記登録文書に存在する区切り文字に対してエスケープ文字による置換を行うステップをさらに有する請求項２に記載の情報検索方法。
【請求項４】
前記全文検索手段が、登録する文書とは別に当該文書の属性値を属性値カラムに格納するステップと、
文書登録時に、前記全文検索手段が、前記カラム名とこのカラム名に対応するメタデータを当該カラム名と異なる制御文字で結合した文字例を前記属性値カラムに格納するステップと、
登録文書の検索要求時に、前記全文検索手段が、前記カラム名と前記メタデータを前記制御文字で結合した語を前記属性値カラムの検索語として追加して全文検索を行うステップと
をさらに有することを特徴とする請求項１から３のいずれかに記載の情報検索方法。
【請求項５】
文書登録時に、登録文書に付随する予め設定された制御文字とは異なるカラム名とこのカラム名に対応するメタデータとを結合した文字列と共に前記登録文書を格納手段に格納させる文書登録手段と、
登録文書の検索要求時に、前記カラム名と前記メタデータを前記制御文字で結合した語を検索語とし、この検索語に基づき全文検索を行う検索実行手段と
を備えた
ことを特徴とする情報検索装置。
【請求項６】
前記制御文字として区切り文字を設定する制御文字設定手段をさらに備えた
ことを特徴とする請求項５に記載の情報検索装置。
【請求項７】
前記登録文書に存在する区切り文字に対してエスケープ文字による置換を行う置換手段をさらに備えた
ことを特徴とする請求項６に記載の情報検索装置。
【請求項８】
登録する文書とは別に当該文書の属性値を格納する属性値カラムをさらに有し、
前記文書登録手段は、文書登録時に、前記カラム名とこのカラム名に対応するメタデータを当該カラム名と異なる制御文字で結合した文字例を前記属性値カラムに格納させ、
前記検索実行手段は、登録文書の検索要求時に、前記カラム名と前記メタデータを前記制御文字で結合した語を前記属性値カラムの検索語として追加して全文検索を行う
ことを特徴とする請求項５から７のいずれか１項に記載の情報検索装置。
【請求項９】
請求項５から８のいずれか１項に記載の情報検索装置を構成する各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報検索技術、アクセス制御技術及びそのプログラムに関する。
【背景技術】
【０００２】
全文検索エンジンは、文書内のキーワードに対して索引付けを行っておき、検索語が入力されると、検索語を含む文書に対して順位付け（ランキング）を行う。
【０００３】
検索の際にメタデータが利用されることがある（非特許文献１）。しかしながら、メタデータの種類については、事前にテーブルスキーマとして定義しておく必要がある。また、同一のメタデータが複数の値を持ちうるような場合には対応できない。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】独立行政法人産業技術総合研究所（ＡＩＳＴ）  ｑｗｉｋＷｅｂ  Ｐｒｏｊｅｃｔ  Ｔｅａｍ，“初めてのＴｒｉｔｏｎｎ（チュートリアル）−Ｔｒｉｔｏｎｎプロジェクト〜ＭｙＳＱＬ＋Ｓｅｎｎａによる全文検索〜”、［２００７年１０月３１日］、ＡＩＳＴ  ｑｗｉｋＷｅｂ  Ｐｒｏｊｅｃｔ  Ｔｅａｍ、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｑｗｉｋ．ｊｐ／ｔｒｉｔｏｎｎ／ｂａｓｉｃｔｕｔｏｒｉａｌ．ｈｔｍｌ＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、メタデータの種類が変化した場合や、メタデータが複数の値を持ちうるような場合であっても、文書を格納し、検索可能とすることを課題とする。
【課題を解決するための手段】
【０００６】
前記課題を解決するため発明は、情報検索のためのメタデータを格納するカラム名とこのカラム名に対応するメタデータとを制御文字で区切った文字列を用いることで、検索に用いるメタデータの種類や数に変更が生じても文書登録と全文検索を可能（スキーマレス化）にしている。
【０００７】
本発明を、全文検索手段による情報検索方法に構成する場合は、文書登録時に、前記全文検索手段が、登録文書に付随する予め設定された制御文字とは異なるカラム名とこのカラム名に対応するメタデータとを結合した文字列と共に前記登録文書を登録するステップと、登録文書の検索要求時に、前記全文検索手段が、前記カラム名と前記メタデータを前記制御文字で結合した語を検索語とし、この検索語に基づき全文検索を行うステップとを有する。
【０００８】
前記情報検索方法の一態様は、前記全文検索手段が前記制御文字として区切り文字を設定するステップをさらに有する。
【０００９】
前記情報検索方法の他の態様は、前記全文検索手段が前記登録文書に存在する区切り文字に対してエスケープ文字による置換を行うステップをさらに有する。
【００１０】
前記情報検索方法のさらに他の態様は、前記全文検索手段が登録する文書とは別に当該文書の属性値を属性値カラムに格納するステップと、文書登録時に前記全文検索手段が前記カラム名とこのカラム名に対応するメタデータを当該カラム名と異なる制御文字で結合した文字例を前記属性値カラムに格納するステップと、登録文書の検索要求時に前記全文検索手段が前記カラム名と前記メタデータを前記制御文字で結合した語を前記属性値カラムの検索語として追加して全文検索を行うステップとをさらに有する。
【００１１】
本発明を情報検索装置に構成する場合は、文書登録時に、登録文書に付随する予め設定された制御文字とは異なるカラム名とこのカラム名に対応するメタデータとを結合した文字列と共に前記登録文書を格納手段に格納させる文書登録手段と、登録文書の検索要求時に、前記カラム名と前記メタデータを前記制御文字で結合した語を検索語とし、この検索語に基づき全文検索を行う検索実行手段とを備える。
【００１２】
前記情報検索装置の一態様は、前記制御文字として区切り文字を設定する制御文字設定手段をさらに備える。
【００１３】
前記情報検索装置の他の態様は、前記登録文書に存在する区切り文字に対してエスケープ文字による置換を行う置換手段をさらに備える。
【００１４】
前記情報検索装置のさらに他の態様は、登録する文書とは別に当該文書の属性値を格納する属性値カラムをさらに有し、前記文書登録手段は、文書登録時に、前記カラム名とこのカラム名に対応するメタデータを当該カラム名と異なる制御文字で結合した文字例を前記属性値カラムに格納させ、前記検索実行手段は、登録文書の検索要求時に、前記カラム名と前記メタデータを前記制御文字で結合した語を前記属性値カラムの検索語として追加して全文検索を行う。
【００１５】
尚、本発明は前記情報検索装置を構成する各手段としてコンピュータを機能させるプログラムとして構成することもできる。
【発明の効果】
【００１６】
以上の発明によれば、メタデータの種類が変化した場合や、メタデータが複数の値を持ちうるような場合であっても、文書を格納し、検索できる。
【図面の簡単な説明】
【００１７】
【図１】発明の実施形態に係る情報検索装置のシステム構成図。
【図２】ＲＤＢＭＳに格納されるユーザ情報。
【図３】発明の第一の実施形態に係る文書登録シーケンスの一例。
【図４】発明の第一の実施形態における登録文章の一例。
【図５】発明の第一の実施形態に係る検索シーケンスの一例。
【図６】発明の第一の実施形態による検索結果。
【図７】発明の第三の実施形態における登録文章の一例。
【図８】発明の実施形態に係る情報検索装置の検索エンジンの構成例。
【発明を実施するための形態】
【００１８】
（実施形態１）
図１に示すように実施形態１に係る情報検索システム１は検索サイト２とクライアント（ユーザ端末）３を有する。検索サイト２とクライアント３はネットワーク４によって接続されている。検索サイト２はさらに全文検索エンジン５とＲＤＢＭＳ６とを有する。全文検索エンジン５は複数のクライアント３と接続可能となっている。
【００１９】
全文検索エンジン５は図８に示されたようにデータ入出力手段１１と制御文字列付与手段１２と文書登録手段１３と文書記憶手段１４と検索語生成手段１５と検索実行手段１６と制御文字列除去手段１７とを備える。この各手段１１〜１７により、以下の文書登録手順と文書検索手順が実行される。
【００２０】
すなわち、文書登録手順は図８の実線矢印が示すようにデータ入出力手段１１と制御文字列付与手段１２と文書登録手段１３と文書記憶手段１４とによって実行される。クライアント３からの文書の登録要求や検索要求はデータ入出力手段１１を介して入力される。制御文字列付与手段１２は少なくとも制御文字を情報検索のためのメタデータを格納するカラム名とクライアント３の識別符号（メタデータ）に結合させる機能を有する。文書登録手段１３は前記カラム名と前記制御文字と前記識別符号とを含んだ文字列を有する制御文字列をクライアント３の作成した文書と共に文書記憶手段１４に格納させる機能を有する。
【００２１】
検索手順は図８の点線矢印が示すようにデータ入出力手段１１と検索語生成手段１５と検索実行手段１６と文書記憶手段１４と制御文字列除去手段１７とによって実行される。検索語作成手段１５は、アクセス権を有するクライアント３からデータ入出力手段１１を介して検索要求を受けると、クライアント３の識別符号に制御文字を付与した文字列をクライアント３から供された検索語に追加する機能を有する。検索実行手段１６は前記文字列が追加された検索語に基づき文書記憶手段１４の登録文書から全文検索を実行する。また、検索実行手段１６には順序付けの機能が付属されている。制御文字列除去手段１７は検索実行手段１６によって文書記憶手段１４から引き出された登録文書から制御文字列を除去する。この制御文字列が除去された文書は検索結果としてデータ入出力手段１１から出力されるようになっている。前記検索結果は図示省略のディスプイ（表示装置）にて適宜に表示される。
【００２２】
ＲＤＢＭＳ６はユーザ情報を管理する。ＲＤＢＭＳ６は図示省略されたデータ入出力手段、ユーザ認証手段、ユーザ情報記憶手段を備える。前記データ入出力手段はユーザの認証要求の入力を受ける。前記ユーザ認証手段は少なくともクライアント３から供されたユーザ情報と前記ユーザ情報記憶手段から引き出されたユーザ情報とを照合する。この照合に基づく認証結果は前記データ入出力手段を介して全文検索エンジン５に出力される。
【００２３】
図２に例示されたようにＲＤＢＭＳ６のユーザ情報記憶手段にはユーザ情報としてユーザＩＤ（アクセス権を有するクライアント３の識別符号）及びパスワードが格納されている。ユーザＩＤは例えばアルファベットと数値のみからなる文字列によって構成されている。パスワードは任意の文字列である。クライアント３は全文検索エンジン５にアクセスする際に、ユーザＩＤとパスワードの入力を求められる。
【００２４】
以前のサービスでは、ユーザごとに文書へのアクセス制御を行っていなかった。このため、全文検索エンジンのテーブルスキーマには、アクセス制御を表すメタデータを格納するカラムは存在していなかった。しかし、サービスメニューが変化し、アクセス制御が必要になったという状況を考える。
【００２５】
全文検索エンジン５は登録された文書に対して索引付けを行って高速に検索を実行できる。本実施形態では索引付けするキーワードの抽出手段としてＮ−ｇｒａｍを用いている。Ｎ−ｇｒａｍは、Ｎ文字の文字列を全てキーワードとして抽出する方法であり、任意の文字列を検索できるという特徴を有する。
【００２６】
また、メタデータを格納するための区切り文字（制御文字）として、カラム名に使用できない文字（ここではパイプ“｜”）が設定される。この事例ではカラム名として“Ｕｓｅｒｓ”が設定される。
【００２７】
図３に示された文書登録シーケンスを参照しながら文書登録処理の手順について説明する。
【００２８】
ここではユーザｆｏｏ端末（ｆｏｏを識別符号とするユーザ端末）３ａとユーザｂａｒ端末（ｂａｒを識別符号とするユーザ端末）３ｂとがクライアントとし、ユーザｆｏｏ端末３ａが例えば以下の文書を登録する際の手順について説明する。
【００２９】
「本日は晴天なり。…」
ユーザｆｏｏ端末３ａとユーザｂａｒ端末３ｂにアクセス権が設定される。先ず、ユーザｆｏｏ端末３ａは、認証のためのユーザＩＤ（ｆｏｏ）とパスワード（ｏｏｆ）、文書、アクセスユーザ一覧（ｆｏｏ，ｂａｒ）を、検索サイト２に送信する。尚、この例では、ユーザから文書を送信しているが、全文検索エンジン５から取得処理を開始しても（クローリングしても）かまわない。
【００３０】
検索サイト２では先ずＲＤＢＭＳ６がユーザｆｏｏ端末３ａから受け取ったユーザＩＤとパスワードをチェックする。すなわち、ＲＤＢＭＳ６において、前記ユーザ認証手段が、前記データ入出力手段を介して受信したユーザＩＤ及びパスワードと、前記ユーザ情報記憶手段に格納されたユーザＩＤ及びパスワードとを比較する。両者が合致していれば、前記受信された文書とアクセスユーザ一覧は全文検索エンジン５のデータ入出力手段１１に送られる。
【００３１】
全文検索エンジン５において、データ入出力手段１１が文書とユーザ一覧を受信すると、制御文字列付与手段１２はカラム名（Ｕｓｅｒｓ）とユーザＩＤ（メタデータ）とを区切り文字（“｜”）で結合する。この結合した文字列は、“Ｕｓｅｒｓ｜ｆｏｏ”のようになる。そして、前記受信した文書の最後に、前記結合した文字列を追加し、登録する。最終的には図４の１行目（本日は〜で始まる行）に示された文書のように登録される。尚、全文検索エンジン５はこの文書からキーワードを抽出し、索引付けを行う。
【００３２】
上述と同様の手順によってユーザｆｏｏ端末３ａは次の文書を登録する。
「昨日は曇天なり。…」
アクセス権はユーザｆｏｏ端末３ａとユーザｂａｒ端末３ｂに設定される。全文検索エンジン５の文書記憶手段１４には図４に示された２行目の文書のように登録される。
【００３３】
上述と同様の手順によってユーザｆｏｏ端末３ａは次の文書を登録する。
「一昨日は雨天なり。…」
例えばアクセス権がユーザｆｏｏ端末３ａのみに設定されると、全文検索エンジン５の文書記憶手段１４には、図４に示された３行目の文書のように登録される。
【００３４】
次に、図５を参照しながら文書を検索する手順について説明する。図５はユーザｂａｒ端末３ｂが検索を行う場合の検索シーケンスの一例を示す。この事例では検索語は“なり”となっている。
【００３５】
ユーザｂａｒ端末３ｂは、認証のためのユーザＩＤ（ｂａｒ）とパスワード（ｒａｂ）に加え、検索語（「なり」）を検索サイト２に送信する。
【００３６】
検索サイト２のＲＤＢＭＳ６は受信したユーザＩＤとパスワードをユーザ認証手段によってチェックする。両者が合致していれば、ユーザＩＤと検索語を全文検索エンジン５に送る。
【００３７】
全文検索エンジン５は、カラム名とユーザＩＤを区切り文字で連結し（“Ｕｓｅｒｓ｜ｂａｒ”）、検索語として追加する。最終的な検索は“なり  ＡＮＤ  Ｕｓｅｒｓ｜ｂａｒ”となる。なお、ＡＮＤは論理積を表し、両方の語を含む文書を検索することを意味する。
【００３８】
検索の結果、図４に示された事例では前記１行目の文書と前記２行目の文書とがヒットする。次いで、全文検索エンジン５の検索実行手段１６は検索結果に対して順序付けを行う。例えば検索によって文書記憶手段１４から引き出された前記１行目の文書と前記２行目の文章が前記順序付けによって前記２行目の文書、前記１行目の文書の順で検索画面の縦方向に列挙される。さらに、この２行目及び１行目の文書からメタデータ文字列が制御文字列除去手段１７によって除去される。具体例では登録文書の最後に現れる“Ｕｓｅｒｓ｜”という文字列が検索され、この文字列以降の制御文字列が制御文字列除去手段１７によって除去する。最終的には図６に例示されたような検索結果がユーザｂａｒ端末３ｂに返信される。
【００３９】
以上のように本実施形態の情報検索方法によれば、サービスの変化に合わせてメタデータを追加することができると共に、複数の値を持つメタデータを扱うことも可能となる。すなわち、メタデータの種類を文書ごとに変更可能であると共に複数の値を持つことが可能であるので、サービスの変化に合わせて、データ構造を柔軟に変更できる。
【００４０】
（実施形態２）
実施形態１の方法では、文書中に“Ｕｓｅｒｓ｜ｂａｒ”のような文字列があると、ユーザｂａｒ端末３ｂがアクセス権を持たない場合でも、アクセス可能となってしまう。
【００４１】
そこで、本実施形態に係る全文検索エンジン５は、文書を登録する際に、文書中に含まれる区切り文字（“｜”）をエスケープする。すなわち、全文検索エンジン５は登録文書に存在する区切り文字に対して、エスケープ文字による置換を行う置換手段を有する。この置換手段は制御文字列付与手段１２または文書登録手段１３の機能に付属させてもよい。
【００４２】
エスケープ文字としては例えばバックスラッシュ（“￥”）が挙げられる。つまり、文書中の区切り文字（“｜”）を“￥｜”で置換する。また、エスケープ文字（“￥”）も同様にエスケープするため、“￥￥”で置換する。
【００４３】
このようにすると、文書中に現れる“Ｕｓｅｒｓ｜ｂａｒ”という文字列は、“Ｕｓｅｒｓ￥｜ｂａｒ”となるため、アクセス権を持たなくなる。
また、検索結果として返すときには、逆の置換を行えばよい。つまり、“￥｜”を“｜”とし、“￥￥”を“￥”とする。
【００４４】
例えば、次の文書を登録する例を考える。アクセス権はユーザｆｏｏ端末３ａのみに設定する。
「危険な文字列Ｕｓｅｒｓ｜ｂａｒについて」
この文書は、登録時に次のように変換される。
「危険な文字列Ｕｓｅｒｓ￥｜ｂａｒについてＵｓｅｒｓ｜ｆｏｏ」
そして、ユーザｂａｒ端末３ｂが検索を行うとき、「Ｕｓｅｒｓ｜ｂａｒ」という検索語が追加されるが、この文書にはヒットしない。
【００４５】
尚、アクセス権を有するクライアント３が検索サイト２にアクセスを行った場合、ヒットした登録文書は全文検索エンジン５による逆変換処理によってエスケープ文字が区切り文字に置換された元の文書の内容でクライアント３に返信される。
【００４６】
（実施形態３）
全文検索エンジンには、文書だけでなく、付随する情報（属性値）を格納し、検索するカラムを持つものがある。そのような検索エンジンを用いるときは、アクセス制御情報を属性カラムに格納する。
【００４７】
すなわち、本実施形態に係る全文検索エンジン５は、文書本体とは別に、前記文書に付随する属性値を格納する属性値カラムを文書記憶手段１４に有している。また、前記属性値カラムは索引付けがなされており、このカラムに含まれる任意の文字列を検索可能となっている。
【００４８】
従来のサービスでは、ユーザごとに文書へのアクセス制御が行われていなかった。このため、全文検索エンジンのテーブルスキーマには、アクセス制御を表すメタデータを格納するカラムは存在していなかった。しかし、サービスメニューが変化し、アクセス制御が必要になったという状況が考えられる。
【００４９】
文書登録時には、全文検索エンジン５の文書登録手段１３はカラム名（例えばＵｓｅｒｓ）とメタデータ（例えば、ｆｏｏやｂａｒ）と区切り文字（“｜”）で結合した文字列を属性値として属性値カラムに格納させる。
【００５０】
この場合、文書を変更する必要はない。本実施形態に係る登録情報としては図４に例示される登録文書に対しては図７に例示された内容に変更されて全文検索エンジン５の文書記憶手段１４に格納される。
【００５１】
そして、検索要求があったときは、検索実行手段１６は、登録文書から検索語を検索し、属性値からユーザＩＤを検索する。例えば、実施形態１と同様の事例において、ユーザｂａｒ端末３ｂが検索語“なり”で検索を行う場合、登録文書に“なり”を含み、属性カラムに“Ｕｓｅｒｓ｜ｂａｒ”を含むものが検索結果となる。
【００５２】
検索後は、検索結果として登録文書をそのままの内容でアクセス権を有するクライアントに返信できるため、実施形態１や実施形態２で述べたような変換処理は不要となる。
【００５３】
本発明は検索サイト２（情報検索装置）を構成する全文検索エンジン５、ＲＤＢＭＳ６はコンピュータのハードウェアとプログラムの協働によって実現できる。この場合、文書記憶手段１４及び前記ユーザ情報記憶手段はハードディスク装置によって実現すればよい。また、前記情報検索装置を構成する全検索エンジン５、ＲＤＢＭＳ６としてコンピュータを機能させるプログラムは既知の記録媒体（例えば、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＭＯ、ＨＤＤ、Ｂｌｕ−ｒａｙ  Ｄｉｓｋ（登録商標）等）に格納してまたはネットワークを通じて提供できる。
【符号の説明】
【００５４】
１…情報検索システム
２…検索サイト（情報検索装置）
３…クライアント
３ａ…ユーザｆｏｏ端末
３ｂ…ユーザｂａｒ端末
４…ネットワーク
５…全文検索エンジン（全文検索手段）
６…ＲＤＢＭＳ
１１…データ入出力手段
１２…制御文字列付与手段
１３…文書登録手段
１４…文書記憶手段（格納手段）
１５…検索語生成手段
１６…検索実行手段
１７…制御文字列除去手段
【図１】
2010170393.tif 000003
【図２】
2010170393.tif 000004
【図３】
2010170393.tif 000005
【図４】
2010170393.tif 000006
【図５】
2010170393.tif 000007
【図６】
2010170393.tif 000008
【図７】
2010170393.tif 000009
【図８】
2010170393.tif 000010