(57)【要約】【課題】全文検索を可能にすべきファイルと、全文検索が不要なファイルが存在しているファイル検索環境において、全文検索を可能にすべきファイルと全文検索が不要なファイルについて異なったインデックスファイルを作成することで、より効果的な検索を行うファイル検索システム及びプログラムを提供する。【解決手段】ファイル検索サーバ１、ファイルサーバ４及びクライアント３が、通信回線９を介して通信自在に接続されたファイル検索システムであって、ファイル検索サーバ１は、クライアント３からの検索要求を受信すると、インデックス２ファイル２２から検索条件式に基づきメタデータ合致レコードを選択するメタデータ検索手段と、検索条件式及びメタデータ合致レコードに基づきインデックス１ファイル２１に対してキーワードを参照して検索する全文検索手段と、検索結果をクライアント３へ送信する手段等を備える。【選択図】図１
2011065546.tif 000002
【特許請求の範囲】
【請求項１】
ファイル検索サーバ、ファイルサーバ及びクライアントが、有線又は無線の通信回線を介して通信自在に接続されたファイル検索システムであって、
前記ファイル検索サーバは、
前記ファイルサーバに接続された記憶装置の検索対象ファイルから、少なくともファイル名、ファイルパス、アクセス権限及びキーワードを含むインデックス１レコードを作成し、インデックス１ファイルに保存するインデックス１作成手段と、
検索対象ファイルから、少なくともファイル名及びファイルパスを含むシステムメタデータと、標準メタデータと、ユーザ定義メタデータとから成るインデックス２レコードを作成し、インデックス２ファイルに保存するインデックス２作成手段と、
前記クライアントからの検索要求を受信すると、検索要求に含まれる検索条件式を解析し、メタデータ検索を行うか判定する手段と、
メタデータ検索を行うと判定した場合、インデックス２ファイルのインデックス２レコードから前記検索条件式に基づき条件に合致するメタデータ合致レコードを選択するメタデータ検索手段と、
メタデータ検索を行った後、又はメタデータ検索を行わないと判定した場合、前記検索条件式から、全文検索を行うか判定する手段と
全文検索を行うと判定した場合、前記検索条件式及び前記メタデータ合致レコードに基づき前記インデックス１ファイルに対して前記キーワードを参照して検索する全文検索手段と、
全文検索を実行した場合は、検索されたキーワード合致レコードであるインデックス１レコードの各データ項目を前記クライアントへ送信し、全文検索を行わないと判定した場合は、前記メタデータ合致レコードを前記クライアントへ送信する手段とを備えることを特徴とするファイル検索システム。
【請求項２】
前記ファイル検索サーバは、前記インデックス１ファイルを検索するインデックス１検索手段と、
その他の検索を行うその他検索手段とを備え、
前記その他検索手段は、
全文検索を行うと判定された場合、前記検索条件式から、全文検索の条件を抽出する手段と、
抽出した全文検索の条件を、前記メタデータ合致レコードのファイルパス、及び前記クライアントから受信した利用者ＩＤとともに、前記インデックス１検索手段に送信する手段とを備え、
前記インデックス１検索手段は、
前記その他検索手段から、前記全文検索の条件を、前記メタデータ合致レコードのファイルパス及び利用者ＩＤとともに受信すると、受信したメタデータ合致レコードのファイルパス全てにつき、ファイルパスに同一値が設定されているインデックス１レコードを参照し、当該レコードのアクセス権限により、受信した利用者ＩＤがアクセス権限を有するか判定する手段と、
アクセス権限を有すると判定した場合、当該レコードのキーワードが前記全文検索の条件を満足するか判定する手段とを備えることを特徴とする請求項１記載のファイル検索システム。
【請求項３】
前記ファイル検索サーバが、前記インデックス１作成手段と、前記インデックス１検索手段とを備える構成に代えて、
前記通信回線に更に通信自在に接続されて設けられる第２ファイル検索サーバが、前記インデックス１作成手段と、前記インデックス１検索手段とを備えることを特徴とする請求項２記載のファイル検索システム。
【請求項４】
前記通信回線に更にＷＥＢサーバがインターネットを介して通信自在に接続されたファイル検索システムであって、
前記インデックス１作成手段は、前記ＷＥＢサーバの記憶装置に記憶された検索対象ファイルについて、ＷＥＢクローリングによりインデックス１ファイルを作成する手段を含み、
前記インデックス１検索手段は、前記インデックス１作成手段により作成された前記インデックス１ファイルを検索する手段を含むことを特徴とする請求項３記載のファイル検索システム。
【請求項５】
ファイル検索サーバ、ファイルサーバ及びクライアントが、有線又は無線の通信回線を介して通信自在に接続されたファイル検索システムのファイル検索システム用プログラムであって、
前記ファイル検索サーバに、
前記ファイルサーバに接続された記憶装置の検索対象ファイルから、少なくともファイル名、ファイルパス、アクセス権限及びキーワードを含むインデックス１レコードを作成し、インデックス１ファイルに保存するインデックス１作成機能と、
検索対象ファイルから、少なくともファイル名及びファイルパスを含むシステムメタデータと、標準メタデータと、ユーザ定義メタデータとから成るインデックス２レコードを作成し、インデックス２ファイルに保存するインデックス２作成機能と、
前記クライアントからの検索要求を受信すると、検索要求に含まれる検索条件式を解析し、メタデータ検索を行うか判定する機能と、
メタデータ検索を行うと判定した場合、インデックス２ファイルのインデックス２レコードから前記検索条件式に基づき条件に合致するメタデータ合致レコードを選択するメタデータ検索機能と、
メタデータ検索を行った後、又はメタデータ検索を行わないと判定した場合、前記検索条件式から、全文検索を行うか判定する機能と
全文検索を行うと判定した場合、前記検索条件式及び前記メタデータ合致レコードに基づき前記インデックス１ファイルに対して前記キーワードを参照して検索する全文検索機能と、
全文検索を実行した場合は、検索されたキーワード合致レコードであるインデックス１レコードの各データ項目を前記クライアントへ送信し、全文検索を行わないと判定した場合は、前記メタデータ合致レコードを前記クライアントへ送信する機能とを実行させることを特徴とするファイル検索システム用プログラム。
【請求項６】
前記ファイル検索サーバに、前記インデックス１ファイルを検索するインデックス１検索機能と、
その他の検索を行うその他検索機能とを実行させ、
前記その他検索機能は、前記ファイル検索サーバに、
全文検索を行うと判定された場合、前記検索条件式から、全文検索の条件を抽出する機能と、
抽出した全文検索の条件を、前記メタデータ合致レコードのファイルパス、及び前記クライアントから受信した利用者ＩＤとともに、前記インデックス１検索機能に送信する機能とを実行させ、
前記インデックス１検索機能は、前記ファイル検索サーバに、
前記その他検索機能から、前記全文検索の条件を、前記メタデータ合致レコードのファイルパス及び利用者ＩＤとともに受信すると、受信したメタデータ合致レコードのファイルパス全てにつき、ファイルパスに同一値が設定されているインデックス１レコードを参照し、当該レコードのアクセス権限により、受信した利用者ＩＤがアクセス権限を有するか判定する機能と、
アクセス権限を有すると判定した場合、当該レコードのキーワードが、前記全文検索の条件を満足するか判定する機能とを実行させることを特徴とする請求項５記載のファイル検索システム用プログラム。
【請求項７】
前記ファイル検索サーバに、前記インデックス１作成機能と、前記インデックス１検索機能とを実行させることに代えて、
前記通信回線に更に通信自在に接続されて設けられる第２ファイル検索サーバに、前記インデックス１作成機能と、前記インデックス１検索機能とを実行させることを特徴とする請求項６記載のファイル検索システム用プログラム。
【請求項８】
前記通信回線に更にＷＥＢサーバがインターネットを介して通信自在に接続されたファイル検索システムのファイル検索システム用プログラムであって、
前記インデックス１作成機能は、前記第２ファイル検索サーバに、前記ＷＥＢサーバの記憶装置に記憶された検索対象ファイルについて、ＷＥＢクローリングによりインデックス１ファイルを作成する機能を実行させ、
前記インデックス１検索機能は、前記第２ファイル検索サーバに、前記インデックス１作成機能により作成された前記インデックス１ファイルを検索する機能を実行させることを特徴とする請求項７記載のファイル検索システム用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索対象ファイルについて予めインデックスファイルを作成し、インデックスファイルを参照してファイルを検索する、ファイル検索システム及びプログラムに関するものである。
【背景技術】
【０００２】
近年、情報のデジタル化が急速に進展している。かつては、銀行の口座や市町村の住民票等、企業・官公庁等のコンピュータシステムが基幹業務を実行するために参照するためのデータを、ファイルやＤＢ（Data Base）に記憶するというのがデジタル化の中心だった。
【０００３】
一方、現在では、企業等の組織において日常業務で作成される各種の書類が、各従業員のクライアントＰＣ（Personal Computer）に文書ファイルとして記憶され、電子メールの添付文書として他のクライアントＰＣに送信され、あるいは、組織全体の共有情報としてファイルサーバに記憶される。そして、ファイルサーバに記憶された文書ファイルは、さまざまな従業員により参照され、時にはクライアントＰＣに複製され、更新される。
このようにして、多量のデジタル情報がさまざまなコンピュータに分散記憶されることにより、組織内に、重複あるいは類似した多数のデジタル情報が存在することになる。また、各デジタル情報の記憶容量も増大し続けている。
【０００４】
一方、組織内において、例えば、既に退職した従業員がかつて作成した文書ファイルが必要になる等、記憶場所が不明なデジタル情報を参照したい場合が多々生ずる。このような場合、文書ファイル内に含まれているはずのキーワードによる全文検索等によって文書ファイル等を検索するという方法が頻繁に行われている。
ところで、組織内の全てのコンピュータからデジタル情報を検索しようとすると、各従業員のクライアントＰＣにも全ての従業員からのアクセスを許可する必要があり、セキュリティ上好ましくない。このため、組織全体で共有すべきデジタル情報については所定のファイルサーバに記憶しておくということが一般に行われている。
しかしながら、文書ファイル等を所定のいくつかのファイルサーバに記憶させたとしても、文書ファイルが必要になるたびにファイルサーバに記憶されている全てのファイルを検索しようとすると、ファイルＩＯ（Input Output）等を行うための膨大な時間を必要とする。
【０００５】
このため、特許文献１のように、ファイルサーバに記憶されている文書ファイル等について、記憶場所やキーワード等、検索に使用するための比較的小容量の情報（インデックス情報）をインデックスファイルとして記憶するという技術が知られている。すなわち、インデックスファイルを作成することで、検索時に、複数ファイルについてのインデックス情報を１回のファイルＩＯで取得することが可能となり、各文書ファイル等へのファイルＩＯを不要とすることができる。この結果、ファイル検索時のレスポンスタイムを短くすることができるとともに、ファイルサーバの負荷を軽減することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−１６２５４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に開示されたような技術によってファイル検索を行うためには、検索対象としたい全てのファイルについて、インデックスファイルを作成する必要がある。
インデックス情報の記憶容量は、ファイル自体と比べれば比較的小さいものの、キーワードによる全文検索を行うことができるようにするためには、ファイルに含まれるキーワードを解析してインデックス情報に記憶しておく必要があり、ファイルに含まれるキーワードの数が多くなれば、それだけ大きな容量を必要とする。従って、検索対象としたいファイルの数が増えるほど、インデックスファイルの記憶容量は大きくなっていく。
【０００８】
ここで、例えば組織内におけるファイル検索を検討すると、ファイルを共有のファイルサーバに記憶する場合であっても、部署ごとにアクセス可能なフォルダ等が限定されており、当該限定されたフォルダ等の配下にファイルを記憶し、検索する場合が多い。このような場合、フォルダに、例えば“作業報告書用フォルダ”といったような名称を付けておき、当該フォルダ内には当該名称に合致したファイルを記憶しておくという方法、すなわちフォルダによってファイルを分類するという方法をとる場合が多い。そして、このようにした場合、フォルダのツリー構造を手繰っていくことで必要なファイルが検索できるので、キーワードによる全文検索を必要とすることはまれである。
【０００９】
従って、ファイルを間違ったフォルダに記憶したような場合でも、ファイルの使用目的、タイトル等による小容量のインデックスファイルがあれば、当該インデックスファイルのインデックス情報を参照して検索できる場合が多い。
すなわち、組織内において作成された文書等のファイルについては、ファイルの使用目的、タイトル等による小容量のインデックスファイルがあれば検索できることが多い。一方、例えば、特許文献、技術論文等、組織外部から入手したファイルや、ＷＥＢサーバなど、組織外部のサーバに存在しているファイルについては、入手した時点では意図しなかった用途で参照することも多く、キーワードによる全文検索が必要な場合も多い。
このように組織におけるファイル検索を検討すると、全文検索を可能にすべきファイルと、全文検索が不要なファイルが存在している。これは組織に限ったことではなく、例えば個人的に行うファイル検索についても同じである。
【００１０】
以上の現状に鑑み、本発明は、全文検索を可能にすべきファイルと、全文検索が不要なファイルが存在しているファイル検索環境において、全文検索を可能にすべきファイルと全文検索が不要なファイルについて異なったインデックスファイルを作成することで、より効果的な検索を行うファイル検索システム及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記の課題を解決すべく、本発明は以下の構成を提供する。
請求項１に係る発明は、ファイル検索サーバ、ファイルサーバ及びクライアントが、有線又は無線の通信回線を介して通信自在に接続されたファイル検索システムであって、
前記ファイル検索サーバは、
前記ファイルサーバに接続された記憶装置の検索対象ファイルから、少なくともファイル名、ファイルパス、アクセス権限及びキーワードを含むインデックス１レコードを作成し、インデックス１ファイルに保存するインデックス１作成手段と、
検索対象ファイルから、少なくともファイル名及びファイルパスを含むシステムメタデータと、標準メタデータと、ユーザ定義メタデータとから成るインデックス２レコードを作成し、インデックス２ファイルに保存するインデックス２作成手段と、
前記クライアントからの検索要求を受信すると、検索要求に含まれる検索条件式を解析し、メタデータ検索を行うか判定する手段と、
メタデータ検索を行うと判定した場合、インデックス２ファイルのインデックス２レコードから前記検索条件式に基づき条件に合致するメタデータ合致レコードを選択するメタデータ検索手段と、
メタデータ検索を行った後、又はメタデータ検索を行わないと判定した場合、前記検索条件式から、全文検索を行うか判定する手段と
全文検索を行うと判定した場合、前記検索条件式及び前記メタデータ合致レコードに基づき前記インデックス１ファイルに対して前記キーワードを参照して検索する全文検索手段と、
全文検索を実行した場合は、検索されたキーワード合致レコードであるインデックス１レコードの各データ項目を前記クライアントへ送信し、全文検索を行わないと判定した場合は、前記メタデータ合致レコードを前記クライアントへ送信する手段とを備えることを特徴とするファイル検索システムを提供するものである。
【００１２】
請求項２に係る発明は、前記ファイル検索サーバは、前記インデックス１ファイルを検索するインデックス１検索手段と、
その他の検索を行うその他検索手段とを備え、
前記その他検索手段は、
全文検索を行うと判定された場合、前記検索条件式から、全文検索の条件を抽出する手段と、
抽出した全文検索の条件を、前記メタデータ合致レコードのファイルパス、及び前記クライアントから受信した利用者ＩＤとともに、前記インデックス１検索手段に送信する手段とを備え、
前記インデックス１検索手段は、
前記その他検索手段から、前記全文検索の条件を、前記メタデータ合致レコードのファイルパス及び利用者ＩＤとともに受信すると、受信したメタデータ合致レコードのファイルパス全てにつき、ファイルパスに同一値が設定されているインデックス１レコードを参照し、当該レコードのアクセス権限により、受信した利用者ＩＤがアクセス権限を有するか判定する手段と、
アクセス権限を有すると判定した場合、当該レコードのキーワードが前記全文検索の条件を満足するか判定する手段とを備えることを特徴とする請求項１記載のファイル検索システムを提供するものである。
【００１３】
請求項３に係る発明は、前記ファイル検索サーバが、前記インデックス１作成手段と、前記インデックス１検索手段とを備える構成に代えて、
前記通信回線に更に通信自在に接続されて設けられる第２ファイル検索サーバが、前記インデックス１作成手段と、前記インデックス１検索手段とを備えることを特徴とする請求項２記載のファイル検索システムを提供するものである。
【００１４】
請求項４に係る発明は、前記通信回線に更にＷＥＢサーバがインターネットを介して通信自在に接続されたファイル検索システムであって、
前記インデックス１作成手段は、前記ＷＥＢサーバの記憶装置に記憶された検索対象ファイルについて、ＷＥＢクローリングによりインデックス１ファイルを作成する手段を含み、
前記インデックス１検索手段は、前記インデックス１作成手段により作成された前記インデックス１ファイルを検索する手段を含むことを特徴とする請求項３記載のファイル検索システムを提供するものである。
【００１５】
請求項５に係る発明は、ファイル検索サーバ、ファイルサーバ及びクライアントが、有線又は無線の通信回線を介して通信自在に接続されたファイル検索システムのファイル検索システム用プログラムであって、
前記ファイル検索サーバに、
前記ファイルサーバに接続された記憶装置の検索対象ファイルから、少なくともファイル名、ファイルパス、アクセス権限及びキーワードを含むインデックス１レコードを作成し、インデックス１ファイルに保存するインデックス１作成機能と、
検索対象ファイルから、少なくともファイル名及びファイルパスを含むシステムメタデータと、標準メタデータと、ユーザ定義メタデータとから成るインデックス２レコードを作成し、インデックス２ファイルに保存するインデックス２作成機能と、
前記クライアントからの検索要求を受信すると、検索要求に含まれる検索条件式を解析し、メタデータ検索を行うか判定する機能と、
メタデータ検索を行うと判定した場合、インデックス２ファイルのインデックス２レコードから前記検索条件式に基づき条件に合致するメタデータ合致レコードを選択するメタデータ検索機能と、
メタデータ検索を行った後、又はメタデータ検索を行わないと判定した場合、前記検索条件式から、全文検索を行うか判定する機能と
全文検索を行うと判定した場合、前記検索条件式及び前記メタデータ合致レコードに基づき前記インデックス１ファイルに対して前記キーワードを参照して検索する全文検索機能と、
全文検索を実行した場合は、検索されたキーワード合致レコードであるインデックス１レコードの各データ項目を前記クライアントへ送信し、全文検索を行わないと判定した場合は、前記メタデータ合致レコードを前記クライアントへ送信する機能とを実行させることを特徴とするファイル検索システム用プログラムを提供するものである。
【００１６】
請求項６に係る発明は、前記ファイル検索サーバに、前記インデックス１ファイルを検索するインデックス１検索機能と、
その他の検索を行うその他検索機能とを実行させ、
前記その他検索機能は、前記ファイル検索サーバに、
全文検索を行うと判定された場合、前記検索条件式から、全文検索の条件を抽出する機能と、
抽出した全文検索の条件を、前記メタデータ合致レコードのファイルパス、及び前記クライアントから受信した利用者ＩＤとともに、前記インデックス１検索機能に送信する機能とを実行させ、
前記インデックス１検索機能は、前記ファイル検索サーバに、
前記その他検索機能から、前記全文検索の条件を、前記メタデータ合致レコードのファイルパス及び利用者ＩＤとともに受信すると、受信したメタデータ合致レコードのファイルパス全てにつき、ファイルパスに同一値が設定されているインデックス１レコードを参照し、当該レコードのアクセス権限により、受信した利用者ＩＤがアクセス権限を有するか判定する機能と、
アクセス権限を有すると判定した場合、当該レコードのキーワードが、前記全文検索の条件を満足するか判定する機能とを実行させることを特徴とする請求項５記載のファイル検索システム用プログラムを提供するものである。
【００１７】
請求項７に係る発明は、前記ファイル検索サーバに、前記インデックス１作成機能と、前記インデックス１検索機能とを実行させることに代えて、
前記通信回線に更に通信自在に接続されて設けられる第２ファイル検索サーバに、前記インデックス１作成機能と、前記インデックス１検索機能とを実行させることを特徴とする請求項６記載のファイル検索システム用プログラムを提供するものである。
【００１８】
請求項８に係る発明は、前記通信回線に更にＷＥＢサーバがインターネットを介して通信自在に接続されたファイル検索システムのファイル検索システム用プログラムであって、
前記インデックス１作成機能は、前記第２ファイル検索サーバに、前記ＷＥＢサーバの記憶装置に記憶された検索対象ファイルについて、ＷＥＢクローリングによりインデックス１ファイルを作成する機能を実行させ、
前記インデックス１検索機能は、前記第２ファイル検索サーバに、前記インデックス１作成機能により作成された前記インデックス１ファイルを検索する機能を実行させることを特徴とする請求項７記載のファイル検索システム用プログラムを提供するものである。
【発明の効果】
【００１９】
本発明によれば、全文検索を可能にすべきファイルと、全文検索が不要なファイルが存在しているファイル検索環境において、全文検索を可能にすべきファイルと全文検索が不要なファイルについて異なったインデックスファイルを作成することで、より効果的な検索を行うファイル検索プログラムを提供することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施例１に係るファイル検索システムのシステム構成図である。
【図２】本発明の実施例１に係るインデックス１ファイルのデータ構成図である。
【図３】本発明の実施例１に係るインデックス２ファイルのデータ構成図である。
【図４】本発明の実施例１に係るシステムメタデータのデータ構成図である。
【図５】本発明の実施例１に係る標準メタデータのデータ構成図である。
【図６】本発明の実施例１に係る仮想分類定義ファイルのデータ構成図である。
【図７】本発明の実施例１に係る関連定義ファイルのデータ構成図である。
【図８】本発明の実施例１に係るインデックス１作成プログラムの動作を示すフローチャートである。
【図９】本発明の実施例１に係るインデックス２作成プログラムの動作を示すフローチャートである。
【図１０】本発明の実施例１に係る検索要求プログラムの動作を示すフローチャートである。
【図１１】本発明の実施例１に係る検索プログラムの動作を示すフローチャートである。
【図１２】本発明の実施例１に係るインデックス１検索プログラムの動作を示すフローチャートである。
【図１３】本発明の実施例１に係るログイン画面を例示した図である。
【図１４】本発明の実施例１に係る検索要求画面を例示した図である。
【図１５】本発明の実施例１に係るツリー表示がなされた検索要求画面を例示した図である。
【図１６】本発明の実施例１に係る複合検索における検索プログラム等の動作を示すフローチャートである。
【図１７】本発明の実施例１に係る検索要求画面での検索結果の表示内容を例示した図である。
【図１８】本発明の実施例１に係る検索要求画面での関連検索結果の表示内容を例示した図である。
【図１９】本発明の実施例２に係るファイル検索システムのシステム構成図である。
【発明を実施するための形態】
【００２１】
以下、実施例を示した図面を参照しつつ本発明の実施の形態を説明する。
なお、上記ファイル検索サーバ、第２ファイル検索サーバ、ファイルサーバ、クライアント、及び、ＷＥＢサーバは、コンピュータであり、上記各手段は、コンピュータのＣＰＵが必要なコンピュータプログラムを読み込んで実行することにより実現される手段であり、そのフローチャート図が図８乃至図１２、及び、図１６である。
又、以降の説明において「ファイル」とは、特に説明を付さない限り、文書ファイル、画像ファイル等のファイルのみならず、データベース全体やデータベースの各レコード等も含み、閲覧、視聴、メール送受信あるいは外部記憶媒体へのコピー等の対象となりうる電子データを意味する。
【実施例１】
【００２２】
図１は、本発明に係る実施例１のファイル検索システムのシステム構成図である。
＜ファイル検索システム全体の構成・機能＞
実施例１のファイル検索システムは、ファイル検索サーバ１、ファイルサーバ４及びクライアント３を、ＬＡＮ（Local Area Network）等の有線又は無線の通信回線９により通信可能に接続したシステムである。ここで、ファイル検索サーバ１、ファイルサーバ４及びクライアント３はそれぞれ１台ずつ図示しているが、それぞれ２台以上存在していてもよい。また、通信回線９はＬＡＮに限定されるものではなく、例えばＷＡＮ（Wide Area Network）やインターネットとすることもできるし、これらの組み合わせとすることもできる。
【００２３】
以上のような構成により、後に詳述するように、ファイル検索サーバ１はファイルサーバ４に記憶されているファイルの名称等を収集して、インデックスファイルを作成して記憶しておくことができる。そして、クライアント３はファイル検索サーバ１にファイル検索要求（以下「検索要求」と略記することがある。）を送信し、ファイル検索サーバ１は上述のインデックスファイルを参照してファイル検索を行い、クライアント３にファイル検索結果（以下「検索結果」と略記することがある。）を送信することができる。
【００２４】
＜クライアント３の構成・機能＞
クライアント３はＰＣ等の装置であり、入力装置３２、表示装置３３と通信可能に接続されている。入力装置３２はキーボード、マウス等の装置であり、クライアント３の操作者は入力装置３２を操作することで、クライアント３が実行するべき処理を指示することができる。すなわち入力装置３２はクライアント３の入力手段として機能する。
表示装置３３は液晶ディスプレイ、プリンタ等の装置であり、クライアント３が実行した処理の結果等を表示あるいは印刷出力する。すなわち表示装置３３はクライアント３の表示手段および出力手段として機能する。また、図示していないが、クライアント３は磁気ディスク等からなる記憶装置を内蔵、あるいは外部接続している。記憶装置と、図示していないがクライアント３の主記憶装置等は、クライアント３の記憶手段として機能する。
【００２５】
クライアント３は図示していないがＣＰＵ（Central Processing Unit）、主記憶装置等を備えており、ＣＰＵは、図示していないが、記憶装置に記憶されている検索要求プログラム３１等のプログラムを主記憶上にローディングし、その命令コードを実行することで各種の処理を実行する。また、ＣＰＵは、検索要求プログラム３１等の応用プログラムの命令コードを実行する際、ＯＳ（Operating System）等のプログラムの命令コードも実行する場合がある。以上のようなプログラム実行にかかわる技術は周知であるので、以降の説明および図面においては、プログラム実行に係る説明が煩雑になるのを避けるため、検索要求プログラム３１等が主体となって処理を実行するかのように記載する。なお、各プログラムの機能を電子装置または電子装置とファームウェアの組合せ等で実現することも可能である。
【００２６】
検索要求プログラム３１は、クライアント３の操作者が入力装置３２によって入力したファイル検索条件およびファイル検索指示（例えば、ファイル名が「作業報告」であるファイルを検索するように、という指示）を受けて、検索条件式を作成し、ファイル検索サーバ１に検索条件式を含む検索要求を送信する。また、ファイル検索サーバ１がクライアント３に送信した検索結果を受信し、表示装置３３に表示する。検索要求プログラム３１は、実施例１に係わる独自のプログラムであってもよいし、例えばＷＥＢブラウザであってもよい。ＷＥＢブラウザを検索要求プログラム３１として使用する場合、後述するファイル検索サーバ１の検索プログラム１３は、例えばＷＥＢアプリケーションとすればよい。
【００２７】
＜ファイルサーバ４の構成・機能＞
ファイルサーバ４はＰＣ等の装置であり、記憶装置４２と通信可能に接続されている。記憶装置４２は磁気ディスク等の装置であり、ファイルサーバ４に内蔵され又は外部接続される。図１では、１台の記憶装置４２がファイルサーバ４に接続されているかのように例示しているが、実際には、むしろ２台以上の記憶装置４２がファイルサーバ４に接続されることが多く、また、２台以上の記憶装置４２が２台以上のファイルサーバ４に、切り替え可能に接続されることも多い。
【００２８】
記憶装置４２にはさまざまなファイルが記憶されているが、図１では、ファイルのうち後述するファイル検索サーバ１がインデックス作成対象とするものを、「検索対象ファイル４３」と記述している。すなわち、検索対象ファイル４３という特定のファイルが存在するのではなく、検索対象ファイル４３は、例えば記憶装置４２に記憶されている全てのファイルであってもよいし、あるいは、特定のフォルダ内の全てのファイル等、記憶装置４２に記憶されている一部のファイルであってもよい。
ファイルサーバ４はファイル管理プログラム４１を備えている。ファイル管理プログラム４１は、検索対象ファイル４３を含め、記憶装置４２に記憶されているファイルの記憶位置等を管理する。また、ファイル管理プログラム４１は、ファイル検索サーバ１からファイルの格納場所等を受信し、当該格納場所に記憶された検索対象ファイル４３等を読み込み、当該ファイルの記憶内容をファイル検索サーバ１に送信する機能も有している。
【００２９】
＜ファイル検索サーバ１の構成・機能＞
ファイル検索サーバ１はＰＣ等の装置であり、記憶装置２と通信可能に接続されている。
記憶装置２は磁気ディスク等の装置であり、ファイルサーバ１に内蔵され又は外部接続される。図１では、１台の記憶装置２がファイル検索サーバ１に接続されているかのように例示しているが、２台以上であってもよい。記憶装置２と、図示していないがファイルサーバ１の主記憶装置等は、ファイルサーバ１の記憶手段として機能する。
記憶装置２には、インデックス１ファイル２１、インデックス２ファイル２２、仮想分類定義ファイル２３及び関連定義ファイル２４が記憶されている。これらのファイルの記憶内容等については、以降のファイル検索サーバ１の機能説明と合わせて説明する。
ファイル検索サーバ１は、インデックス１作成プログラム１１、インデックス２作成プログラム１２、検索プログラム１３及びインデックス１検索プログラム１４を備えている。
インデックス１作成プログラム１１は、例えば毎日同じ時刻等の所定のタイミングで、検索対象ファイル４３を参照し、インデックス１ファイル２１を作成する。インデックス１ファイル２１には、後述するように、ファイル名、ファイル内容から抽出したキーワード等が記憶される。
【００３０】
どのファイルを検索対象ファイル４３とするかは、例えば、図示していないが、予め記憶装置２に記憶装置４２のファイルパス（“/etc/usr1/”等）を１以上記憶しておき、当該ファイルパス配下のファイルを検索対象ファイル４３とすることができる。なお、記憶装置４２が２台以上存在する場合等には、当該ファイルパスがどの記憶装置上に存在するか等も含めて記憶しておけばよい。以上のようにインデックス１ファイル２１を作成することで、インデックス１ファイル２１を参照してファイル検索することが可能になり、検索の都度、検索対象ファイル４３を参照する必要がなくなるので、検索に要する処理時間を短縮することができる。
【００３１】
なお、以上のように、インデックス１ファイル２１を参照して検索する場合、インデックス１ファイル２１作成後に検索対象ファイル４３が削除されあるいは変更された場合（例えばファイル名が「作業報告」であるファイルについてインデックス１ファイル２１が作成された後、当該ファイルが削除された場合）、インデックス１ファイル２１を検索すると、検索対象ファイル４３を検索した場合とは異なる検索結果が得られることになる（インデックス１ファイル２１を参照するとファイル名が「作業報告」のファイルが存在しているように見えるが、検索対象ファイル４３には存在していない）。そこで、前述したように、インデックス１作成プログラム１１は、例えば毎日同じ時刻等の所定のタイミングで処理を行うようにすることができる。このようにすることで、インデックス１ファイル２１が定期的に更新され、検索対象ファイル４３と大きく乖離することを防ぐことができる。
【００３２】
そして、インデックス１作成プログラム１１が処理を行うタイミングの間隔を短くすることで（例えば、１時間おきに処理を行うようにすることで）、インデックス１ファイル２１と検索対象ファイル４３の乖離を、より小さくすることができる。ただし、インデックス１作成プログラム１１が処理を行うタイミングの間隔を短くするということは、検索対象ファイル４３の全ファイルに対するＩＯが発生する間隔も短くなるということなので、ファイルサーバ４の性能等も考慮した上で、インデックス１作成プログラム１１が処理を行うタイミングの間隔を決める必要がある。
【００３３】
例えば、ファイルサーバ４において、ＣＰＵ使用率、一定時間におけるＩＯ頻度等を常時監視するプログラムを走行させておき、ＣＰＵ使用率、一定時間におけるＩＯ頻度等が所定値以下になった場合に、その旨をインデックス１作成プログラム１１に送信し、インデックス１作成プログラム１１が処理開始する等も、有効な方法である。あるいは、ファイルサーバ４において、検索対象ファイル４３におけるＩＯを常時監視するプログラムを走行させておき、検索対象ファイル４３が更新等されるたびに、インデックス１作成プログラム１１にその旨を通知し、インデックス１ファイル２１内の当該ファイルについてのインデックス情報が更新されるようにしてもよい。
【００３４】
インデックス２作成プログラム１２も、インデックス１作成プログラム１１と同様に、例えば毎日同じ時刻等の所定のタイミングで、検索対象ファイル４３を参照し、インデックス２ファイル２２を作成する。実施例１においては、インデックス２ファイル２２には、後述するように、ファイル内容から判断したファイルに記憶されている文書のタイトル等が記憶される。すなわち、インデックス１ファイル２１の記憶内容と、インデックス２ファイル２２の記憶内容は一部が重複するとしても、完全には同一でない。
【００３５】
どのファイルを検索対象ファイル４３とするかは、インデックス１作成プログラム１１と同様に、予め記憶装置２に記憶装置４２のファイルパス（“/etc/usr1/”等）を１以上記憶しておき、当該ファイルパス配下のファイルを検索対象ファイル４３とすることができる。インデックス１作成プログラム１１の検索対象ファイル４３とインデックス２作成プログラム１２の検索対象ファイル４３は同一であってもよいし、一部が重複してもよいし、全く異なっていても構わない。
【００３６】
なお、以上のように作成されたインデックス２ファイル２２を参照して検索する場合、インデックス１ファイル２１を参照して検索する場合と同様に、インデックス２ファイル２２の記憶内容と検索対象ファイル４３の内容が乖離することがあるという問題が発生する。そして、この問題は、インデックス１作成プログラム１１と同様に、インデックス２作成プログラム１２が処理を行うタイミングの間隔を短くする等によって解決することができる。
【００３７】
さらに、インデックス１ファイル２１とインデックス２ファイル２２の作成タイミングが異なると、インデックス１ファイル２１とインデックス２ファイル２２の内容が乖離することがあるという問題も発生する。この問題の解決方法のひとつは、インデックス１作成プログラム１１とインデックス２作成プログラム１２のインデックスファイル作成処理開始タイミングを一致させることである。具体的には、例えば、インデックス２作成プログラム１２がインデックスファイル作成処理を開始する直前に、インデックス１作成プログラム１１にインデックス作成処理開始要求を送信し、インデックス１作成プログラム１１は当該要求を受信するとインデックス作成処理を開始するようにすればよい。
【００３８】
もっとも、インデックスファイル作成処理開始タイミングが一致しても、各検索対象ファイル４３を参照するタイミングが一致するとは限らないが、インデックス１ファイル２１とインデックス２ファイル２２の内容が多少乖離していたとしても、検索目的での使用に大きな支障があるわけではない。従って、インデックスファイル作成処理開始タイミングを一致させれば、ほとんどの場合、実用的には問題はない。
しかし、インデックス１ファイル２１とインデックス２ファイル２２の内容の乖離を完全に防止する必要がある場合は、例えば、ファイルサーバ４において、検索対象ファイル４３におけるＩＯを常時監視するプログラムを走行させておき、検索対象ファイル４３が更新等されるたびに、インデックス１ファイル２１及びインデックス２ファイル２２内の当該ファイルについての情報を更新するようにしてもよい。
【００３９】
検索プログラム１３は、ファイル検索サーバ１がクライアント３からの検索要求を受信した場合に起動され、ファイル検索を実行する。具体的には、インデックス１ファイル２１とインデックス２ファイル２２の一方又は両方を参照して、検索要求の検索条件式に合致するファイルが存在するかどうか判定し、存在する場合には、合致したファイルのファイル名等からなる検索結果をクライアント３に送信する。
【００４０】
ここで、検索プログラム１３は、インデックス１ファイル２１を参照する必要がある場合、インデックス１検索プログラム１４に検索条件式を送信し、インデックス１検索プログラム１４は、インデックス１ファイル２１を参照して、受信した検索条件式に合致するファイルが存在するかどうか判定する。すなわち、インデックス１検索プログラム１４は、検索プログラム１３の検索機能の一部を補完するプログラムである。後述するように、実施例１においては、クライアント３の操作者がいわゆる全文検索を要求した場合に、インデックス１検索プログラム１４による検索を行う。検索プログラム１３自体の機能から全文検索機能を分離することにより、インデックス１検索プログラム１４として、既に存在するさまざまな全文検索プログラムを使用することが可能になり、例えば、検索要求から社会科学分野の文献の検索が求められているのか、自然科学分野の文献の検索が求められているのか等の検索目的を判定して、検索目的に合致したインデックス１検索プログラム１４によって全文検索を行うといったことも可能になる。
【００４１】
検索プログラム１３は、検索対象ファイル４３をインデックス２ファイル２２に記憶された文書のタイトル等により分類して、ツリー状の階層を作成する機能（以下「仮想分類機能」という。）、言い換えれば、インデックス２レコード２２０を分類する機能を有しており、仮想分類を行う際には、分類条件等を定義した仮想分類定義ファイル２３を参照する。当然ながら、仮想分類定義ファイル２３を作成・更新等するプログラムも存在するが、本発明とは直接関係がないので、以降の説明では仮想分類定義ファイル２３が作成済みであるという前提で説明する。
また、検索プログラム１３は、インデックス２ファイル２２に記憶された、検索対象ファイル４３の記憶装置４２上の記憶位置を参照して、ツリー状の階層を作成する機能（以下「物理階層作成機能」という。）を有している。
【００４２】
さらに、検索プログラム１３は、検索結果と関連するファイルを検索する機能（以下「関連検索機能」という。）を有しており、関連検索を行う際には、関連検索条件等を定義した関連定義ファイル２４を参照する。当然ながら、関連定義ファイル２４を作成・更新等するプログラムも存在するが、本発明とは直接関係がないので、以降の説明では関連定義ファイル２４が作成済みであるという前提で説明する。
【００４３】
＜各ファイルの構成・機能＞
図２は、実施例１における、インデックス１ファイル２１のデータ構成図である。
インデックス１ファイル２１は、各検索対象ファイル４３と対応するインデックス１レコード２１０から構成される。すなわち各インデックス１レコード２１０は、インデックス１レコード２１０作成時点の検索対象ファイル４３と１対１に対応している。
インデックス１レコード２１０は、ファイル名２１１、ファイルパス２１２、アクセス権限２１３およびキーワード２１４の各データ項目から構成される。
ファイル名２１１には、対応する検索対象ファイル４３のファイル名、例えば“作業報告１.doc”が設定される。
【００４４】
ファイルパス２１２には、対応する検索対象ファイル４３の絶対パス、例えば“//etc/usr1/作業報告１.doc” （ルート直下の”etc“フォルダ内の”usr1“フォルダ内の”作業報告１.doc“）が設定される。なお、ファイルパス２１２によって検索対象ファイル４３の記憶装置４２上の記憶位置を識別することができるが、ファイルサーバ４に複数の記憶装置４２が接続されている場合、記憶装置４２を特定する識別や、論理ボリューム名等も、ファイルパス２１２の一部として、又はファイルパス２１２とは別のデータ項目として設定すればよい。また、ファイルの絶対パス以外の情報、例えば予め定めた所定のファイルを基準とする相対パス、あるいはファイルが記憶されている論理ブロック番号によっても、検索対象ファイル４３の記憶位置を識別することは可能である。インデックス１レコード２１０には、ファイルパス２１２に変えて、又はファイルパス２１２に加えて、このようなデータ項目を設けてもよい。
【００４５】
アクセス権限２１３には、対応する検索対象ファイル４３に対して設定されているアクセス権限が設定される。具体的には、例えばファイルサーバ４のファイル管理プログラム４１等によって付与され、ファイルの属性情報として記憶されているアクセス権限（例えば、ＵＮＩＸ（登録商標）等で使われている、オーナー、グループ、その他利用者に対する、参照・更新・実行権限を表す３桁の数値（７７７等））が設定される。
キーワード２１４には、対応する検索対象ファイル４３の内容から抽出したキーワードが設定される。例えば、検索対象ファイル４３の内容に“現場”という文字列が複数個含まれている場合“現場”を抽出する等、さまざまな構文解析手法等によって、１以上のキーワードを抽出し、キーワード２１４に設定することができる。一般に、キーワード２１４には多数の語句等が記憶され、インデックス１レコード２１０のサイズの大部分がキーワード２１４のために使用される。
【００４６】
なお、以上のほか、ファイル作成者等、他のファイル属性情報についても、インデックス１レコード２１０のデータ項目とすることができる。
以上のようにして作成されたインデックス１レコード２１０（インデックス情報）は、前述したように、インデックス１検索プログラム１４により参照される。
図３は、実施例１における、インデックス２ファイル２２のデータ構成図である。
インデックス２ファイル２２は、各検索対象ファイル４３と対応するインデックス２レコード２２０から構成される。すなわち各インデックス２レコード２２０は、インデックス２レコード２２０作成時点の検索対象ファイル４３と１対１に対応している。
【００４７】
インデックス２レコード２２０は、システムメタデータ２２１、標準メタデータ２２２及びユーザ定義メタデータ２２３から構成される。システムメタデータ２２１はインデックス２作成プログラム１２によって設定され、利用者が設定内容を直接変更することはできない。一方、標準メタデータ２２２はインデックス２作成プログラム１２によって設定されるが、利用者が、図１に示していないが、ファイル検索サーバ１のメタデータ変更プログラムを使用して、設定内容を直接変更することができる。また、ユーザ定義メタデータ２２３は利用者がデータ構造を定義し、データ内容を設定・変更するデータ項目である。
インデックス２作成プログラム１２は、ユーザ定義メタデータ２２３の設定を行わない。
図４は、実施例１における、システムメタデータ２２１のデータ構成図である。
システムメタデータ２２１は、ファイルＩＤ２２１ａ、ファイル名２２１ｂ及びファイルパス２２１ｃから構成される。
【００４８】
ファイルＩＤ２２１ａには、対応する検索対象ファイル４３を一意に識別可能なＩＤ（Identifier）が設定される。具体的には、例えば、新たに検索対象ファイル４３のインデックス２レコード２２０を作成するたびに、１から始まる通番を設定すればよい。
ファイル名２２１ｂには、インデックス１レコード２１０のファイル名２１１と同様、対応する検索対象ファイル４３のファイル名、例えば“作業報告１.doc”が設定される。
ファイルパス２２１ｃには、インデックス１レコード２１０のファイルパス２１２と同様、対応する検索対象ファイル４３の絶対パス、例えば“//etc/usr1/作業報告１.doc”が設定される。
なお、以上のほか、ファイル作成者、アクセス権限等、他のファイル属性情報についても、システムメタデータ２２１のデータ項目とすることができる。
【００４９】
図５は、実施例１における、標準メタデータ２２２のデータ構成図である。
標準メタデータ２２２は、タイトル２２２ａ、文書記載日２２２ｂ及びセキュリティランク２２２ｃから構成される。
タイトル２２２ａには、対応する検索対象ファイル４３に記憶されている文書等の題名が“作業報告書”のように設定される。具体的には、インデックス２作成プログラム１２は、例えば、当該ファイルを印刷する場合の表示イメージを構築し、先頭ページ上段に、他の文字より大きな文字サイズで印刷される文字列を文書等の題名とみなし、タイトル２２２ａに設定する。
【００５０】
文書記載日２２２ｂには、対応する検索対象ファイル４３に記憶されている文書等が記載された日付が“２００９年８月５日”のように設定される。具体的には、インデックス２作成プログラム１２は、例えば、当該ファイルを印刷したときに先頭ページ上段に印刷される文字列のうち、“年”、“月”、“日”、“作成”を含む等、作成日付らしい文字列を文書等の題名とみなし、文書記載日２２２ｂに設定する。
セキュリティランク２２２ｃには、対応する検索対象ファイル４３に記憶されている文書等の機密度が“極秘”、“秘密”のように設定される。具体的には、インデックス２作成プログラム１２は、例えば、当該ファイルに印刷される文字列のうち、“取扱注意”、“複製禁止”等、機密にする必要があることを示していると思われる文字列を抽出し、抽出した文字列の内容、数等によって機密度を判定し、セキュリティランク２２２ｃに設定する。
なお、以上のほか、文書の保管期間等、検索対象ファイル４３を印刷した場合の表示イメージ等から判断可能な他の情報についても、標準メタデータ２２２のデータ項目とすることができる。
以上のようにして作成されたインデックス２レコード２２０（インデックス情報）は、前述したように、検索プログラム１３により参照される。
【００５１】
図６は、実施例１における、仮想分類定義ファイル２３のデータ構成図である。
仮想分類定義ファイル２３は、１以上の仮想分類定義レコード２３０から構成される。
仮想分類定義レコード２３０は、仮想分類ＩＤ２３１、表示名２３２、条件２３３及び上位仮想分類ＩＤ２３４の各データ項目から構成される。
仮想分類ＩＤ２３１には、当該仮想分類定義レコード２３０を一意に識別可能な値が“1”、“2”のように設定される。
表示名２３２には、当該仮想分類の名称が“タイトル”、“作業報告”のように設定される。
条件２３３には、当該仮想分類による分類条件が“条件なし”、“タイトル２２２ａに「作業報告書」（という文字列）が含まれる”のように設定される。分類条件に“条件なし”が設定されている場合、当該仮想分類に分類されるインデックス２レコード２２０が存在しないことを意味し、分類条件に何らかの条件が設定されている場合、インデックス２レコード２２０のうち、当該条件を満足するレコードが当該仮想分類に分類されることを意味する。従って、１つのインデックス２レコード２２０が２以上の仮想分類に分類される場合もあるし、どの仮想分類にも分類されない場合もある。
【００５２】
後述するように、仮想分類定義レコード２３０は検索プログラム１３によって参照され、表示名２３２や、当該表示名２３２に係わる条件２３３を満足するインデックス２レコード２２０のファイル名２２１ｂが、表示装置３３にツリー状に階層表示される。従って、１つのインデックス２レコード２２０がツリーの２箇所以上で表示される場合もあるし、ツリーのどこにも表示されない場合もある。
【００５３】
上位仮想分類ＩＤ２３４には、当該仮想分類定義レコード２３０の上位の仮想分類定義レコード２３０を一意に識別可能な値が“0（上位なし）”、“1”のように設定される。
例えば、仮想分類ＩＤ２３１、表示名２３２、条件２３３及び上位仮想分類ＩＤ２３４に、それぞれ“1”、“タイトル”、“条件なし”、“0（上位なし）”が設定された仮想分類定義レコード２３０と、それぞれ“2”、“作業報告”、“タイトル２２２ａに「作業報告書」が含まれる”、“1”が設定された仮想分類定義レコード２３０が存在し、タイトル２２２ａに”作業報告書“が含まれているインデックス２レコード２２０が４レコード存在し、それぞれのファイル名２２１ｂが”作業報告１.doc“、”作業報告２.doc“、”作業報告３.doc“及び”報告書.doc“だった場合、表示装置３３には、あたかも“タイトル”という名前のフォルダ内に“作業報告”という名前のフォルダが存在し、この“作業報告”という名前のフォルダ内に、”作業報告１.doc“、”作業報告２.doc“、”作業報告３.doc“及び”報告書.doc“の４つのファイルが含まれているかのようなツリー表示がなされる（図１５のＤ１４０２参照）。
【００５４】
図７は、実施例１における、関連定義ファイル２４のデータ構成図である。
関連定義ファイル２４は、１以上の関連定義レコード２４０から構成される。
関連定義レコード２４０は、関連定義ＩＤ２４１、表示名２４２及び条件２４３の各データ項目から構成される。
関連定義ＩＤ２４１には、当該関連定義レコード２４０を一意に識別可能な値が“1”、“2”のように設定される。
表示名２４２には、当該関連定義の名称が“タイトル”のように設定される。
条件２４３には、当該仮想分類による分類条件が“タイトル２２２ａが当該検索結果と等しい”のように設定される。
例えば、関連定義ＩＤ２４１、表示名２４２及び条件２４３に、それぞれ“1”、“タイトル”、“タイトル２２２ａが当該検索結果と等しい”が設定された関連定義レコード２４０が存在し、タイトル２２２ａに”作業報告書“が含まれているインデックス２レコード２２０が４レコード存在し、それぞれのファイル名２２１ｂが”作業報告１.doc“、”作業報告２.doc“、”作業報告３.doc“及び”報告書.doc“であり、表示装置３３に検索結果として”作業報告１.doc“が表示されている場合、”タイトル“の文字も表示され、”タイトル“の文字をクリックすると、”作業報告２.doc“、”作業報告３.doc“及び”報告書.doc“の３つのファイルが関連検索される（図１７及び図１８のＤ１４０５参照）。
なお、条件２４３には、例えば、“当該検索ファイルのファイル名の前に「コピー〜」が追加されている”、“当該検索ファイルのファイル名の後ろに数字が追加されている”等、さまざまな条件を設定可能である。
以上で実施例１のファイル検索システムの構成・機能の説明を終了し、以下、各プログラムのフローチャートを参照しつつ、実施例１のファイル検索システムの動作を説明する。
【００５５】
＜各プログラムの動作＞
図８は、実施例１における、インデックス１作成プログラム１１の動作を示すフローチャートである。
インデックス１作成プログラム１１は、処理開始すると、検索対象ファイル４３のインデックス１レコード２１０を作成等する（Ｓ８０１）。
具体的には、例えば、ファイル管理プログラム４１に、予め設定したファイルパス（例えば“/etc/usr1/”）に含まれているファイルを読込、送信するように要求する。そして、ファイル管理プログラム４１からファイルを受信すると、取得したファイルのファイルパス（例えば“/etc/usr1/作業報告１.doc”）がファイルパス２１２に設定されているインデックス１レコード２１０が存在するか判定する。そして、存在しない場合は、取得したファイルからキーワードを抽出し、当該ファイルのファイル名、ファイルパス、アクセス権限及び抽出したキーワードを、それぞれファイル名２１１、ファイルパス２１２、アクセス権限２１３及びキーワード２１４に設定して、インデックス１レコード２１０を追加する。一方、存在する場合は、当該インデックス１レコード２１０（以下「更新対象レコード」という。）のアクセス権限２１３及びキーワード２１４を更新する。
【００５６】
以上の処理を、予め設定したファイルパス配下のファイル全てについて実行した後、新たに作成したインデックス１レコード２１０以外のレコードで、更新対象レコードにならなかったインデックス１レコード２１０が存在する場合、当該インデックス１レコード２１０を削除する。
なお、インデックス１レコード２１０を作成等する方法は、上述の方法に限られない。例えば、処理開始後、インデックス１ファイル２１を削除し、ファイル管理プログラム４１に、予め設定したファイルパス（例えば“/etc/usr1/”）に含まれているファイルを読込、送信するように要求し、受信したファイルについて、インデックス１レコード２１０を作成してもよい。
以上で説明したように、実施例１の実施形態においては、インデックス１作成プログラム１１が処理を行うたびに、処理時点の検索対象ファイル４３と１対１に対応するインデックス１レコード２１０が作成される。
【００５７】
図９は、実施例１における、インデックス２作成プログラム１２の動作を示すフローチャートである。
インデックス２作成プログラム１２は、処理開始すると、検索対象ファイル４３のインデックス２レコード２２０を作成等する（Ｓ９０１）。具体的な処理内容は、インデックス１作成プログラム１１と同様なので、以下、異なる点のみを説明する。
まず、前述したように、インデックス２作成プログラム１２の検索対象ファイル４３は、インデックス１作成プログラム１１と同一である必要はない。例えば、記憶装置４２に記憶されている全てのファイルを、インデックス１作成プログラム１１の検索対象ファイル４３とし、記憶装置４２に記憶されているファイルの一部（例えばクライアント３の操作者が通常参照するファイルのみ）をインデックス２作成プログラム１２の検索対象ファイル４３とすることができる。このようにすることで、後述する検索処理において、通常はインデックス２ファイル２２のみを検索することで検索結果として表示されるファイルの数を抑え、一方、必要に応じてインデックス１ファイル２１を検索することで、普段は参照しないファイルも検索結果として表示させることができる。
【００５８】
逆に、記憶装置４２に記憶されているファイルの一部（例えば論文、判決文等、語句が比較的厳密に使用されている文書ファイル）をインデックス１作成プログラム１１の検索対象ファイル４３とし、記憶装置４２に記憶されている全てのファイルを、インデックス２作成プログラム１２の検索対象ファイル４３とすることができる。このようにすることで、定義をあいまいにしたまま使用されている語句等（当該語句等が検索キーワードに一致して当該ファイルが検索結果として表示されても、実際には求めるファイルではない可能性が比較的高い）が、インデックス１レコード２１０のキーワード２１４に抽出される可能性が減少するので、インデックス１ファイル２１の容量を比較的小さく抑えることができるとともに、後述する検索処理において、キーワードによる全文検索を行った場合に、検索結果として求めるファイルが表示される可能性を高めることができる。
【００５９】
また、以下のようにすることで、インデックス２レコード２２０の不要な更新を避けることもできる。例えば、インデックス２レコード２２０のデータ項目として更新日時を設け、インデックス２レコード２２０を作成・更新する際には当該処理を行った年月日時分秒を設定するようにしておき、インデックス２作成プログラム１２がインデックス２レコード２２０を更新しようとする際に、インデックス２レコード２２０の更新日時と検索対象ファイル４３の更新日時（一般にファイル管理プログラム４１が、ファイルの属性情報の一つとして設定する）を比較して、検索対象ファイル４３の更新日時の方が新しければ、インデックス２レコード２２０を作成した後での当該検索対象ファイル４３の内容が変わっている可能性があるので、更新対象とする。また、インデックス２レコード２２０のデータ項目としてアクセス権限を設けた場合には、インデックス２作成プログラム１２がインデックス２レコード２２０を更新しようとする際に、インデックス２レコード２２０のアクセス権限と検索対象ファイル４３のアクセス権限を比較し、異なっていれば更新対象とすればよい。
【００６０】
さらに、インデックス２作成プログラム１２は、インデックス２レコード２２０を更新する際、標準メタデータ２２２の設定内容が、前述したメタデータ変更プログラムを使用して直接変更されているか判定し、直接変更されている場合は、標準メタデータ２２２は更新しない。このようにするためには、例えば、標準メタデータ２２２のデータ項目として「直接変更有無」を設け、インデックス２レコード２２０を作成する際には“直接変更なし”を設定し、メタデータ変更プログラムを使用して直接変更した場合に、“直接変更有り”を設定するようにすればよい。なお、インデックス２作成プログラム１２は、ユーザ定義メタデータ２２３を更新しない。
【００６１】
標準メタデータ２２２のデータ項目として、さらに「直接変更後ファイル更新有無」を設け、インデックス２作成プログラム１２がインデックス２レコード２２０を作成する際に“更新なし”を設定し、インデックス２作成プログラム１２がインデックス２レコード２２０を更新する際、当該インデックス２レコード２２０がメタデータ変更プログラムを使用して直接変更されているかどうかを判定し、直接変更されていて、かつ対応する検索対象ファイル４３の内容が変わっている場合、“更新有り”を設定するようにしてもよい。
このようにすることで、クライアント３の操作者がメタデータ変更プログラムを使用して当該インデックス２レコード２２０を参照する際や、後述するようにファイル検索結果を表示する際に、標準メタデータ２２２の直接変更を行った後で、表示装置３３に表示されるファイルの内容が更新されていることを知らせることができ、クライアント３の操作者は、再度標準メタデータ２２２の直接変更を行う必要があるかどうか判断することができる。
以上で説明したように、実施例１の実施形態においては、インデックス２作成プログラム１２が処理を行うたびに、処理時点の検索対象ファイル４３と１対１に対応するインデックス２レコード２２０が作成される。
【００６２】
図１０は、実施例１における、検索要求プログラム３１の動作を示すフローチャートである。
検索要求プログラム３１は、クライアント３の操作者が入力装置３２を使用して起動する。
検索要求プログラム３１は、起動されると、ログイン処理を行う（Ｓ１００１）。具体的には、表示装置３３に図１３のようなログイン画面を表示し、クライアント３の操作者が入力装置３２を使用して利用者ＩＤおよびパスワードを入力し、「実行」ボタンを押すと、入力された利用者ＩＤとパスワードが適切かどうか判定する。なお、上記のようなログイン処理自体は周知技術であるので、これ以上の説明は省略する。
【００６３】
検索要求プログラム３１は、入力された利用者ＩＤとパスワードが適切であると判定した場合、表示装置３３に検索要求画面を表示する（Ｓ１００２）。
図１４に検索要求画面（Ｄ１４０１）の表示例を示す。図１４において、検索要求画面は、仮想分類表示部（Ｄ１４０２）、物理フォルダ表示部（Ｄ１４０３）、検索条件部（Ｄ１４０４）、検索結果部（Ｄ１４０５）および「検索」、「メタデータ編集」、「終了」のボタンから構成されている。
検索要求プログラム３１は、検索要求画面を表示する際に、検索プログラム１３の仮想分類機能を利用して、仮想分類表示部（Ｄ１４０２）の表示を行う。具体的には、検索要求プログラム３１は検索プログラム１３に、仮想分類の初期表示内容を送信するように要求し、検索プログラム１３は、仮想分類定義レコード２３０のうち、上位仮想分類ＩＤ２３４に“0（上位なし）”が設定されているレコード（すなわち最上位の仮想分類定義レコード２３０）の表示名２３２を、検索要求プログラム３１に送信し、検索要求プログラム３１は、受信した表示名を仮想分類表示部（Ｄ１４０２）に表示する。また、検索要求プログラム３１は、各表示名２３２の前に、「＋」を四角く囲んだ図形を表示する。後述するように、クライアント３の操作者は、この図形をマウスでクリックする等の操作を行うことで、当該仮想分類に含まれている他の仮想分類やファイルを表示することができる。
【００６４】
例えば、仮想分類ＩＤ２３１、表示名２３２、条件２３３及び上位仮想分類ＩＤ２３４に、それぞれ“1”、“タイトル”、“条件なし”、“0（上位なし）”が設定された仮想分類定義レコード２３０と、それぞれ“2”、“作業報告”、“タイトル２２２ａに「作業報告書」が含まれる”、“1”が設定された仮想分類定義レコード２３０が存在し、タイトル２２２ａに”作業報告書“が含まれているインデックス２レコード２２０が４レコード存在し、それぞれのファイル名２２１ｂが”作業報告１.doc“、”作業報告２.doc“、”作業報告３.doc“及び”報告書.doc“だった場合、仮想分類表示部（Ｄ１４０２）のタイトルの前に表示された「＋」を四角く囲んだ図形をクリックすると、図示していないが、あたかも“タイトル”という名前のフォルダ内に“作業報告”という名前のフォルダが含まれているかのようなツリー表示がなされ、さらに、作業報告前に表示された「＋」を四角く囲んだ図形をクリックすると、図１５の仮想分類表示部（Ｄ１４０２）に示すように、あたかも“タイトル”という名前のフォルダ内に“作業報告”という名前のフォルダが存在し、この“作業報告”という名前のフォルダ内に、”作業報告１.doc“、”作業報告２.doc“、”作業報告３.doc“及び”報告書.doc“の４つのファイルが含まれているかのようなツリー表示がなされる。
【００６５】
また、検索要求プログラム３１は、検索要求画面を表示する際に、検索プログラム１３の物理階層作成機能を利用して、物理フォルダ表示部（Ｄ１４０３）の表示を行う。具体的には、検索要求プログラム３１は検索プログラム１３に、物理フォルダの初期表示内容を送信するように要求し、検索プログラム１３は、インデックス２レコード２２０のファイルパス２２１ｃを参照してフォルダのツリー状階層を作成し、ツリーの最上位のフォルダの名称を、検索要求プログラム３１に送信し、検索要求プログラム３１は、受信したフォルダ名称を物理フォルダ表示部（Ｄ１４０３）に表示する。また、検索要求プログラム３１は、各フォルダ名称の前に、「＋」を四角く囲んだ図形を表示する。クライアント３の操作者は、この図形をマウスでクリックする等の操作を行うことで、当該フォルダに含まれている他のフォルダやファイルを表示することができる。
【００６６】
なお、検索条件部（Ｄ１４０４）及び検索結果部（Ｄ１４０５）の表示内容は図１４に示すとおりであり、検索結果部（Ｄ１４０５）には検索結果は表示されていない。
クライアント３の操作者は入力装置３２を使用して検索条件部（Ｄ１４０４）の各項目を入力する。検索条件部（Ｄ１４０４）に入力した項目は検索条件となり、例えば、全文に“現場”、タイトルに“作業報告”を入力した場合、インデックス１レコード２１０のキーワード２１４に“現場”が設定されており、かつ、インデックス２レコード２２０のタイトル２２２ａに“作業報告”が設定されているファイルが検索され、検索結果部（Ｄ１４０５）に、検索結果がスクロール表示される。
【００６７】
検索条件部（Ｄ１４０４）の各項目については、さまざまな入力方法を可能にすることで検索の利便性を向上させることができる。例えば、全文に“not現場”、“現場 and 作業”等の論理式入力を可能にすればよい。なお、検索条件部（Ｄ１４０４）の入力項目は、図示した項目に限る必要はなく、例えばアクセス権限、セキュリティランク等、インデックス１ファイル２１及びインデックス２ファイル２２のデータ項目に合せて決めればよい。
【００６８】
検索要求プログラム３１は、検索要求画面表示（Ｓ１００２）後、検索ボタン、メタデータ編集ボタンまたは終了ボタンが押下されるのを待つ（Ｓ１００３、Ｓ１００４）。検索ボタンが押された場合、すなわち検索要求を検知した場合（Ｓ１００３でＹＥＳの場合）、検索処理（Ｓ１００５、Ｓ１００６、Ｓ１００７）を行う。また、終了ボタンが押された場合、すなわち終了要求を検知した場合（Ｓ１００４でＹＥＳの場合）、処理を終了する。
【００６９】
なお、図１０には示していないが、検索要求プログラム３１は、メタデータ編集ボタンが押された場合、メタデータ編集処理を行う。具体的には、クライアント３の操作者に編集対象のファイルを指定するように要求し、指定されたファイルの標準メタデータ２２２及びユーザ定義メタデータ２２３の、その時点での設定内容を表示し、クライアント３の操作者が入力した内容で、標準メタデータ２２２及びユーザ定義メタデータ２２３の設定内容を変更する。このとき、前述したように、標準メタデータ２２２の直接変更後ファイル更新有無に“更新有り”が設定されている場合、表示装置３３にその旨のメッセージを表示してもよい。
【００７０】
検索要求プログラム３１は、検索要求を検知した場合、検索条件部（Ｄ１４０４）の入力内容（検索条件）を、検索プログラム１３に送信する（Ｓ１００５）。例えば、全文に“現場”、タイトルに“作業報告”が入力された場合、“全文=現場 タイトル=作業報告”といった検索条件式を作成し、ログイン画面で入力された利用者ＩＤとともに、検索プログラム１３に送信する。ここで、検索条件式は検索プログラム１３によって解釈される式であり、検索プログラム１３が解釈可能な構文規則等に従って作成すればよい。
検索要求プログラム３１は、検索条件式を検索プログラム１３に送信した後、検索プログラム１３から検索結果を受信するまで待つ（Ｓ１００６）。検索結果を受信すると、検索結果を検索要求画面の検索結果部（Ｄ１４０５）に表示し（Ｓ１００７）、再び、検索ボタン等が押下されるのを待つ（Ｓ１００３、Ｓ１００４）。
【００７１】
図１１は、実施例１における、検索プログラム１３の動作を示すフローチャートである。
検索プログラム１３は、ファイル検索サーバ１がクライアント３からの検索要求を受信すると、ファイル検索サーバ１により起動される。
検索プログラム１３は、まず、検索要求に含まれる検索条件式を解析し、メタデータ検索を行うか、すなわち、インデックス２ファイル２２のシステムメタデータ２２１等を参照して検索する必要があるか判定する（Ｓ１１０１）。例えば、検索条件式が“全文=現場 タイトル=作業報告”である場合、標準メタデータ２２２のタイトル２２２ａを参照して検索する必要があると判定する。
【００７２】
検索プログラム１３は、メタデータ検索を行うと判定した場合（Ｓ１１０１でＹＥＳの場合）、インデックス２ファイル２２による検索を行う（Ｓ１１０２）。具体的には、検索条件式から、システムメタデータ２２１等に関する条件を抽出し、条件に合致するインデックス２レコード２２０を選択する（以下「メタデータ合致レコード」という。）。
例えば、検索条件式が“全文=現場、タイトル=作業報告”である場合、標準メタデータ２２２のタイトル２２２ａに“作業報告”が設定されているインデックス２レコード２２０を選択する。
【００７３】
検索プログラム１３は、メタデータ検索（Ｓ１１０２）を行った後、又はメタデータ検索を行わないと判定した場合（Ｓ１１０１でＮＯの場合）、全文検索を行うか、すなわち、インデックス１ファイル２１のキーワード２１４を参照して検索する必要があるか判定する（Ｓ１１０３）。例えば、検索条件式が“全文=現場 タイトル=作業報告”である場合、キーワード２１４を参照して検索する必要があると判定する。
【００７４】
検索プログラム１３は、全文検索を行うと判定した場合（Ｓ１１０３でＹＥＳの場合）、インデックス１ファイル２１による全文検索を行う（Ｓ１１０４）。具体的には、検索条件式から、全文検索の条件を抽出し、メタデータ合致レコードのファイルパス２２１ｃ、及び検索要求プログラム３１から受信した利用者ＩＤとともに、インデックス１検索プログラム１４に送信する。インデックス１検索プログラム１４は、後述するように、受信した全文検索の条件等を参照して検索を行い、最終的に検索結果とすべきインデックス１レコード２１０（以下「キーワード合致レコード」という。）のファイルパス２２１ｃを検索プログラム１３に送信する。
【００７５】
検索プログラム１３は、全文検索を行わないと判定した場合（Ｓ１１０３でＮＯの場合）は、メタデータ合致レコードを検索要求プログラム３１への送信対象とし、一方、全文検索を実行（Ｓ１１０４）した場合は、キーワード合致レコードを検索要求プログラム３１への送信対象とする。検索プログラム１３は、送信対象としたインデックス２レコード２２０の各データ項目を検索要求プログラム３１に送信する（Ｓ１１０５）。
検索プログラム１３は、送信後、処理を終了する。
【００７６】
図１２は、実施例１における、インデックス１検索プログラム１４の動作を示すフローチャートである。
インデックス１検索プログラム１４は、メタデータ合致レコードのインデックス１レコード２１０を検索する（Ｓ１２０１）。具体的には、検索プログラム１３から受信したメタデータ合致レコードのファイルパス２２１ｃ全てにつき、ファイルパス２１２に同一値が設定されているインデックス１レコード２１０を参照し、当該レコードのアクセス権限２１３により、検索プログラム１３から受信した利用者ＩＤがアクセス権限を有するか判定する。そして、アクセス権限を有すると判定した場合、当該レコードのキーワード２１４が、検索プログラム１３から受信した全文検索の条件を満足するか判定する。
インデックス１検索プログラム１４は、以上の条件を満たすファイルパス２２１ｃを検索プログラム１３に送信し（Ｓ１２０２）、処理を終了する。
【００７７】
ところで、インデックス１検索プログラム１４として、既に存在するさまざまな全文検索プログラムを使用するような場合、インデックス１作成プログラム１１も当該インデックス１検索プログラム１４に対応したプログラムを使用することになり、その場合、一般的には、インデックス１ファイル２１に係わる検索対象ファイル４３とインデックス２ファイル２２に係わる検索対象ファイル４３が異なることになる。そうすると、例えば、インデックス２ファイル２２に係わる検索対象ファイル４３として、クライアント３の操作者が普段よく使用するファイルを設定した場合も、クライアント３の操作者が全文検索のみを要求すると、インデックス１ファイル２１が検索されてしまうので、普段よく使用しないファイルも検索結果として表示されることになる。
このように検索されるのが好ましい場合もあるが、好ましくない場合もある。そこで、全文検索のみを行う場合に、インデックス２ファイル２２が作成された検索対象ファイル４３のみを検索対象とするか（すなわち、メタデータ作成済みファイルのみを検索対象とするか）、それとも、インデックス２ファイル２２に係わらずインデックス１ファイル２１の検索対象ファイル４３全てを検索対象とするか（すなわち、メタデータ未作成のファイルも検索対象とするか）を、検索要求画面で指定できるようにしてもよい。
【００７８】
このようにした場合、メタデータ未作成のファイルも検索対象とするように指定された場合は、インデックス１検索プログラム１４は前述のとおりに動作し、一方、メタデータ作成済みファイルのみを検索対象とするように指定された場合は、インデックス１検索プログラム１４は、メタデータ検索が要求されていない場合（図１１のＳ１１０１でＮＯの場合）も、インデックス２ファイル２２の全てのインデックス２レコード２２０をメタデータ合致レコードとして選択し、当該レコードのファイルパス２２１ｃを、全文検索の条件及び検索要求プログラム３１から受信した利用者ＩＤとともに、インデックス１検索プログラム１４に送信する。
【００７９】
＜メタデータ検索と全文検索の両方を行う場合の処理についての補足説明＞
実施例１のファイル検索システムでは、以上に説明したとおり、クライアント３の操作者が全文検索を要求した場合にのみ、インデックス１ファイル２１を利用して検索を行う。ところで、一般に全文検索を行わない場合に比べて、全文検索に要する処理時間は長くなるので、クライアント３の操作者が検索要求してから検索結果が表示されるまでの待ち時間が長くなる。そこで、クライアント３の操作者が思いがけずに長時間待たされることを防止することが望ましい。
【００８０】
以下、メタデータ検索と全文検索の両方を行う場合（以下「複合検索」という。）において、上記の対策を行う場合の検索プログラム１３等の動作について説明する。
図１６は、実施例１における、複合検索における検索プログラム１３等の動作を示すフローチャートである。
図１６のＳ１６５０〜Ｓ１６５５は、複合検索時に、図１１のＳ１１０４〜Ｓ１１０５において検索プログラム１３が行う処理の詳細を示しており、Ｓ１６０１〜Ｓ１６０７は、当該処理に対応して検索要求プログラム３１が図１０のＳ１００６〜Ｓ１００７において行う処理の詳細を示している。
検索プログラム１３は、検索結果件数、すなわちメタデータ検索で検索されたメタデータ合致レコードのレコード数を、予め定めた所定件数（以下「最大検索件数」という。）と比較する（Ｓ１６５０）。
そして、メタデータ合致レコードのレコード数、すなわち全文検索対象数が最大検索件数より大きい場合（Ｓ１６５０でＹＥＳの場合）には、検索要求プログラム３１に、処理続行有無を確認するメッセージを送信し（Ｓ１６５１）、検索要求プログラム３１から検索処理を続行するか否かの確認結果を受信するまで待つ（Ｓ１６５２）。
検索要求プログラム３１は、検索プログラム１３から検索処理を続行するか否かを確認するメッセージを受信すると、当該メッセージを表示装置３３に表示し、クライアント３の操作者に検索処理を続行するか否かの応答を要求する（Ｓ１６０１）。具体的には、例えば、ポップアップ画面に、確認メッセージと、「検索続行」及び「中止」のボタンを表示し、いずれかのボタンがクリックされるまで待てばよい。
【００８１】
検索要求プログラム３１は、クライアント３の操作者が「中止」のボタンをクリックする等により検索中止を指示した場合（Ｓ１６０２でＮＯの場合）、検索プログラム１３に「検索中止」指示を送信して、処理を終了する（Ｓ１６０３）。従って、検索要求プログラム３１は、検索結果を表示することなく、再び、検索要求画面で検索ボタン等が押下されるのを待つ（図１０のＳ１００３、Ｓ１００４）。
検索要求プログラム３１は、クライアント３の操作者が「検索続行」のボタンをクリックする等により検索続行を指示した場合（Ｓ１６０２でＹＥＳの場合）、検索プログラム１３に「検索続行」指示を送信し、図には明示していないが、検索プログラム１３から検索結果を受信するまで待つ。
【００８２】
検索プログラム１３は、検索要求プログラム３１から「検索中止」指示又は「検索続行」指示を受信すると、受信した指示によって処理を変える（Ｓ１６５２）。すなわち、「検索中止」指示を受信した場合は（Ｓ１６５２でＮＯの場合）処理を終了し、一方、「検索続行」指示を受信した場合は（Ｓ１６５２でＹＥＳの場合）、メタデータ合致レコードのうち最大検索件数分のレコードのファイルパス２２１ｃ、全文検索の条件及び検索要求プログラム３１から受信した利用者ＩＤをインデックス１検索プログラム１４に送信して、全文検索を実行させる（Ｓ１６５３）。
なお、全文検索対象数が最大検索件数以下の場合（Ｓ１６５０でＮＯの場合）には、検索要求プログラム３１に、処理続行有無を確認するメッセージを送信することなく、メタデータ合致レコードのファイルパス２２１ｃ、全文検索の条件及び検索要求プログラム３１から受信した利用者ＩＤをインデックス１検索プログラム１４に送信して、全文検索を実行させる（Ｓ１６５３）。
【００８３】
全文検索が終了すると、検索プログラム１３は、キーワード合致レコードの各データ項目を検索要求プログラム３１に送信する（Ｓ１６５４）。このとき、全てのメタデータ合致レコードについて全文検索を実行したか、それとも全文検索未実行のメタデータ合致レコードが残っているかの識別も送信する。
検索プログラム１３は、次に、検索結果部（Ｄ１４０５）に追加表示が可能かどうかを判定する（Ｓ１６５５）。具体的には、メタデータ合致レコードに全文検索未実行のレコードが残っており、かつ検索要求プログラム３１に送信した検索結果の累計値が、検索要求画面（Ｄ１４０１）の検索結果部（Ｄ１４０５）に表示可能な件数として予め定めた件数（以下「最大表示件数」という。）より小さい場合（Ｓ１６５５でＹＥＳの場合）には、再び、検索要求プログラム３１から検索処理を続行するか否かの確認結果を受信するまで待つ（Ｓ１６５２）。一方、検索結果部（Ｄ１４０５）に追加表示できない場合（Ｓ１６５５でＮＯの場合）には、検索プログラム１３は処理を終了する。
【００８４】
検索要求プログラム３１は、検索プログラム１３から検索結果を受信すると、検索結果部（Ｄ１４０５）に検索結果を表示する。なお、前述したように、検索結果部（Ｄ１４０５）に追加表示が可能な限り、メタデータ合致レコードを対象とした全文検索が繰り返し実行される。従って、検索結果は検索結果部（Ｄ１４０５）に追加表示する。例えば、１回目の全文検索の結果が３件で、２回目の全文検索の結果が４件の場合、検索結果部（Ｄ１４０５）には７件の検索結果が表示される。
【００８５】
検索要求プログラム３１は、次に、全文検索未実行のメタデータ合致レコードが残っており（前述したように、検索プログラム１３から、全てのメタデータ合致レコードについて全文検索を実行したか、それとも全文検索未実行のメタデータ合致レコードが残っているかの識別が送信される）、かつ検索結果部（Ｄ１４０５）に追加表示が可能かどうか判定し（Ｓ１６０６）、全文検索未実行のメタデータ合致レコードが残っており、かつ検索結果部（Ｄ１４０５）に追加表示が可能な場合（Ｓ１６０６でＹＥＳの場合）には、処理続行有無を確認するメッセージを表示装置３３に表示し（Ｓ１６０７）、再び、クライアント３の操作者に検索処理を続行するか否かの応答を要求する（Ｓ１６０２）。
【００８６】
一方、検索要求プログラム３１は、全てのメタデータ合致レコードについて全文検索を実行したか、又は検索結果部（Ｄ１４０５）に追加表示ができない場合（Ｓ１６０６でＮＯの場合）には、処理を終了する（Ｓ１６０３）。従って、検索要求プログラム３１は、検索結果部（Ｄ１４０５）にそれまでの検索結果を表示して、再び、検索ボタン等が押下されるのを待つ（図１０のＳ１００３、Ｓ１００４）。
【００８７】
以上のように、全文検索対象数が最大検索件数より大きい場合に、クライアント３の操作者に検索処理を続行するか否かを問い合わせ、「検索続行」が指示された場合に全文検索を行う。従って、クライアント３の操作者は、検索時間が長くなりそうな場合には、いったん検索処理を中止し、例えば、メタデータの検索条件をさらに絞り込んで検索を行うことができる。
また、全文検索は最大検索件数単位で繰り返し行われ、全文検索を行うたびに、検索結果が追加表示されるので、クライアント３の操作者は、比較的短時間のうちに、検索結果を次々と確認することができる。
【００８８】
＜関連検索についての補足説明＞
図１７は、実施例１における、検索結果部（Ｄ１４０５）の表示内容を例示した図である。図１７においては、ファイル名とファイルパスが表示されているが、この他に、タイトル、文書記載日等、インデックス２レコード２２０等のデータ項目を表示してもよいし、例えば、インデックス２レコード２２０に検索対象ファイル４３の内容の一部を設定しておき、これを表示してもよい。
また、図１７において点線で囲った関連検索指示部（Ｄ１７０１）には、関連定義レコード２４０の表示名２４２に設定された名称が表示される。図１７の例においては、表示名２４２にそれぞれ“タイトル”と“記載日付”が設定された関連定義レコード２４０が存在しており、この表示名２４２が表示されている。
【００８９】
この状態で、クライアント３の操作者が、例えば“タイトル”と表示された部分をクリックすると、検索要求プログラム３１は、検索プログラム１３に、“タイトル”に係わる関連検索を行うように要求する。具体的には、表示装置３３には表示されていないが、検索結果とともに検索プログラム１３から受信した、当該検索結果ファイルに係わるファイルＩＤ２２１ａ及び“タイトル”に係わる関連定義ＩＤ２４１を、関連検索要求とともに検索プログラム１３に送信する。
検索プログラム１３は関連検索要求を受信すると、受信した関連定義ＩＤ２４１が設定された関連定義レコード２４０の条件２４３を参照し、条件２４３に設定されている条件に従って、インデックス２レコード２２０を検索し、検索結果を検索要求プログラム３１に送信する。
【００９０】
例えば、関連定義ＩＤ２４１、表示名２４２及び条件２４３に、それぞれ“1”、“タイトル”、“タイトル２２２ａが当該検索結果と等しい”が設定された関連定義レコード２４０が存在し、タイトル２２２ａに”作業報告書“が含まれているインデックス２レコード２２０が４レコード存在し、それぞれのファイル名２２１ｂが”作業報告１.doc“、”作業報告２.doc“、”作業報告３.doc“及び”報告書.doc“であり、表示装置３３に検索結果として”作業報告１.doc“が表示されている場合、関連検索指示部（Ｄ１７０１）には、”タイトル“の文字が表示される。クライアント３の操作者が、”タイトル“の文字をクリックすると、検索要求プログラム３１は、検索プログラム１３に、”作業報告１.doc“のファイルＩＤ及び関連定義ＩＤ（“1”）を送信する。すると、検索プログラム１３は、関連定義ＩＤ２４１が“1”である関連定義レコード２４０の条件２４３を参照し、“タイトル２２２ａが当該検索結果と等しい”が設定されているので、受信したファイルＩＤによって、”作業報告１.doc“のタイトル２２２ａを取得し、”作業報告１.doc“と同じく、タイトル２２２ａに”作業報告書“が含まれている”作業報告２.doc“、”作業報告３.doc“及び”報告書.doc“の３つのファイルを検索し、検索結果を検索要求プログラム３１に送信する。そして、検索要求プログラム３１は、図１８に示すように、検索結果部（Ｄ１４０５）に関連検索結果を表示する。
なお、関連検索結果の表示件数には特に制限を設けないようにしてもよいし、例えば、最大５件だけ表示し、５件を超える場合は、別画面に表示するようにしてもよい。
本発明に係わるファイル検索システムは、前記実施例１に限られず、さまざまな実施形態とすることができる。その１例を以下に説明する。
【実施例２】
【００９１】
＜ファイル検索システムのその他の実施形態＞
図１９は、本発明に係る実施例２のファイル検索システムのシステム構成図である。
実施例２においては、実施例１と異なり、ファイル検索サーバ１は、インデックス１作成プログラム１１及びインデックス１検索プログラム１４を備えていない。
そのかわり、ＰＣ等の装置であるファイル検索サーバ５（上記第２ファイル検索サーバに相当）が、通信回線９によって、クライアント３、ファイルサーバ４、ＷＥＢサーバ７及びファイル検索サーバ１と通信可能に接続されており、ファイル検索サーバ５はインデックス１作成プログラム１１及びインデックス１検索プログラム１４を備えている。また、インデックス１ファイル２１はファイル検索サーバ１の記憶装置２には記憶されず、ファイル検索サーバ５の記憶装置６に記憶される。
【００９２】
実施例２と実施例１の構成上の大きな相違点は以上のとおりである。
実施例２のファイル検索システムにおいては、通信回線９によって、クライアント３、ファイルサーバ４、ＷＥＢサーバ７、ファイル検索サーバ１及びファイル検索サーバ５がインターネットによって相互に通信可能に接続されており、このような構成により、例えば、ある組織がデータセンタに設置されたファイルサーバ４にファイルを記憶させているとき、ファイルサーバ４に記憶された検索対象ファイル４３について、インデックス２ファイル２２、仮想分類定義ファイル２３、及び関連定義ファイル２４を作成することで、メタデータ検索、仮想分類表示、物理フォルダ表示及び関連検索を可能にしつつ、当該組織が管理していないＷＥＢサーバ７の記憶装置７２に記憶された検索対象ファイル７３については、ファイル検索サーバ５のインデックス１作成プログラム１１が、いわゆるＷＥＢクローリングにより、例えばＡｐａｃｈｅ（Ａｐａｃｈｅは登録商標）等のＷＥＢサーバプログラム７１を介して、インデックス１ファイル２１を作成して、全文検索を可能にすることができる。
【００９３】
また、実施例２においては、ファイル検索サーバ５は、ファイル検索を行おうとする組織を設置する必要はなく、世の中に存在しているファイル検索サーバの機能を使用して全文検索等を行うことができるので、柔軟性・拡張性の高い検索システムを構築することができる。
【符号の説明】
【００９４】
１，５  ファイル検索サーバ
３  クライアント
４  ファイルサーバ
７  ＷＥＢサーバ
９  通信回線
２１  インデックス１ファイル
２２  インデックス２ファイル
４２，７２  記憶装置
４３，７３  検索対象ファイル
２１０  インデックス１レコード
２１１，２２１ｂ  ファイル名
２１２，２２１ｃ  ファイルパス
２１３  アクセス権限
２１４  キーワード
２２０  インデックス２レコード
２２１  システムメタデータ
２２２  標準メタデータ
２２３  ユーザ定義メタデータ
【図１】
2011065546.tif 000003
【図２】
2011065546.tif 000004
【図３】
2011065546.tif 000005
【図４】
2011065546.tif 000006
【図５】
2011065546.tif 000007
【図６】
2011065546.tif 000008
【図７】
2011065546.tif 000009
【図８】
2011065546.tif 000010
【図９】
2011065546.tif 000011
【図１０】
2011065546.tif 000012
【図１１】
2011065546.tif 000013
【図１２】
2011065546.tif 000014
【図１３】
2011065546.tif 000015
【図１６】
2011065546.tif 000016
【図１７】
2011065546.tif 000017
【図１８】
2011065546.tif 000018
【図１９】
2011065546.tif 000019
【図１４】
2011065546.tif 000020
【図１５】
2011065546.tif 000021