(57)【要約】【課題】ユーザがアクセス権限を有している検索結果を所定数ユーザに提供すること。【解決手段】検索キーワードと、検索結果が提示されるユーザのファイルアクセスに関する権限を示す権限ＩＤとを含む検索インデクステーブルから、前記検索キーワード及び前記権限ＩＤに応じたファイルの識別情報を取得し、取得された前記識別情報を所定の数含む検索結果情報を生成し、前記ユーザに提示する。【選択図】図６
2016167145.tif 000002
【特許請求の範囲】
【請求項１】
検索キーワードと、検索結果が提示されるユーザのファイルアクセスに関する権限を示す権限ＩＤとを含む検索インデクステーブルから、前記検索キーワード及び前記権限ＩＤに応じたファイルの識別情報を取得する検索部と、
前記検索部によって取得された前記識別情報を所定の数含む検索結果情報を生成し、前記ユーザに提示する検索制御部と、
を備える検索システム。
【請求項２】
前記検索制御部は、前記ユーザを示すユーザＩＤと前記権限ＩＤとを対応付けた権限ＩＤテーブルから、前記ユーザに応じた前記権限ＩＤを取得し、
前記検索部は、前記検索制御部によって取得された前記権限ＩＤに応じた前記ファイルの識別情報を取得する、請求項１に記載の検索システム。
【請求項３】
検索キーワードと、検索結果が提示されるユーザのファイルアクセスに関する権限を示す権限ＩＤとを含む検索インデクステーブルから、前記検索キーワード及び前記権限ＩＤに応じたファイルの識別情報を取得する検索ステップと、
前記検索ステップによって取得された前記識別情報を所定の数含む検索結果情報を生成し、前記ユーザに提示する検索制御ステップと、
を有する検索方法。
【請求項４】
検索キーワードと、検索結果が提示されるユーザのファイルアクセスに関する権限を示す権限ＩＤとを含む検索インデクステーブルから、前記検索キーワード及び前記権限ＩＤに応じたファイルの識別情報を取得する検索ステップと、
前記検索ステップによって取得された前記識別情報を所定の数含む検索結果情報を生成し、前記ユーザに提示する検索制御ステップと、
をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを検索する技術に関する。
【背景技術】
【０００２】
従来、グループウェア等のスケジュール管理機能に対してファイル共有機能が付加されたシステムが提供されている（特許文献１参照）。このようなシステムにおいて、ユーザはファイルを登録することによって、他のユーザとの間でファイルを共有することが可能である。また、ユーザは、自身又は他のユーザによって登録されたファイルを検索することが可能である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−０５４５０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、アクセス権限の無い検索結果が得られてしまい、ユーザが所望する検索結果が得られない場合があった。
上記事情に鑑み、本発明は、ユーザがアクセス権限を有している検索結果を所定数ユーザに提供することを目的としている。
【課題を解決するための手段】
【０００５】
本発明の一態様は、検索キーワードと、検索結果が提示されるユーザのファイルアクセスに関する権限を示す権限ＩＤとを含む検索インデクステーブルから、前記検索キーワード及び前記権限ＩＤに応じたファイルの識別情報を取得する検索部と、前記検索部によって取得された前記識別情報を所定の数含む検索結果情報を生成し、前記ユーザに提示する検索制御部と、を備える検索システムである。
【０００６】
本発明の一態様は、上記の検索システムであって、前記検索制御部は、前記ユーザを示すユーザＩＤと前記権限ＩＤとを対応付けた権限ＩＤテーブルから、前記ユーザに応じた前記権限ＩＤを取得し、前記検索部は、前記検索制御部によって取得された前記権限ＩＤに応じた前記ファイルの識別情報を取得する。
【０００７】
本発明の一態様は、検索キーワードと、検索結果が提示されるユーザのファイルアクセスに関する権限を示す権限ＩＤとを含む検索インデクステーブルから、前記検索キーワード及び前記権限ＩＤに応じたファイルの識別情報を取得する検索ステップと、前記検索ステップによって取得された前記識別情報を所定の数含む検索結果情報を生成し、前記ユーザに提示する検索制御ステップと、を有する検索方法である。
【０００８】
本発明の一態様は、検索キーワードと、検索結果が提示されるユーザのファイルアクセスに関する権限を示す権限ＩＤとを含む検索インデクステーブルから、前記検索キーワード及び前記権限ＩＤに応じたファイルの識別情報を取得する検索ステップと、前記検索ステップによって取得された前記識別情報を所定の数含む検索結果情報を生成し、前記ユーザに提示する検索制御ステップと、をコンピュータに実行させるためのコンピュータプログラムである。
【発明の効果】
【０００９】
本発明により、ユーザがアクセス権限を有している検索結果を所定数ユーザに提供することすることが可能となる。
【図面の簡単な説明】
【００１０】
【図１】検索システム１のシステム構成を表すシステム構成図である。
【図２】応答サーバ２００の機能構成の例を示す概略ブロック図である。
【図３】権限ＩＤテーブルの具体例を示す図である。
【図４】ファイルＩＤテーブルの具体例を示す図である。
【図５】検索サーバ３００の機能構成の例を示す概略ブロック図である。
【図６】インデクステーブルの具体例を示す図である。
【図７】検索システム１の処理の流れを示すシーケンスチャートである。
【発明を実施するための形態】
【００１１】
図１は、検索システム１のシステム構成を表すシステム構成図である。検索システム１は、ネットワーク４００を介して端末装置１００に接続される。検索システム１は、応答サーバ２００及び検索サーバ３００を備える。検索システム１は、ユーザによって操作される端末装置１００から検索の要求を受け付け、検索結果を端末装置１００に返す。
【００１２】
図２は、応答サーバ２００の機能構成の例を示す概略ブロック図である。応答サーバ２００は、メインフレームやワークステーションやパーソナルコンピュータなどの情報処理装置を用いて構成される。応答サーバ２００は、バスで接続されたＣＰＵ（Central Processing Unit）やメモリや補助記憶装置などを備える。応答サーバ２００は、応答プログラムを実行することによって、通信部２０１、権限ＩＤテーブル記憶部２０２、ファイルＩＤテーブル記憶部２０３及び検索制御部２０４を備える装置として機能する。なお、応答サーバ２００の各機能の全て又は一部は、ＡＳＩＣ（Application Specific Integrated Circuit）やＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを用いて実現されても良い。応答プログラムは、コンピュータ読み取り可能な記録媒体に記録されても良い。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ、半導体記憶装置（例えばＳＳＤ：Solid State Drive）等の可搬媒体、コンピュータシステムに内蔵されるハードディスクや半導体記憶装置等の記憶装置である。応答プログラムは、電気通信回線を介して送信されても良い。
【００１３】
通信部２０１は、ネットワーク４００を介して端末装置１００と通信する。通信部２０１は、ネットワーク又はバスなどの経路を介して検索サーバ３００と通信する。
【００１４】
権限ＩＤテーブル記憶部２０２は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。権限ＩＤテーブル記憶部２０２は、権限ＩＤテーブルを記憶する。図３は、権限ＩＤテーブルの具体例を示す図である。権限ＩＤテーブルは、複数の権限ＩＤレコード５１を有する。権限ＩＤレコード５１は、ユーザＩＤ及び権限ＩＤの値を有する。ユーザＩＤの値は、検索システム１において検索を行うユーザを一意に表す識別情報を示す。権限ＩＤの値は、ユーザに対して設定されているアクセス権限を示す識別情報を示す。各ファイルやフォルダには、アクセス権限として、権限ＩＤ毎に読み込み権限の有無、書き込み権限の有無、実行権限の有無が設定される。
【００１５】
ファイルＩＤテーブル記憶部２０３は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。ファイルＩＤテーブル記憶部２０３は、ファイルＩＤテーブルを記憶する。図４は、ファイルＩＤテーブルの具体例を示す図である。ファイルＩＤテーブルは、複数のファイルＩＤレコード５２を有する。ファイルＩＤレコード５２は、ファイルＩＤ、サムネイルファイル及び実ファイルの値を有する。ファイルＩＤの値は、検索対象となる各ファイルを一意に表す識別情報を示す。サムネイルファイルの値は、ファイルＩＤによって示されるファイルの概略を示す画像ファイル（以下、「サムネイルファイル」という。）を取得するための情報を示す。サムネイルファイルの値は、例えばサムネイルファイルのパスを表す情報であってもよい。実ファイルの値は、ファイルＩＤによって示されるファイルそのもの（以下、「実ファイル」という。）を取得するための情報を示す。実ファイルの値は、例えば実ファイルのパスを表す情報であってもよい。
【００１６】
図２の説明に戻る。検索制御部２０４は、端末装置１００から受ける検索の要求に応じた検索を検索サーバ３００に実行させる。そして、検索制御部２０４は、検索サーバ３００における検索の結果を端末装置１００に通知する。
【００１７】
具体的には以下のとおりである。検索制御部２０４は、ユーザによって指定された検索キーワードとセッションＩＤとを取得する。検索制御部２０４は、権限ＩＤテーブルを参照することによって、取得されたセッションＩＤのユーザＩＤに対応付けられた権限ＩＤを取得する。検索制御部２０４は、予め設定された検索数を取得する。検索数は、検索結果として提示されるファイルの数を示す値である。検索数は、応答サーバ２００において予め固定値として設定されてもよい。検索数は、ユーザが端末装置１００を操作することによって入力されてもよい。検索数は、端末装置１００において予め固定値として設定されてもよい。検索制御部２０４は、検索キーワード、検索数及び権限ＩＤを含む検索クエリを生成する。検索制御部２０４は、検索クエリを検索サーバ３００に送信することによって、検索サーバ３００に検索を実行させる。
【００１８】
検索制御部２０４は、検索サーバ３００における検索結果（予備検索結果情報）を受けると、検索結果に含まれるファイルＩＤを取得する。検索制御部２０４は、ファイルＩＤテーブルを参照することによって、取得されたファイルＩＤに対応付けられたサムネイルファイルを取得する。検索制御部２０４は、検索結果として得られた各ファイルについて、サムネイルファイルを表示するための情報（以下、「検索結果情報」という。）を生成する。そして、検索制御部２０４は、生成された検索結果情報を端末装置１００に送信する。
【００１９】
また、検索制御部２０４は、ファイルが新たに追加された際、ファイルの内容が変更された際、ファイルへのアクセス権限が変更された際、などのタイミングでインデクステーブルの更新を検索サーバ３００に依頼する。検索制御部２０４は、ファイルが新たに追加された際には、追加されたファイルを検索サーバ３００に送信することによってインデクステーブルの更新を依頼する。検索制御部２０４は、ファイルの内容が変更された際には、変更されたファイルを検索サーバ３００に送信することによってインデクステーブルの更新を依頼する。検索制御部２０４は、ファイルへのアクセス権限が変更された際には、変更後のアクセス権限を表す情報を検索サーバ３００に送信することによってインデクステーブルの更新を依頼する。以上が検索制御部２０４の処理である。
【００２０】
図５は、検索サーバ３００の機能構成の例を示す概略ブロック図である。検索サーバ３００は、メインフレームやワークステーションやパーソナルコンピュータなどの情報処理装置を用いて構成される。検索サーバ３００は、バスで接続されたＣＰＵやメモリや補助記憶装置などを備える。検索サーバ３００は、検索プログラムを実行することによって、通信部３０１、インデクステーブル記憶部３０２、検索部３０３及び更新部３０４を備える装置として機能する。なお、検索サーバ３００の各機能の全て又は一部は、ＡＳＩＣやＰＬＤやＦＰＧＡ等のハードウェアを用いて実現されても良い。検索プログラムは、コンピュータ読み取り可能な記録媒体に記録されても良い。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ、半導体記憶装置等の可搬媒体、コンピュータシステムに内蔵されるハードディスクや半導体記憶装置等の記憶装置である。検索プログラムは、電気通信回線を介して送信されても良い。
【００２１】
通信部３０１は、ネットワーク又はバスなどの経路を介して応答サーバ２００と通信する。
インデクステーブル記憶部３０２は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。インデクステーブル記憶部３０２は、インデクステーブルを記憶する。図６は、インデクステーブルの具体例を示す図である。インデクステーブルは、複数のインデクスレコード６１を有する。インデクスレコード６１は、検索キーワード、権限ＩＤ及びファイルＩＤの各値を有する。検索キーワードの値は、検索の対象となる文字列を示す。権限ＩＤの値は、権限ＩＤを示す。ファイルＩＤの値は、同一のインデクスレコード６１の検索キーワードを含み、且つ、同一のインデクスレコード６１の権限ＩＤにおいて読み込みが許可されているファイルのファイルＩＤを示す。１つのインデクスレコード６１に複数のファイルＩＤが登録されていてもよい。インデクステーブルは、更新部３０４によって生成され、更新される。
【００２２】
検索部３０３は、インデクステーブルを参照することによって、検索クエリに応じた検索処理を実行する。具体的には以下のとおりである。検索部３０３は、検索クエリから検索キーワード及び権限ＩＤを取得する。検索部３０３は、取得された検索キーワード及び権限ＩＤを有するインデクスレコード６１をインデクステーブルから取得する。検索部３０３は、取得されたインデクスレコード６１のファイルＩＤの値を、検索結果として取得する。検索部３０３は、検索処理によって取得されたファイルＩＤのうち、検索クエリに含まれる検索数に応じたファイルＩＤを含む予備検索結果情報を生成する。インデクステーブルのファイルＩＤに優先順位が付与されている場合、検索部３０３は、優先順位が高い方から検索数分のファイルＩＤを取得して予備検索結果情報を生成してもよい。
【００２３】
更新部３０４は、インデクステーブルの内容を生成し更新する。更新部３０４は、例えばファイルが新たに追加された際、ファイルの内容が変更された際、ファイルへのアクセス権限が変更された際、などのタイミングでインデクステーブルを更新する。ファイルが新たに追加された場合には、更新部３０４は、新たに追加されたファイルを応答サーバ２００から取得する。更新部３０４は、取得された新しいファイルに基づいてインデクステーブルを更新する。更新部３０４は、更新が完了すると、取得されたファイルを廃棄する。ファイルの内容が変更された場合には、更新部３０４は、変更後のファイルを応答サーバ２００から取得する。更新部３０４は、更新後のファイルに基づいてインデクステーブルを更新する。更新部３０４は、更新が完了すると、取得されたファイルを廃棄する。アクセス権限が変更された場合には、更新部３０４は、変更の内容を応答サーバ２００から取得する。更新部３０４は、変更の内容に基づいてインデクステーブルを更新する。
【００２４】
図７は、検索システム１の処理の流れを示すシーケンスチャートである。図７に示される処理が始まる前に、ユーザが端末装置１００を操作してログイン処理を行うことによって、端末装置１００と応答サーバ２００との間にセッションが形成される。応答サーバ２００は、端末装置１００を操作したユーザのユーザＩＤをログイン処理時に取得する。応答サーバ２００は、取得されたユーザＩＤと、形成されたセッションの識別情報（セッションＩＤ）とを対応付けて記憶する。
図７に示される処理について説明する。まず、ユーザが端末装置１００に検索キーワードを入力する。端末装置１００は、ユーザによる検索キーワードの入力を受け付ける（ステップＳ１０１）。端末装置１００は、ログイン処理によって応答サーバ２００との間に形成されたセッションの識別情報（セッションＩＤ）を取得する（ステップＳ１０２）。端末装置１００は、検索キーワード及びセッションＩＤを含む検索依頼情報を生成する（ステップＳ１０３）。そして、端末装置１００は、生成された検索依頼情報を応答サーバ２００へ送信する（ステップＳ１０４）。
【００２５】
応答サーバ２００の検索制御部２０４は、検索依頼情報が受信されると、自装置において予め設定されている検索数を取得する（ステップＳ１０５）。検索制御部２０４は、受信された検索依頼情報からセッションＩＤを取得する。検索制御部２０４は、取得されたセッションＩＤに対応付けられたユーザＩＤを取得する。検索制御部２０４は、権限ＩＤテーブルを参照し、取得されたユーザＩＤに対応付けられた権限ＩＤを取得する（ステップＳ１０６）。検索制御部２０４は、取得された権限ＩＤ、受信された検索依頼情報に含まれる検索キーワード及び検索数を含む検索クエリを生成する（ステップＳ１０７）。そして、検索制御部２０４は、生成された検索クエリを検索サーバ３００に送信する（ステップＳ１０８）。
【００２６】
検索サーバ３００の検索部３０３は、受信された検索クエリから検索キーワード及び権限ＩＤを取得する。検索部３０３は、インデクステーブルを参照し、検索キーワード及び権限ＩＤに対応付けられた複数のファイルＩＤを取得する（ステップＳ１０９）。検索部３０３は、取得された複数のファイルＩＤのうち、検索数に応じたファイルＩＤを含む予備検索結果情報を生成する（ステップＳ１１０）。そして、検索部３０３は、生成された予備検索結果情報を応答サーバ２００へ送信する（ステップＳ１１１）。
【００２７】
応答サーバ２００の検索制御部２０４は、ファイルＩＤテーブルを参照し、受信された予備検索結果情報に含まれるファイルＩＤ毎にサムネイルファイルを取得する（ステップＳ１１２）。検索制御部２０４は、取得されたサムネイルファイルを表示するための検索結果情報を生成する（ステップＳ１１３）。そして、検索制御部２０４は、検索依頼情報の送信元である端末装置１００に対し、生成された検索結果情報を送信する（ステップＳ１１４）。
端末装置１００は、応答サーバ２００から検索結果情報を受信すると、受信された検索結果情報を表示する（ステップＳ１１５）。
【００２８】
このように構成された検索システム１では、ユーザがアクセス権限を有しているファイルのみについて所定の検索数に応じた数のファイルＩＤが検索結果として得られる。そのため、ユーザがアクセス権限を有している検索結果を所定数ユーザに提供することが可能となる。以下、このような検索システム１の効果について詳細に説明する。
【００２９】
従来は、アクセス権限に係わらない検索結果が得られていた。ユーザに対して所定数の検索結果を提示する場合、検索結果として所定数のものが得られた後に、ユーザがアクセス権限を有しているか否かが判定されていた。そのため、万が一検索結果の中にユーザがアクセス権限を有していないものが含まれていた場合、検索結果が所定数に満たなくなってしまい、ユーザが所望する検索結果が得られない場合があった。また、追加で検索を行うことによって検索結果が所定数に達するように処理される場合もあったが、処理に時間を要してしまっていた。
【００３０】
このような問題に対し、上述した検索システム１では、インデクステーブルにおいて権限ＩＤの値が各レコードに組み込まれている。そのため、ユーザが権限ＩＤを有するものに絞って検索結果を取得することが可能となっている。したがって、検索結果の中にユーザがアクセス権限を有していないものが含まれてしまうことを防止できる。このような処理により、ユーザが所望する検索結果を所定数ユーザに提供することが可能となる。
【００３１】
（変形例）
上述した検索システム１では、各機能が応答サーバ２００と検索サーバ３００とに分けて配置されている。しかしながら、検索システム１における各機能は、１つの装置として設けられてもよいし、３つ以上の装置に分散して設けられてもよい。
【００３２】
端末装置１００に相当する機能は、検索システム１に設けられてもよい。例えば、ユーザが検索キーワード等を入力するための入力インタフェースと、ユーザに対して検索結果情報を提示するための出力インタフェースと、が検索システム１に設けられてもよい。
【００３３】
上述した実施形態における検索システム１の機能をコンピュータで実現するようにしても良い。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００３４】
１…検索システム，  １００…端末装置，  ２００…応答サーバ，  ３００…検索サーバ，  ２０１…通信部，  ２０２…権限ＩＤテーブル記憶部，  ２０３…ファイルＩＤテーブル記憶部，  ２０４…検索制御部，  ３０１…通信部，  ３０２…インデクステーブル記憶部，  ３０３…検索部，  ３０４…更新部
【図１】
2016167145.tif 000003
【図２】
2016167145.tif 000004
【図３】
2016167145.tif 000005
【図４】
2016167145.tif 000006
【図５】
2016167145.tif 000007
【図６】
2016167145.tif 000008
【図７】
2016167145.tif 000009