JP2011065546A - ファイル検索システム及びプログラム - Google Patents

ファイル検索システム及びプログラム Download PDF

Info

Publication number
JP2011065546A
JP2011065546A JP2009217344A JP2009217344A JP2011065546A JP 2011065546 A JP2011065546 A JP 2011065546A JP 2009217344 A JP2009217344 A JP 2009217344A JP 2009217344 A JP2009217344 A JP 2009217344A JP 2011065546 A JP2011065546 A JP 2011065546A
Authority
JP
Japan
Prior art keywords
search
file
index
record
metadata
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009217344A
Other languages
English (en)
Inventor
Tatsuya Eto
達也 衛藤
Masakazu Matsuura
正和 松浦
Seiya Tsuruta
誠也 鶴田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Solutions Ltd
Original Assignee
Hitachi Solutions Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Solutions Ltd filed Critical Hitachi Solutions Ltd
Priority to JP2009217344A priority Critical patent/JP2011065546A/ja
Priority to CN2010800406725A priority patent/CN102483765B/zh
Priority to PCT/JP2010/005435 priority patent/WO2011033734A1/en
Priority to US13/496,505 priority patent/US20120173511A1/en
Priority to EP10816849.3A priority patent/EP2478452B1/en
Publication of JP2011065546A publication Critical patent/JP2011065546A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata

Abstract

【課題】全文検索を可能にすべきファイルと、全文検索が不要なファイルが存在しているファイル検索環境において、全文検索を可能にすべきファイルと全文検索が不要なファイルについて異なったインデックスファイルを作成することで、より効果的な検索を行うファイル検索システム及びプログラムを提供する。
【解決手段】ファイル検索サーバ1、ファイルサーバ4及びクライアント3が、通信回線9を介して通信自在に接続されたファイル検索システムであって、ファイル検索サーバ1は、クライアント3からの検索要求を受信すると、インデックス2ファイル22から検索条件式に基づきメタデータ合致レコードを選択するメタデータ検索手段と、検索条件式及びメタデータ合致レコードに基づきインデックス1ファイル21に対してキーワードを参照して検索する全文検索手段と、検索結果をクライアント3へ送信する手段等を備える。
【選択図】図1

Description

本発明は、検索対象ファイルについて予めインデックスファイルを作成し、インデックスファイルを参照してファイルを検索する、ファイル検索システム及びプログラムに関するものである。
近年、情報のデジタル化が急速に進展している。かつては、銀行の口座や市町村の住民票等、企業・官公庁等のコンピュータシステムが基幹業務を実行するために参照するためのデータを、ファイルやDB(Data Base)に記憶するというのがデジタル化の中心だった。
一方、現在では、企業等の組織において日常業務で作成される各種の書類が、各従業員のクライアントPC(Personal Computer)に文書ファイルとして記憶され、電子メールの添付文書として他のクライアントPCに送信され、あるいは、組織全体の共有情報としてファイルサーバに記憶される。そして、ファイルサーバに記憶された文書ファイルは、さまざまな従業員により参照され、時にはクライアントPCに複製され、更新される。
このようにして、多量のデジタル情報がさまざまなコンピュータに分散記憶されることにより、組織内に、重複あるいは類似した多数のデジタル情報が存在することになる。また、各デジタル情報の記憶容量も増大し続けている。
一方、組織内において、例えば、既に退職した従業員がかつて作成した文書ファイルが必要になる等、記憶場所が不明なデジタル情報を参照したい場合が多々生ずる。このような場合、文書ファイル内に含まれているはずのキーワードによる全文検索等によって文書ファイル等を検索するという方法が頻繁に行われている。
ところで、組織内の全てのコンピュータからデジタル情報を検索しようとすると、各従業員のクライアントPCにも全ての従業員からのアクセスを許可する必要があり、セキュリティ上好ましくない。このため、組織全体で共有すべきデジタル情報については所定のファイルサーバに記憶しておくということが一般に行われている。
しかしながら、文書ファイル等を所定のいくつかのファイルサーバに記憶させたとしても、文書ファイルが必要になるたびにファイルサーバに記憶されている全てのファイルを検索しようとすると、ファイルIO(Input Output)等を行うための膨大な時間を必要とする。
このため、特許文献1のように、ファイルサーバに記憶されている文書ファイル等について、記憶場所やキーワード等、検索に使用するための比較的小容量の情報(インデックス情報)をインデックスファイルとして記憶するという技術が知られている。すなわち、インデックスファイルを作成することで、検索時に、複数ファイルについてのインデックス情報を1回のファイルIOで取得することが可能となり、各文書ファイル等へのファイルIOを不要とすることができる。この結果、ファイル検索時のレスポンスタイムを短くすることができるとともに、ファイルサーバの負荷を軽減することができる。
特開2003−162545号公報
しかしながら、特許文献1に開示されたような技術によってファイル検索を行うためには、検索対象としたい全てのファイルについて、インデックスファイルを作成する必要がある。
インデックス情報の記憶容量は、ファイル自体と比べれば比較的小さいものの、キーワードによる全文検索を行うことができるようにするためには、ファイルに含まれるキーワードを解析してインデックス情報に記憶しておく必要があり、ファイルに含まれるキーワードの数が多くなれば、それだけ大きな容量を必要とする。従って、検索対象としたいファイルの数が増えるほど、インデックスファイルの記憶容量は大きくなっていく。
ここで、例えば組織内におけるファイル検索を検討すると、ファイルを共有のファイルサーバに記憶する場合であっても、部署ごとにアクセス可能なフォルダ等が限定されており、当該限定されたフォルダ等の配下にファイルを記憶し、検索する場合が多い。このような場合、フォルダに、例えば“作業報告書用フォルダ”といったような名称を付けておき、当該フォルダ内には当該名称に合致したファイルを記憶しておくという方法、すなわちフォルダによってファイルを分類するという方法をとる場合が多い。そして、このようにした場合、フォルダのツリー構造を手繰っていくことで必要なファイルが検索できるので、キーワードによる全文検索を必要とすることはまれである。
従って、ファイルを間違ったフォルダに記憶したような場合でも、ファイルの使用目的、タイトル等による小容量のインデックスファイルがあれば、当該インデックスファイルのインデックス情報を参照して検索できる場合が多い。
すなわち、組織内において作成された文書等のファイルについては、ファイルの使用目的、タイトル等による小容量のインデックスファイルがあれば検索できることが多い。一方、例えば、特許文献、技術論文等、組織外部から入手したファイルや、WEBサーバなど、組織外部のサーバに存在しているファイルについては、入手した時点では意図しなかった用途で参照することも多く、キーワードによる全文検索が必要な場合も多い。
このように組織におけるファイル検索を検討すると、全文検索を可能にすべきファイルと、全文検索が不要なファイルが存在している。これは組織に限ったことではなく、例えば個人的に行うファイル検索についても同じである。
以上の現状に鑑み、本発明は、全文検索を可能にすべきファイルと、全文検索が不要なファイルが存在しているファイル検索環境において、全文検索を可能にすべきファイルと全文検索が不要なファイルについて異なったインデックスファイルを作成することで、より効果的な検索を行うファイル検索システム及びプログラムを提供することを目的とする。
上記の課題を解決すべく、本発明は以下の構成を提供する。
請求項1に係る発明は、ファイル検索サーバ、ファイルサーバ及びクライアントが、有線又は無線の通信回線を介して通信自在に接続されたファイル検索システムであって、
前記ファイル検索サーバは、
前記ファイルサーバに接続された記憶装置の検索対象ファイルから、少なくともファイル名、ファイルパス、アクセス権限及びキーワードを含むインデックス1レコードを作成し、インデックス1ファイルに保存するインデックス1作成手段と、
検索対象ファイルから、少なくともファイル名及びファイルパスを含むシステムメタデータと、標準メタデータと、ユーザ定義メタデータとから成るインデックス2レコードを作成し、インデックス2ファイルに保存するインデックス2作成手段と、
前記クライアントからの検索要求を受信すると、検索要求に含まれる検索条件式を解析し、メタデータ検索を行うか判定する手段と、
メタデータ検索を行うと判定した場合、インデックス2ファイルのインデックス2レコードから前記検索条件式に基づき条件に合致するメタデータ合致レコードを選択するメタデータ検索手段と、
メタデータ検索を行った後、又はメタデータ検索を行わないと判定した場合、前記検索条件式から、全文検索を行うか判定する手段と
全文検索を行うと判定した場合、前記検索条件式及び前記メタデータ合致レコードに基づき前記インデックス1ファイルに対して前記キーワードを参照して検索する全文検索手段と、
全文検索を実行した場合は、検索されたキーワード合致レコードであるインデックス1レコードの各データ項目を前記クライアントへ送信し、全文検索を行わないと判定した場合は、前記メタデータ合致レコードを前記クライアントへ送信する手段とを備えることを特徴とするファイル検索システムを提供するものである。
請求項2に係る発明は、前記ファイル検索サーバは、前記インデックス1ファイルを検索するインデックス1検索手段と、
その他の検索を行うその他検索手段とを備え、
前記その他検索手段は、
全文検索を行うと判定された場合、前記検索条件式から、全文検索の条件を抽出する手段と、
抽出した全文検索の条件を、前記メタデータ合致レコードのファイルパス、及び前記クライアントから受信した利用者IDとともに、前記インデックス1検索手段に送信する手段とを備え、
前記インデックス1検索手段は、
前記その他検索手段から、前記全文検索の条件を、前記メタデータ合致レコードのファイルパス及び利用者IDとともに受信すると、受信したメタデータ合致レコードのファイルパス全てにつき、ファイルパスに同一値が設定されているインデックス1レコードを参照し、当該レコードのアクセス権限により、受信した利用者IDがアクセス権限を有するか判定する手段と、
アクセス権限を有すると判定した場合、当該レコードのキーワードが前記全文検索の条件を満足するか判定する手段とを備えることを特徴とする請求項1記載のファイル検索システムを提供するものである。
請求項3に係る発明は、前記ファイル検索サーバが、前記インデックス1作成手段と、前記インデックス1検索手段とを備える構成に代えて、
前記通信回線に更に通信自在に接続されて設けられる第2ファイル検索サーバが、前記インデックス1作成手段と、前記インデックス1検索手段とを備えることを特徴とする請求項2記載のファイル検索システムを提供するものである。
請求項4に係る発明は、前記通信回線に更にWEBサーバがインターネットを介して通信自在に接続されたファイル検索システムであって、
前記インデックス1作成手段は、前記WEBサーバの記憶装置に記憶された検索対象ファイルについて、WEBクローリングによりインデックス1ファイルを作成する手段を含み、
前記インデックス1検索手段は、前記インデックス1作成手段により作成された前記インデックス1ファイルを検索する手段を含むことを特徴とする請求項3記載のファイル検索システムを提供するものである。
請求項5に係る発明は、ファイル検索サーバ、ファイルサーバ及びクライアントが、有線又は無線の通信回線を介して通信自在に接続されたファイル検索システムのファイル検索システム用プログラムであって、
前記ファイル検索サーバに、
前記ファイルサーバに接続された記憶装置の検索対象ファイルから、少なくともファイル名、ファイルパス、アクセス権限及びキーワードを含むインデックス1レコードを作成し、インデックス1ファイルに保存するインデックス1作成機能と、
検索対象ファイルから、少なくともファイル名及びファイルパスを含むシステムメタデータと、標準メタデータと、ユーザ定義メタデータとから成るインデックス2レコードを作成し、インデックス2ファイルに保存するインデックス2作成機能と、
前記クライアントからの検索要求を受信すると、検索要求に含まれる検索条件式を解析し、メタデータ検索を行うか判定する機能と、
メタデータ検索を行うと判定した場合、インデックス2ファイルのインデックス2レコードから前記検索条件式に基づき条件に合致するメタデータ合致レコードを選択するメタデータ検索機能と、
メタデータ検索を行った後、又はメタデータ検索を行わないと判定した場合、前記検索条件式から、全文検索を行うか判定する機能と
全文検索を行うと判定した場合、前記検索条件式及び前記メタデータ合致レコードに基づき前記インデックス1ファイルに対して前記キーワードを参照して検索する全文検索機能と、
全文検索を実行した場合は、検索されたキーワード合致レコードであるインデックス1レコードの各データ項目を前記クライアントへ送信し、全文検索を行わないと判定した場合は、前記メタデータ合致レコードを前記クライアントへ送信する機能とを実行させることを特徴とするファイル検索システム用プログラムを提供するものである。
請求項6に係る発明は、前記ファイル検索サーバに、前記インデックス1ファイルを検索するインデックス1検索機能と、
その他の検索を行うその他検索機能とを実行させ、
前記その他検索機能は、前記ファイル検索サーバに、
全文検索を行うと判定された場合、前記検索条件式から、全文検索の条件を抽出する機能と、
抽出した全文検索の条件を、前記メタデータ合致レコードのファイルパス、及び前記クライアントから受信した利用者IDとともに、前記インデックス1検索機能に送信する機能とを実行させ、
前記インデックス1検索機能は、前記ファイル検索サーバに、
前記その他検索機能から、前記全文検索の条件を、前記メタデータ合致レコードのファイルパス及び利用者IDとともに受信すると、受信したメタデータ合致レコードのファイルパス全てにつき、ファイルパスに同一値が設定されているインデックス1レコードを参照し、当該レコードのアクセス権限により、受信した利用者IDがアクセス権限を有するか判定する機能と、
アクセス権限を有すると判定した場合、当該レコードのキーワードが、前記全文検索の条件を満足するか判定する機能とを実行させることを特徴とする請求項5記載のファイル検索システム用プログラムを提供するものである。
請求項7に係る発明は、前記ファイル検索サーバに、前記インデックス1作成機能と、前記インデックス1検索機能とを実行させることに代えて、
前記通信回線に更に通信自在に接続されて設けられる第2ファイル検索サーバに、前記インデックス1作成機能と、前記インデックス1検索機能とを実行させることを特徴とする請求項6記載のファイル検索システム用プログラムを提供するものである。
請求項8に係る発明は、前記通信回線に更にWEBサーバがインターネットを介して通信自在に接続されたファイル検索システムのファイル検索システム用プログラムであって、
前記インデックス1作成機能は、前記第2ファイル検索サーバに、前記WEBサーバの記憶装置に記憶された検索対象ファイルについて、WEBクローリングによりインデックス1ファイルを作成する機能を実行させ、
前記インデックス1検索機能は、前記第2ファイル検索サーバに、前記インデックス1作成機能により作成された前記インデックス1ファイルを検索する機能を実行させることを特徴とする請求項7記載のファイル検索システム用プログラムを提供するものである。
本発明によれば、全文検索を可能にすべきファイルと、全文検索が不要なファイルが存在しているファイル検索環境において、全文検索を可能にすべきファイルと全文検索が不要なファイルについて異なったインデックスファイルを作成することで、より効果的な検索を行うファイル検索プログラムを提供することができる。
本発明の実施例1に係るファイル検索システムのシステム構成図である。 本発明の実施例1に係るインデックス1ファイルのデータ構成図である。 本発明の実施例1に係るインデックス2ファイルのデータ構成図である。 本発明の実施例1に係るシステムメタデータのデータ構成図である。 本発明の実施例1に係る標準メタデータのデータ構成図である。 本発明の実施例1に係る仮想分類定義ファイルのデータ構成図である。 本発明の実施例1に係る関連定義ファイルのデータ構成図である。 本発明の実施例1に係るインデックス1作成プログラムの動作を示すフローチャートである。 本発明の実施例1に係るインデックス2作成プログラムの動作を示すフローチャートである。 本発明の実施例1に係る検索要求プログラムの動作を示すフローチャートである。 本発明の実施例1に係る検索プログラムの動作を示すフローチャートである。 本発明の実施例1に係るインデックス1検索プログラムの動作を示すフローチャートである。 本発明の実施例1に係るログイン画面を例示した図である。 本発明の実施例1に係る検索要求画面を例示した図である。 本発明の実施例1に係るツリー表示がなされた検索要求画面を例示した図である。 本発明の実施例1に係る複合検索における検索プログラム等の動作を示すフローチャートである。 本発明の実施例1に係る検索要求画面での検索結果の表示内容を例示した図である。 本発明の実施例1に係る検索要求画面での関連検索結果の表示内容を例示した図である。 本発明の実施例2に係るファイル検索システムのシステム構成図である。
以下、実施例を示した図面を参照しつつ本発明の実施の形態を説明する。
なお、上記ファイル検索サーバ、第2ファイル検索サーバ、ファイルサーバ、クライアント、及び、WEBサーバは、コンピュータであり、上記各手段は、コンピュータのCPUが必要なコンピュータプログラムを読み込んで実行することにより実現される手段であり、そのフローチャート図が図8乃至図12、及び、図16である。
又、以降の説明において「ファイル」とは、特に説明を付さない限り、文書ファイル、画像ファイル等のファイルのみならず、データベース全体やデータベースの各レコード等も含み、閲覧、視聴、メール送受信あるいは外部記憶媒体へのコピー等の対象となりうる電子データを意味する。
図1は、本発明に係る実施例1のファイル検索システムのシステム構成図である。
<ファイル検索システム全体の構成・機能>
実施例1のファイル検索システムは、ファイル検索サーバ1、ファイルサーバ4及びクライアント3を、LAN(Local Area Network)等の有線又は無線の通信回線9により通信可能に接続したシステムである。ここで、ファイル検索サーバ1、ファイルサーバ4及びクライアント3はそれぞれ1台ずつ図示しているが、それぞれ2台以上存在していてもよい。また、通信回線9はLANに限定されるものではなく、例えばWAN(Wide Area Network)やインターネットとすることもできるし、これらの組み合わせとすることもできる。
以上のような構成により、後に詳述するように、ファイル検索サーバ1はファイルサーバ4に記憶されているファイルの名称等を収集して、インデックスファイルを作成して記憶しておくことができる。そして、クライアント3はファイル検索サーバ1にファイル検索要求(以下「検索要求」と略記することがある。)を送信し、ファイル検索サーバ1は上述のインデックスファイルを参照してファイル検索を行い、クライアント3にファイル検索結果(以下「検索結果」と略記することがある。)を送信することができる。
<クライアント3の構成・機能>
クライアント3はPC等の装置であり、入力装置32、表示装置33と通信可能に接続されている。入力装置32はキーボード、マウス等の装置であり、クライアント3の操作者は入力装置32を操作することで、クライアント3が実行するべき処理を指示することができる。すなわち入力装置32はクライアント3の入力手段として機能する。
表示装置33は液晶ディスプレイ、プリンタ等の装置であり、クライアント3が実行した処理の結果等を表示あるいは印刷出力する。すなわち表示装置33はクライアント3の表示手段および出力手段として機能する。また、図示していないが、クライアント3は磁気ディスク等からなる記憶装置を内蔵、あるいは外部接続している。記憶装置と、図示していないがクライアント3の主記憶装置等は、クライアント3の記憶手段として機能する。
クライアント3は図示していないがCPU(Central Processing Unit)、主記憶装置等を備えており、CPUは、図示していないが、記憶装置に記憶されている検索要求プログラム31等のプログラムを主記憶上にローディングし、その命令コードを実行することで各種の処理を実行する。また、CPUは、検索要求プログラム31等の応用プログラムの命令コードを実行する際、OS(Operating System)等のプログラムの命令コードも実行する場合がある。以上のようなプログラム実行にかかわる技術は周知であるので、以降の説明および図面においては、プログラム実行に係る説明が煩雑になるのを避けるため、検索要求プログラム31等が主体となって処理を実行するかのように記載する。なお、各プログラムの機能を電子装置または電子装置とファームウェアの組合せ等で実現することも可能である。
検索要求プログラム31は、クライアント3の操作者が入力装置32によって入力したファイル検索条件およびファイル検索指示(例えば、ファイル名が「作業報告」であるファイルを検索するように、という指示)を受けて、検索条件式を作成し、ファイル検索サーバ1に検索条件式を含む検索要求を送信する。また、ファイル検索サーバ1がクライアント3に送信した検索結果を受信し、表示装置33に表示する。検索要求プログラム31は、実施例1に係わる独自のプログラムであってもよいし、例えばWEBブラウザであってもよい。WEBブラウザを検索要求プログラム31として使用する場合、後述するファイル検索サーバ1の検索プログラム13は、例えばWEBアプリケーションとすればよい。
<ファイルサーバ4の構成・機能>
ファイルサーバ4はPC等の装置であり、記憶装置42と通信可能に接続されている。記憶装置42は磁気ディスク等の装置であり、ファイルサーバ4に内蔵され又は外部接続される。図1では、1台の記憶装置42がファイルサーバ4に接続されているかのように例示しているが、実際には、むしろ2台以上の記憶装置42がファイルサーバ4に接続されることが多く、また、2台以上の記憶装置42が2台以上のファイルサーバ4に、切り替え可能に接続されることも多い。
記憶装置42にはさまざまなファイルが記憶されているが、図1では、ファイルのうち後述するファイル検索サーバ1がインデックス作成対象とするものを、「検索対象ファイル43」と記述している。すなわち、検索対象ファイル43という特定のファイルが存在するのではなく、検索対象ファイル43は、例えば記憶装置42に記憶されている全てのファイルであってもよいし、あるいは、特定のフォルダ内の全てのファイル等、記憶装置42に記憶されている一部のファイルであってもよい。
ファイルサーバ4はファイル管理プログラム41を備えている。ファイル管理プログラム41は、検索対象ファイル43を含め、記憶装置42に記憶されているファイルの記憶位置等を管理する。また、ファイル管理プログラム41は、ファイル検索サーバ1からファイルの格納場所等を受信し、当該格納場所に記憶された検索対象ファイル43等を読み込み、当該ファイルの記憶内容をファイル検索サーバ1に送信する機能も有している。
<ファイル検索サーバ1の構成・機能>
ファイル検索サーバ1はPC等の装置であり、記憶装置2と通信可能に接続されている。
記憶装置2は磁気ディスク等の装置であり、ファイルサーバ1に内蔵され又は外部接続される。図1では、1台の記憶装置2がファイル検索サーバ1に接続されているかのように例示しているが、2台以上であってもよい。記憶装置2と、図示していないがファイルサーバ1の主記憶装置等は、ファイルサーバ1の記憶手段として機能する。
記憶装置2には、インデックス1ファイル21、インデックス2ファイル22、仮想分類定義ファイル23及び関連定義ファイル24が記憶されている。これらのファイルの記憶内容等については、以降のファイル検索サーバ1の機能説明と合わせて説明する。
ファイル検索サーバ1は、インデックス1作成プログラム11、インデックス2作成プログラム12、検索プログラム13及びインデックス1検索プログラム14を備えている。
インデックス1作成プログラム11は、例えば毎日同じ時刻等の所定のタイミングで、検索対象ファイル43を参照し、インデックス1ファイル21を作成する。インデックス1ファイル21には、後述するように、ファイル名、ファイル内容から抽出したキーワード等が記憶される。
どのファイルを検索対象ファイル43とするかは、例えば、図示していないが、予め記憶装置2に記憶装置42のファイルパス(“/etc/usr1/”等)を1以上記憶しておき、当該ファイルパス配下のファイルを検索対象ファイル43とすることができる。なお、記憶装置42が2台以上存在する場合等には、当該ファイルパスがどの記憶装置上に存在するか等も含めて記憶しておけばよい。以上のようにインデックス1ファイル21を作成することで、インデックス1ファイル21を参照してファイル検索することが可能になり、検索の都度、検索対象ファイル43を参照する必要がなくなるので、検索に要する処理時間を短縮することができる。
なお、以上のように、インデックス1ファイル21を参照して検索する場合、インデックス1ファイル21作成後に検索対象ファイル43が削除されあるいは変更された場合(例えばファイル名が「作業報告」であるファイルについてインデックス1ファイル21が作成された後、当該ファイルが削除された場合)、インデックス1ファイル21を検索すると、検索対象ファイル43を検索した場合とは異なる検索結果が得られることになる(インデックス1ファイル21を参照するとファイル名が「作業報告」のファイルが存在しているように見えるが、検索対象ファイル43には存在していない)。そこで、前述したように、インデックス1作成プログラム11は、例えば毎日同じ時刻等の所定のタイミングで処理を行うようにすることができる。このようにすることで、インデックス1ファイル21が定期的に更新され、検索対象ファイル43と大きく乖離することを防ぐことができる。
そして、インデックス1作成プログラム11が処理を行うタイミングの間隔を短くすることで(例えば、1時間おきに処理を行うようにすることで)、インデックス1ファイル21と検索対象ファイル43の乖離を、より小さくすることができる。ただし、インデックス1作成プログラム11が処理を行うタイミングの間隔を短くするということは、検索対象ファイル43の全ファイルに対するIOが発生する間隔も短くなるということなので、ファイルサーバ4の性能等も考慮した上で、インデックス1作成プログラム11が処理を行うタイミングの間隔を決める必要がある。
例えば、ファイルサーバ4において、CPU使用率、一定時間におけるIO頻度等を常時監視するプログラムを走行させておき、CPU使用率、一定時間におけるIO頻度等が所定値以下になった場合に、その旨をインデックス1作成プログラム11に送信し、インデックス1作成プログラム11が処理開始する等も、有効な方法である。あるいは、ファイルサーバ4において、検索対象ファイル43におけるIOを常時監視するプログラムを走行させておき、検索対象ファイル43が更新等されるたびに、インデックス1作成プログラム11にその旨を通知し、インデックス1ファイル21内の当該ファイルについてのインデックス情報が更新されるようにしてもよい。
インデックス2作成プログラム12も、インデックス1作成プログラム11と同様に、例えば毎日同じ時刻等の所定のタイミングで、検索対象ファイル43を参照し、インデックス2ファイル22を作成する。実施例1においては、インデックス2ファイル22には、後述するように、ファイル内容から判断したファイルに記憶されている文書のタイトル等が記憶される。すなわち、インデックス1ファイル21の記憶内容と、インデックス2ファイル22の記憶内容は一部が重複するとしても、完全には同一でない。
どのファイルを検索対象ファイル43とするかは、インデックス1作成プログラム11と同様に、予め記憶装置2に記憶装置42のファイルパス(“/etc/usr1/”等)を1以上記憶しておき、当該ファイルパス配下のファイルを検索対象ファイル43とすることができる。インデックス1作成プログラム11の検索対象ファイル43とインデックス2作成プログラム12の検索対象ファイル43は同一であってもよいし、一部が重複してもよいし、全く異なっていても構わない。
なお、以上のように作成されたインデックス2ファイル22を参照して検索する場合、インデックス1ファイル21を参照して検索する場合と同様に、インデックス2ファイル22の記憶内容と検索対象ファイル43の内容が乖離することがあるという問題が発生する。そして、この問題は、インデックス1作成プログラム11と同様に、インデックス2作成プログラム12が処理を行うタイミングの間隔を短くする等によって解決することができる。
さらに、インデックス1ファイル21とインデックス2ファイル22の作成タイミングが異なると、インデックス1ファイル21とインデックス2ファイル22の内容が乖離することがあるという問題も発生する。この問題の解決方法のひとつは、インデックス1作成プログラム11とインデックス2作成プログラム12のインデックスファイル作成処理開始タイミングを一致させることである。具体的には、例えば、インデックス2作成プログラム12がインデックスファイル作成処理を開始する直前に、インデックス1作成プログラム11にインデックス作成処理開始要求を送信し、インデックス1作成プログラム11は当該要求を受信するとインデックス作成処理を開始するようにすればよい。
もっとも、インデックスファイル作成処理開始タイミングが一致しても、各検索対象ファイル43を参照するタイミングが一致するとは限らないが、インデックス1ファイル21とインデックス2ファイル22の内容が多少乖離していたとしても、検索目的での使用に大きな支障があるわけではない。従って、インデックスファイル作成処理開始タイミングを一致させれば、ほとんどの場合、実用的には問題はない。
しかし、インデックス1ファイル21とインデックス2ファイル22の内容の乖離を完全に防止する必要がある場合は、例えば、ファイルサーバ4において、検索対象ファイル43におけるIOを常時監視するプログラムを走行させておき、検索対象ファイル43が更新等されるたびに、インデックス1ファイル21及びインデックス2ファイル22内の当該ファイルについての情報を更新するようにしてもよい。
検索プログラム13は、ファイル検索サーバ1がクライアント3からの検索要求を受信した場合に起動され、ファイル検索を実行する。具体的には、インデックス1ファイル21とインデックス2ファイル22の一方又は両方を参照して、検索要求の検索条件式に合致するファイルが存在するかどうか判定し、存在する場合には、合致したファイルのファイル名等からなる検索結果をクライアント3に送信する。
ここで、検索プログラム13は、インデックス1ファイル21を参照する必要がある場合、インデックス1検索プログラム14に検索条件式を送信し、インデックス1検索プログラム14は、インデックス1ファイル21を参照して、受信した検索条件式に合致するファイルが存在するかどうか判定する。すなわち、インデックス1検索プログラム14は、検索プログラム13の検索機能の一部を補完するプログラムである。後述するように、実施例1においては、クライアント3の操作者がいわゆる全文検索を要求した場合に、インデックス1検索プログラム14による検索を行う。検索プログラム13自体の機能から全文検索機能を分離することにより、インデックス1検索プログラム14として、既に存在するさまざまな全文検索プログラムを使用することが可能になり、例えば、検索要求から社会科学分野の文献の検索が求められているのか、自然科学分野の文献の検索が求められているのか等の検索目的を判定して、検索目的に合致したインデックス1検索プログラム14によって全文検索を行うといったことも可能になる。
検索プログラム13は、検索対象ファイル43をインデックス2ファイル22に記憶された文書のタイトル等により分類して、ツリー状の階層を作成する機能(以下「仮想分類機能」という。)、言い換えれば、インデックス2レコード220を分類する機能を有しており、仮想分類を行う際には、分類条件等を定義した仮想分類定義ファイル23を参照する。当然ながら、仮想分類定義ファイル23を作成・更新等するプログラムも存在するが、本発明とは直接関係がないので、以降の説明では仮想分類定義ファイル23が作成済みであるという前提で説明する。
また、検索プログラム13は、インデックス2ファイル22に記憶された、検索対象ファイル43の記憶装置42上の記憶位置を参照して、ツリー状の階層を作成する機能(以下「物理階層作成機能」という。)を有している。
さらに、検索プログラム13は、検索結果と関連するファイルを検索する機能(以下「関連検索機能」という。)を有しており、関連検索を行う際には、関連検索条件等を定義した関連定義ファイル24を参照する。当然ながら、関連定義ファイル24を作成・更新等するプログラムも存在するが、本発明とは直接関係がないので、以降の説明では関連定義ファイル24が作成済みであるという前提で説明する。
<各ファイルの構成・機能>
図2は、実施例1における、インデックス1ファイル21のデータ構成図である。
インデックス1ファイル21は、各検索対象ファイル43と対応するインデックス1レコード210から構成される。すなわち各インデックス1レコード210は、インデックス1レコード210作成時点の検索対象ファイル43と1対1に対応している。
インデックス1レコード210は、ファイル名211、ファイルパス212、アクセス権限213およびキーワード214の各データ項目から構成される。
ファイル名211には、対応する検索対象ファイル43のファイル名、例えば“作業報告1.doc”が設定される。
ファイルパス212には、対応する検索対象ファイル43の絶対パス、例えば“//etc/usr1/作業報告1.doc” (ルート直下の”etc“フォルダ内の”usr1“フォルダ内の”作業報告1.doc“)が設定される。なお、ファイルパス212によって検索対象ファイル43の記憶装置42上の記憶位置を識別することができるが、ファイルサーバ4に複数の記憶装置42が接続されている場合、記憶装置42を特定する識別や、論理ボリューム名等も、ファイルパス212の一部として、又はファイルパス212とは別のデータ項目として設定すればよい。また、ファイルの絶対パス以外の情報、例えば予め定めた所定のファイルを基準とする相対パス、あるいはファイルが記憶されている論理ブロック番号によっても、検索対象ファイル43の記憶位置を識別することは可能である。インデックス1レコード210には、ファイルパス212に変えて、又はファイルパス212に加えて、このようなデータ項目を設けてもよい。
アクセス権限213には、対応する検索対象ファイル43に対して設定されているアクセス権限が設定される。具体的には、例えばファイルサーバ4のファイル管理プログラム41等によって付与され、ファイルの属性情報として記憶されているアクセス権限(例えば、UNIX(登録商標)等で使われている、オーナー、グループ、その他利用者に対する、参照・更新・実行権限を表す3桁の数値(777等))が設定される。
キーワード214には、対応する検索対象ファイル43の内容から抽出したキーワードが設定される。例えば、検索対象ファイル43の内容に“現場”という文字列が複数個含まれている場合“現場”を抽出する等、さまざまな構文解析手法等によって、1以上のキーワードを抽出し、キーワード214に設定することができる。一般に、キーワード214には多数の語句等が記憶され、インデックス1レコード210のサイズの大部分がキーワード214のために使用される。
なお、以上のほか、ファイル作成者等、他のファイル属性情報についても、インデックス1レコード210のデータ項目とすることができる。
以上のようにして作成されたインデックス1レコード210(インデックス情報)は、前述したように、インデックス1検索プログラム14により参照される。
図3は、実施例1における、インデックス2ファイル22のデータ構成図である。
インデックス2ファイル22は、各検索対象ファイル43と対応するインデックス2レコード220から構成される。すなわち各インデックス2レコード220は、インデックス2レコード220作成時点の検索対象ファイル43と1対1に対応している。
インデックス2レコード220は、システムメタデータ221、標準メタデータ222及びユーザ定義メタデータ223から構成される。システムメタデータ221はインデックス2作成プログラム12によって設定され、利用者が設定内容を直接変更することはできない。一方、標準メタデータ222はインデックス2作成プログラム12によって設定されるが、利用者が、図1に示していないが、ファイル検索サーバ1のメタデータ変更プログラムを使用して、設定内容を直接変更することができる。また、ユーザ定義メタデータ223は利用者がデータ構造を定義し、データ内容を設定・変更するデータ項目である。
インデックス2作成プログラム12は、ユーザ定義メタデータ223の設定を行わない。
図4は、実施例1における、システムメタデータ221のデータ構成図である。
システムメタデータ221は、ファイルID221a、ファイル名221b及びファイルパス221cから構成される。
ファイルID221aには、対応する検索対象ファイル43を一意に識別可能なID(Identifier)が設定される。具体的には、例えば、新たに検索対象ファイル43のインデックス2レコード220を作成するたびに、1から始まる通番を設定すればよい。
ファイル名221bには、インデックス1レコード210のファイル名211と同様、対応する検索対象ファイル43のファイル名、例えば“作業報告1.doc”が設定される。
ファイルパス221cには、インデックス1レコード210のファイルパス212と同様、対応する検索対象ファイル43の絶対パス、例えば“//etc/usr1/作業報告1.doc”が設定される。
なお、以上のほか、ファイル作成者、アクセス権限等、他のファイル属性情報についても、システムメタデータ221のデータ項目とすることができる。
図5は、実施例1における、標準メタデータ222のデータ構成図である。
標準メタデータ222は、タイトル222a、文書記載日222b及びセキュリティランク222cから構成される。
タイトル222aには、対応する検索対象ファイル43に記憶されている文書等の題名が“作業報告書”のように設定される。具体的には、インデックス2作成プログラム12は、例えば、当該ファイルを印刷する場合の表示イメージを構築し、先頭ページ上段に、他の文字より大きな文字サイズで印刷される文字列を文書等の題名とみなし、タイトル222aに設定する。
文書記載日222bには、対応する検索対象ファイル43に記憶されている文書等が記載された日付が“2009年8月5日”のように設定される。具体的には、インデックス2作成プログラム12は、例えば、当該ファイルを印刷したときに先頭ページ上段に印刷される文字列のうち、“年”、“月”、“日”、“作成”を含む等、作成日付らしい文字列を文書等の題名とみなし、文書記載日222bに設定する。
セキュリティランク222cには、対応する検索対象ファイル43に記憶されている文書等の機密度が“極秘”、“秘密”のように設定される。具体的には、インデックス2作成プログラム12は、例えば、当該ファイルに印刷される文字列のうち、“取扱注意”、“複製禁止”等、機密にする必要があることを示していると思われる文字列を抽出し、抽出した文字列の内容、数等によって機密度を判定し、セキュリティランク222cに設定する。
なお、以上のほか、文書の保管期間等、検索対象ファイル43を印刷した場合の表示イメージ等から判断可能な他の情報についても、標準メタデータ222のデータ項目とすることができる。
以上のようにして作成されたインデックス2レコード220(インデックス情報)は、前述したように、検索プログラム13により参照される。
図6は、実施例1における、仮想分類定義ファイル23のデータ構成図である。
仮想分類定義ファイル23は、1以上の仮想分類定義レコード230から構成される。
仮想分類定義レコード230は、仮想分類ID231、表示名232、条件233及び上位仮想分類ID234の各データ項目から構成される。
仮想分類ID231には、当該仮想分類定義レコード230を一意に識別可能な値が“1”、“2”のように設定される。
表示名232には、当該仮想分類の名称が“タイトル”、“作業報告”のように設定される。
条件233には、当該仮想分類による分類条件が“条件なし”、“タイトル222aに「作業報告書」(という文字列)が含まれる”のように設定される。分類条件に“条件なし”が設定されている場合、当該仮想分類に分類されるインデックス2レコード220が存在しないことを意味し、分類条件に何らかの条件が設定されている場合、インデックス2レコード220のうち、当該条件を満足するレコードが当該仮想分類に分類されることを意味する。従って、1つのインデックス2レコード220が2以上の仮想分類に分類される場合もあるし、どの仮想分類にも分類されない場合もある。
後述するように、仮想分類定義レコード230は検索プログラム13によって参照され、表示名232や、当該表示名232に係わる条件233を満足するインデックス2レコード220のファイル名221bが、表示装置33にツリー状に階層表示される。従って、1つのインデックス2レコード220がツリーの2箇所以上で表示される場合もあるし、ツリーのどこにも表示されない場合もある。
上位仮想分類ID234には、当該仮想分類定義レコード230の上位の仮想分類定義レコード230を一意に識別可能な値が“0(上位なし)”、“1”のように設定される。
例えば、仮想分類ID231、表示名232、条件233及び上位仮想分類ID234に、それぞれ“1”、“タイトル”、“条件なし”、“0(上位なし)”が設定された仮想分類定義レコード230と、それぞれ“2”、“作業報告”、“タイトル222aに「作業報告書」が含まれる”、“1”が設定された仮想分類定義レコード230が存在し、タイトル222aに”作業報告書“が含まれているインデックス2レコード220が4レコード存在し、それぞれのファイル名221bが”作業報告1.doc“、”作業報告2.doc“、”作業報告3.doc“及び”報告書.doc“だった場合、表示装置33には、あたかも“タイトル”という名前のフォルダ内に“作業報告”という名前のフォルダが存在し、この“作業報告”という名前のフォルダ内に、”作業報告1.doc“、”作業報告2.doc“、”作業報告3.doc“及び”報告書.doc“の4つのファイルが含まれているかのようなツリー表示がなされる(図15のD1402参照)。
図7は、実施例1における、関連定義ファイル24のデータ構成図である。
関連定義ファイル24は、1以上の関連定義レコード240から構成される。
関連定義レコード240は、関連定義ID241、表示名242及び条件243の各データ項目から構成される。
関連定義ID241には、当該関連定義レコード240を一意に識別可能な値が“1”、“2”のように設定される。
表示名242には、当該関連定義の名称が“タイトル”のように設定される。
条件243には、当該仮想分類による分類条件が“タイトル222aが当該検索結果と等しい”のように設定される。
例えば、関連定義ID241、表示名242及び条件243に、それぞれ“1”、“タイトル”、“タイトル222aが当該検索結果と等しい”が設定された関連定義レコード240が存在し、タイトル222aに”作業報告書“が含まれているインデックス2レコード220が4レコード存在し、それぞれのファイル名221bが”作業報告1.doc“、”作業報告2.doc“、”作業報告3.doc“及び”報告書.doc“であり、表示装置33に検索結果として”作業報告1.doc“が表示されている場合、”タイトル“の文字も表示され、”タイトル“の文字をクリックすると、”作業報告2.doc“、”作業報告3.doc“及び”報告書.doc“の3つのファイルが関連検索される(図17及び図18のD1405参照)。
なお、条件243には、例えば、“当該検索ファイルのファイル名の前に「コピー〜」が追加されている”、“当該検索ファイルのファイル名の後ろに数字が追加されている”等、さまざまな条件を設定可能である。
以上で実施例1のファイル検索システムの構成・機能の説明を終了し、以下、各プログラムのフローチャートを参照しつつ、実施例1のファイル検索システムの動作を説明する。
<各プログラムの動作>
図8は、実施例1における、インデックス1作成プログラム11の動作を示すフローチャートである。
インデックス1作成プログラム11は、処理開始すると、検索対象ファイル43のインデックス1レコード210を作成等する(S801)。
具体的には、例えば、ファイル管理プログラム41に、予め設定したファイルパス(例えば“/etc/usr1/”)に含まれているファイルを読込、送信するように要求する。そして、ファイル管理プログラム41からファイルを受信すると、取得したファイルのファイルパス(例えば“/etc/usr1/作業報告1.doc”)がファイルパス212に設定されているインデックス1レコード210が存在するか判定する。そして、存在しない場合は、取得したファイルからキーワードを抽出し、当該ファイルのファイル名、ファイルパス、アクセス権限及び抽出したキーワードを、それぞれファイル名211、ファイルパス212、アクセス権限213及びキーワード214に設定して、インデックス1レコード210を追加する。一方、存在する場合は、当該インデックス1レコード210(以下「更新対象レコード」という。)のアクセス権限213及びキーワード214を更新する。
以上の処理を、予め設定したファイルパス配下のファイル全てについて実行した後、新たに作成したインデックス1レコード210以外のレコードで、更新対象レコードにならなかったインデックス1レコード210が存在する場合、当該インデックス1レコード210を削除する。
なお、インデックス1レコード210を作成等する方法は、上述の方法に限られない。例えば、処理開始後、インデックス1ファイル21を削除し、ファイル管理プログラム41に、予め設定したファイルパス(例えば“/etc/usr1/”)に含まれているファイルを読込、送信するように要求し、受信したファイルについて、インデックス1レコード210を作成してもよい。
以上で説明したように、実施例1の実施形態においては、インデックス1作成プログラム11が処理を行うたびに、処理時点の検索対象ファイル43と1対1に対応するインデックス1レコード210が作成される。
図9は、実施例1における、インデックス2作成プログラム12の動作を示すフローチャートである。
インデックス2作成プログラム12は、処理開始すると、検索対象ファイル43のインデックス2レコード220を作成等する(S901)。具体的な処理内容は、インデックス1作成プログラム11と同様なので、以下、異なる点のみを説明する。
まず、前述したように、インデックス2作成プログラム12の検索対象ファイル43は、インデックス1作成プログラム11と同一である必要はない。例えば、記憶装置42に記憶されている全てのファイルを、インデックス1作成プログラム11の検索対象ファイル43とし、記憶装置42に記憶されているファイルの一部(例えばクライアント3の操作者が通常参照するファイルのみ)をインデックス2作成プログラム12の検索対象ファイル43とすることができる。このようにすることで、後述する検索処理において、通常はインデックス2ファイル22のみを検索することで検索結果として表示されるファイルの数を抑え、一方、必要に応じてインデックス1ファイル21を検索することで、普段は参照しないファイルも検索結果として表示させることができる。
逆に、記憶装置42に記憶されているファイルの一部(例えば論文、判決文等、語句が比較的厳密に使用されている文書ファイル)をインデックス1作成プログラム11の検索対象ファイル43とし、記憶装置42に記憶されている全てのファイルを、インデックス2作成プログラム12の検索対象ファイル43とすることができる。このようにすることで、定義をあいまいにしたまま使用されている語句等(当該語句等が検索キーワードに一致して当該ファイルが検索結果として表示されても、実際には求めるファイルではない可能性が比較的高い)が、インデックス1レコード210のキーワード214に抽出される可能性が減少するので、インデックス1ファイル21の容量を比較的小さく抑えることができるとともに、後述する検索処理において、キーワードによる全文検索を行った場合に、検索結果として求めるファイルが表示される可能性を高めることができる。
また、以下のようにすることで、インデックス2レコード220の不要な更新を避けることもできる。例えば、インデックス2レコード220のデータ項目として更新日時を設け、インデックス2レコード220を作成・更新する際には当該処理を行った年月日時分秒を設定するようにしておき、インデックス2作成プログラム12がインデックス2レコード220を更新しようとする際に、インデックス2レコード220の更新日時と検索対象ファイル43の更新日時(一般にファイル管理プログラム41が、ファイルの属性情報の一つとして設定する)を比較して、検索対象ファイル43の更新日時の方が新しければ、インデックス2レコード220を作成した後での当該検索対象ファイル43の内容が変わっている可能性があるので、更新対象とする。また、インデックス2レコード220のデータ項目としてアクセス権限を設けた場合には、インデックス2作成プログラム12がインデックス2レコード220を更新しようとする際に、インデックス2レコード220のアクセス権限と検索対象ファイル43のアクセス権限を比較し、異なっていれば更新対象とすればよい。
さらに、インデックス2作成プログラム12は、インデックス2レコード220を更新する際、標準メタデータ222の設定内容が、前述したメタデータ変更プログラムを使用して直接変更されているか判定し、直接変更されている場合は、標準メタデータ222は更新しない。このようにするためには、例えば、標準メタデータ222のデータ項目として「直接変更有無」を設け、インデックス2レコード220を作成する際には“直接変更なし”を設定し、メタデータ変更プログラムを使用して直接変更した場合に、“直接変更有り”を設定するようにすればよい。なお、インデックス2作成プログラム12は、ユーザ定義メタデータ223を更新しない。
標準メタデータ222のデータ項目として、さらに「直接変更後ファイル更新有無」を設け、インデックス2作成プログラム12がインデックス2レコード220を作成する際に“更新なし”を設定し、インデックス2作成プログラム12がインデックス2レコード220を更新する際、当該インデックス2レコード220がメタデータ変更プログラムを使用して直接変更されているかどうかを判定し、直接変更されていて、かつ対応する検索対象ファイル43の内容が変わっている場合、“更新有り”を設定するようにしてもよい。
このようにすることで、クライアント3の操作者がメタデータ変更プログラムを使用して当該インデックス2レコード220を参照する際や、後述するようにファイル検索結果を表示する際に、標準メタデータ222の直接変更を行った後で、表示装置33に表示されるファイルの内容が更新されていることを知らせることができ、クライアント3の操作者は、再度標準メタデータ222の直接変更を行う必要があるかどうか判断することができる。
以上で説明したように、実施例1の実施形態においては、インデックス2作成プログラム12が処理を行うたびに、処理時点の検索対象ファイル43と1対1に対応するインデックス2レコード220が作成される。
図10は、実施例1における、検索要求プログラム31の動作を示すフローチャートである。
検索要求プログラム31は、クライアント3の操作者が入力装置32を使用して起動する。
検索要求プログラム31は、起動されると、ログイン処理を行う(S1001)。具体的には、表示装置33に図13のようなログイン画面を表示し、クライアント3の操作者が入力装置32を使用して利用者IDおよびパスワードを入力し、「実行」ボタンを押すと、入力された利用者IDとパスワードが適切かどうか判定する。なお、上記のようなログイン処理自体は周知技術であるので、これ以上の説明は省略する。
検索要求プログラム31は、入力された利用者IDとパスワードが適切であると判定した場合、表示装置33に検索要求画面を表示する(S1002)。
図14に検索要求画面(D1401)の表示例を示す。図14において、検索要求画面は、仮想分類表示部(D1402)、物理フォルダ表示部(D1403)、検索条件部(D1404)、検索結果部(D1405)および「検索」、「メタデータ編集」、「終了」のボタンから構成されている。
検索要求プログラム31は、検索要求画面を表示する際に、検索プログラム13の仮想分類機能を利用して、仮想分類表示部(D1402)の表示を行う。具体的には、検索要求プログラム31は検索プログラム13に、仮想分類の初期表示内容を送信するように要求し、検索プログラム13は、仮想分類定義レコード230のうち、上位仮想分類ID234に“0(上位なし)”が設定されているレコード(すなわち最上位の仮想分類定義レコード230)の表示名232を、検索要求プログラム31に送信し、検索要求プログラム31は、受信した表示名を仮想分類表示部(D1402)に表示する。また、検索要求プログラム31は、各表示名232の前に、「+」を四角く囲んだ図形を表示する。後述するように、クライアント3の操作者は、この図形をマウスでクリックする等の操作を行うことで、当該仮想分類に含まれている他の仮想分類やファイルを表示することができる。
例えば、仮想分類ID231、表示名232、条件233及び上位仮想分類ID234に、それぞれ“1”、“タイトル”、“条件なし”、“0(上位なし)”が設定された仮想分類定義レコード230と、それぞれ“2”、“作業報告”、“タイトル222aに「作業報告書」が含まれる”、“1”が設定された仮想分類定義レコード230が存在し、タイトル222aに”作業報告書“が含まれているインデックス2レコード220が4レコード存在し、それぞれのファイル名221bが”作業報告1.doc“、”作業報告2.doc“、”作業報告3.doc“及び”報告書.doc“だった場合、仮想分類表示部(D1402)のタイトルの前に表示された「+」を四角く囲んだ図形をクリックすると、図示していないが、あたかも“タイトル”という名前のフォルダ内に“作業報告”という名前のフォルダが含まれているかのようなツリー表示がなされ、さらに、作業報告前に表示された「+」を四角く囲んだ図形をクリックすると、図15の仮想分類表示部(D1402)に示すように、あたかも“タイトル”という名前のフォルダ内に“作業報告”という名前のフォルダが存在し、この“作業報告”という名前のフォルダ内に、”作業報告1.doc“、”作業報告2.doc“、”作業報告3.doc“及び”報告書.doc“の4つのファイルが含まれているかのようなツリー表示がなされる。
また、検索要求プログラム31は、検索要求画面を表示する際に、検索プログラム13の物理階層作成機能を利用して、物理フォルダ表示部(D1403)の表示を行う。具体的には、検索要求プログラム31は検索プログラム13に、物理フォルダの初期表示内容を送信するように要求し、検索プログラム13は、インデックス2レコード220のファイルパス221cを参照してフォルダのツリー状階層を作成し、ツリーの最上位のフォルダの名称を、検索要求プログラム31に送信し、検索要求プログラム31は、受信したフォルダ名称を物理フォルダ表示部(D1403)に表示する。また、検索要求プログラム31は、各フォルダ名称の前に、「+」を四角く囲んだ図形を表示する。クライアント3の操作者は、この図形をマウスでクリックする等の操作を行うことで、当該フォルダに含まれている他のフォルダやファイルを表示することができる。
なお、検索条件部(D1404)及び検索結果部(D1405)の表示内容は図14に示すとおりであり、検索結果部(D1405)には検索結果は表示されていない。
クライアント3の操作者は入力装置32を使用して検索条件部(D1404)の各項目を入力する。検索条件部(D1404)に入力した項目は検索条件となり、例えば、全文に“現場”、タイトルに“作業報告”を入力した場合、インデックス1レコード210のキーワード214に“現場”が設定されており、かつ、インデックス2レコード220のタイトル222aに“作業報告”が設定されているファイルが検索され、検索結果部(D1405)に、検索結果がスクロール表示される。
検索条件部(D1404)の各項目については、さまざまな入力方法を可能にすることで検索の利便性を向上させることができる。例えば、全文に“not現場”、“現場 and 作業”等の論理式入力を可能にすればよい。なお、検索条件部(D1404)の入力項目は、図示した項目に限る必要はなく、例えばアクセス権限、セキュリティランク等、インデックス1ファイル21及びインデックス2ファイル22のデータ項目に合せて決めればよい。
検索要求プログラム31は、検索要求画面表示(S1002)後、検索ボタン、メタデータ編集ボタンまたは終了ボタンが押下されるのを待つ(S1003、S1004)。検索ボタンが押された場合、すなわち検索要求を検知した場合(S1003でYESの場合)、検索処理(S1005、S1006、S1007)を行う。また、終了ボタンが押された場合、すなわち終了要求を検知した場合(S1004でYESの場合)、処理を終了する。
なお、図10には示していないが、検索要求プログラム31は、メタデータ編集ボタンが押された場合、メタデータ編集処理を行う。具体的には、クライアント3の操作者に編集対象のファイルを指定するように要求し、指定されたファイルの標準メタデータ222及びユーザ定義メタデータ223の、その時点での設定内容を表示し、クライアント3の操作者が入力した内容で、標準メタデータ222及びユーザ定義メタデータ223の設定内容を変更する。このとき、前述したように、標準メタデータ222の直接変更後ファイル更新有無に“更新有り”が設定されている場合、表示装置33にその旨のメッセージを表示してもよい。
検索要求プログラム31は、検索要求を検知した場合、検索条件部(D1404)の入力内容(検索条件)を、検索プログラム13に送信する(S1005)。例えば、全文に“現場”、タイトルに“作業報告”が入力された場合、“全文=現場 タイトル=作業報告”といった検索条件式を作成し、ログイン画面で入力された利用者IDとともに、検索プログラム13に送信する。ここで、検索条件式は検索プログラム13によって解釈される式であり、検索プログラム13が解釈可能な構文規則等に従って作成すればよい。
検索要求プログラム31は、検索条件式を検索プログラム13に送信した後、検索プログラム13から検索結果を受信するまで待つ(S1006)。検索結果を受信すると、検索結果を検索要求画面の検索結果部(D1405)に表示し(S1007)、再び、検索ボタン等が押下されるのを待つ(S1003、S1004)。
図11は、実施例1における、検索プログラム13の動作を示すフローチャートである。
検索プログラム13は、ファイル検索サーバ1がクライアント3からの検索要求を受信すると、ファイル検索サーバ1により起動される。
検索プログラム13は、まず、検索要求に含まれる検索条件式を解析し、メタデータ検索を行うか、すなわち、インデックス2ファイル22のシステムメタデータ221等を参照して検索する必要があるか判定する(S1101)。例えば、検索条件式が“全文=現場 タイトル=作業報告”である場合、標準メタデータ222のタイトル222aを参照して検索する必要があると判定する。
検索プログラム13は、メタデータ検索を行うと判定した場合(S1101でYESの場合)、インデックス2ファイル22による検索を行う(S1102)。具体的には、検索条件式から、システムメタデータ221等に関する条件を抽出し、条件に合致するインデックス2レコード220を選択する(以下「メタデータ合致レコード」という。)。
例えば、検索条件式が“全文=現場、タイトル=作業報告”である場合、標準メタデータ222のタイトル222aに“作業報告”が設定されているインデックス2レコード220を選択する。
検索プログラム13は、メタデータ検索(S1102)を行った後、又はメタデータ検索を行わないと判定した場合(S1101でNOの場合)、全文検索を行うか、すなわち、インデックス1ファイル21のキーワード214を参照して検索する必要があるか判定する(S1103)。例えば、検索条件式が“全文=現場 タイトル=作業報告”である場合、キーワード214を参照して検索する必要があると判定する。
検索プログラム13は、全文検索を行うと判定した場合(S1103でYESの場合)、インデックス1ファイル21による全文検索を行う(S1104)。具体的には、検索条件式から、全文検索の条件を抽出し、メタデータ合致レコードのファイルパス221c、及び検索要求プログラム31から受信した利用者IDとともに、インデックス1検索プログラム14に送信する。インデックス1検索プログラム14は、後述するように、受信した全文検索の条件等を参照して検索を行い、最終的に検索結果とすべきインデックス1レコード210(以下「キーワード合致レコード」という。)のファイルパス221cを検索プログラム13に送信する。
検索プログラム13は、全文検索を行わないと判定した場合(S1103でNOの場合)は、メタデータ合致レコードを検索要求プログラム31への送信対象とし、一方、全文検索を実行(S1104)した場合は、キーワード合致レコードを検索要求プログラム31への送信対象とする。検索プログラム13は、送信対象としたインデックス2レコード220の各データ項目を検索要求プログラム31に送信する(S1105)。
検索プログラム13は、送信後、処理を終了する。
図12は、実施例1における、インデックス1検索プログラム14の動作を示すフローチャートである。
インデックス1検索プログラム14は、メタデータ合致レコードのインデックス1レコード210を検索する(S1201)。具体的には、検索プログラム13から受信したメタデータ合致レコードのファイルパス221c全てにつき、ファイルパス212に同一値が設定されているインデックス1レコード210を参照し、当該レコードのアクセス権限213により、検索プログラム13から受信した利用者IDがアクセス権限を有するか判定する。そして、アクセス権限を有すると判定した場合、当該レコードのキーワード214が、検索プログラム13から受信した全文検索の条件を満足するか判定する。
インデックス1検索プログラム14は、以上の条件を満たすファイルパス221cを検索プログラム13に送信し(S1202)、処理を終了する。
ところで、インデックス1検索プログラム14として、既に存在するさまざまな全文検索プログラムを使用するような場合、インデックス1作成プログラム11も当該インデックス1検索プログラム14に対応したプログラムを使用することになり、その場合、一般的には、インデックス1ファイル21に係わる検索対象ファイル43とインデックス2ファイル22に係わる検索対象ファイル43が異なることになる。そうすると、例えば、インデックス2ファイル22に係わる検索対象ファイル43として、クライアント3の操作者が普段よく使用するファイルを設定した場合も、クライアント3の操作者が全文検索のみを要求すると、インデックス1ファイル21が検索されてしまうので、普段よく使用しないファイルも検索結果として表示されることになる。
このように検索されるのが好ましい場合もあるが、好ましくない場合もある。そこで、全文検索のみを行う場合に、インデックス2ファイル22が作成された検索対象ファイル43のみを検索対象とするか(すなわち、メタデータ作成済みファイルのみを検索対象とするか)、それとも、インデックス2ファイル22に係わらずインデックス1ファイル21の検索対象ファイル43全てを検索対象とするか(すなわち、メタデータ未作成のファイルも検索対象とするか)を、検索要求画面で指定できるようにしてもよい。
このようにした場合、メタデータ未作成のファイルも検索対象とするように指定された場合は、インデックス1検索プログラム14は前述のとおりに動作し、一方、メタデータ作成済みファイルのみを検索対象とするように指定された場合は、インデックス1検索プログラム14は、メタデータ検索が要求されていない場合(図11のS1101でNOの場合)も、インデックス2ファイル22の全てのインデックス2レコード220をメタデータ合致レコードとして選択し、当該レコードのファイルパス221cを、全文検索の条件及び検索要求プログラム31から受信した利用者IDとともに、インデックス1検索プログラム14に送信する。
<メタデータ検索と全文検索の両方を行う場合の処理についての補足説明>
実施例1のファイル検索システムでは、以上に説明したとおり、クライアント3の操作者が全文検索を要求した場合にのみ、インデックス1ファイル21を利用して検索を行う。ところで、一般に全文検索を行わない場合に比べて、全文検索に要する処理時間は長くなるので、クライアント3の操作者が検索要求してから検索結果が表示されるまでの待ち時間が長くなる。そこで、クライアント3の操作者が思いがけずに長時間待たされることを防止することが望ましい。
以下、メタデータ検索と全文検索の両方を行う場合(以下「複合検索」という。)において、上記の対策を行う場合の検索プログラム13等の動作について説明する。
図16は、実施例1における、複合検索における検索プログラム13等の動作を示すフローチャートである。
図16のS1650〜S1655は、複合検索時に、図11のS1104〜S1105において検索プログラム13が行う処理の詳細を示しており、S1601〜S1607は、当該処理に対応して検索要求プログラム31が図10のS1006〜S1007において行う処理の詳細を示している。
検索プログラム13は、検索結果件数、すなわちメタデータ検索で検索されたメタデータ合致レコードのレコード数を、予め定めた所定件数(以下「最大検索件数」という。)と比較する(S1650)。
そして、メタデータ合致レコードのレコード数、すなわち全文検索対象数が最大検索件数より大きい場合(S1650でYESの場合)には、検索要求プログラム31に、処理続行有無を確認するメッセージを送信し(S1651)、検索要求プログラム31から検索処理を続行するか否かの確認結果を受信するまで待つ(S1652)。
検索要求プログラム31は、検索プログラム13から検索処理を続行するか否かを確認するメッセージを受信すると、当該メッセージを表示装置33に表示し、クライアント3の操作者に検索処理を続行するか否かの応答を要求する(S1601)。具体的には、例えば、ポップアップ画面に、確認メッセージと、「検索続行」及び「中止」のボタンを表示し、いずれかのボタンがクリックされるまで待てばよい。
検索要求プログラム31は、クライアント3の操作者が「中止」のボタンをクリックする等により検索中止を指示した場合(S1602でNOの場合)、検索プログラム13に「検索中止」指示を送信して、処理を終了する(S1603)。従って、検索要求プログラム31は、検索結果を表示することなく、再び、検索要求画面で検索ボタン等が押下されるのを待つ(図10のS1003、S1004)。
検索要求プログラム31は、クライアント3の操作者が「検索続行」のボタンをクリックする等により検索続行を指示した場合(S1602でYESの場合)、検索プログラム13に「検索続行」指示を送信し、図には明示していないが、検索プログラム13から検索結果を受信するまで待つ。
検索プログラム13は、検索要求プログラム31から「検索中止」指示又は「検索続行」指示を受信すると、受信した指示によって処理を変える(S1652)。すなわち、「検索中止」指示を受信した場合は(S1652でNOの場合)処理を終了し、一方、「検索続行」指示を受信した場合は(S1652でYESの場合)、メタデータ合致レコードのうち最大検索件数分のレコードのファイルパス221c、全文検索の条件及び検索要求プログラム31から受信した利用者IDをインデックス1検索プログラム14に送信して、全文検索を実行させる(S1653)。
なお、全文検索対象数が最大検索件数以下の場合(S1650でNOの場合)には、検索要求プログラム31に、処理続行有無を確認するメッセージを送信することなく、メタデータ合致レコードのファイルパス221c、全文検索の条件及び検索要求プログラム31から受信した利用者IDをインデックス1検索プログラム14に送信して、全文検索を実行させる(S1653)。
全文検索が終了すると、検索プログラム13は、キーワード合致レコードの各データ項目を検索要求プログラム31に送信する(S1654)。このとき、全てのメタデータ合致レコードについて全文検索を実行したか、それとも全文検索未実行のメタデータ合致レコードが残っているかの識別も送信する。
検索プログラム13は、次に、検索結果部(D1405)に追加表示が可能かどうかを判定する(S1655)。具体的には、メタデータ合致レコードに全文検索未実行のレコードが残っており、かつ検索要求プログラム31に送信した検索結果の累計値が、検索要求画面(D1401)の検索結果部(D1405)に表示可能な件数として予め定めた件数(以下「最大表示件数」という。)より小さい場合(S1655でYESの場合)には、再び、検索要求プログラム31から検索処理を続行するか否かの確認結果を受信するまで待つ(S1652)。一方、検索結果部(D1405)に追加表示できない場合(S1655でNOの場合)には、検索プログラム13は処理を終了する。
検索要求プログラム31は、検索プログラム13から検索結果を受信すると、検索結果部(D1405)に検索結果を表示する。なお、前述したように、検索結果部(D1405)に追加表示が可能な限り、メタデータ合致レコードを対象とした全文検索が繰り返し実行される。従って、検索結果は検索結果部(D1405)に追加表示する。例えば、1回目の全文検索の結果が3件で、2回目の全文検索の結果が4件の場合、検索結果部(D1405)には7件の検索結果が表示される。
検索要求プログラム31は、次に、全文検索未実行のメタデータ合致レコードが残っており(前述したように、検索プログラム13から、全てのメタデータ合致レコードについて全文検索を実行したか、それとも全文検索未実行のメタデータ合致レコードが残っているかの識別が送信される)、かつ検索結果部(D1405)に追加表示が可能かどうか判定し(S1606)、全文検索未実行のメタデータ合致レコードが残っており、かつ検索結果部(D1405)に追加表示が可能な場合(S1606でYESの場合)には、処理続行有無を確認するメッセージを表示装置33に表示し(S1607)、再び、クライアント3の操作者に検索処理を続行するか否かの応答を要求する(S1602)。
一方、検索要求プログラム31は、全てのメタデータ合致レコードについて全文検索を実行したか、又は検索結果部(D1405)に追加表示ができない場合(S1606でNOの場合)には、処理を終了する(S1603)。従って、検索要求プログラム31は、検索結果部(D1405)にそれまでの検索結果を表示して、再び、検索ボタン等が押下されるのを待つ(図10のS1003、S1004)。
以上のように、全文検索対象数が最大検索件数より大きい場合に、クライアント3の操作者に検索処理を続行するか否かを問い合わせ、「検索続行」が指示された場合に全文検索を行う。従って、クライアント3の操作者は、検索時間が長くなりそうな場合には、いったん検索処理を中止し、例えば、メタデータの検索条件をさらに絞り込んで検索を行うことができる。
また、全文検索は最大検索件数単位で繰り返し行われ、全文検索を行うたびに、検索結果が追加表示されるので、クライアント3の操作者は、比較的短時間のうちに、検索結果を次々と確認することができる。
<関連検索についての補足説明>
図17は、実施例1における、検索結果部(D1405)の表示内容を例示した図である。図17においては、ファイル名とファイルパスが表示されているが、この他に、タイトル、文書記載日等、インデックス2レコード220等のデータ項目を表示してもよいし、例えば、インデックス2レコード220に検索対象ファイル43の内容の一部を設定しておき、これを表示してもよい。
また、図17において点線で囲った関連検索指示部(D1701)には、関連定義レコード240の表示名242に設定された名称が表示される。図17の例においては、表示名242にそれぞれ“タイトル”と“記載日付”が設定された関連定義レコード240が存在しており、この表示名242が表示されている。
この状態で、クライアント3の操作者が、例えば“タイトル”と表示された部分をクリックすると、検索要求プログラム31は、検索プログラム13に、“タイトル”に係わる関連検索を行うように要求する。具体的には、表示装置33には表示されていないが、検索結果とともに検索プログラム13から受信した、当該検索結果ファイルに係わるファイルID221a及び“タイトル”に係わる関連定義ID241を、関連検索要求とともに検索プログラム13に送信する。
検索プログラム13は関連検索要求を受信すると、受信した関連定義ID241が設定された関連定義レコード240の条件243を参照し、条件243に設定されている条件に従って、インデックス2レコード220を検索し、検索結果を検索要求プログラム31に送信する。
例えば、関連定義ID241、表示名242及び条件243に、それぞれ“1”、“タイトル”、“タイトル222aが当該検索結果と等しい”が設定された関連定義レコード240が存在し、タイトル222aに”作業報告書“が含まれているインデックス2レコード220が4レコード存在し、それぞれのファイル名221bが”作業報告1.doc“、”作業報告2.doc“、”作業報告3.doc“及び”報告書.doc“であり、表示装置33に検索結果として”作業報告1.doc“が表示されている場合、関連検索指示部(D1701)には、”タイトル“の文字が表示される。クライアント3の操作者が、”タイトル“の文字をクリックすると、検索要求プログラム31は、検索プログラム13に、”作業報告1.doc“のファイルID及び関連定義ID(“1”)を送信する。すると、検索プログラム13は、関連定義ID241が“1”である関連定義レコード240の条件243を参照し、“タイトル222aが当該検索結果と等しい”が設定されているので、受信したファイルIDによって、”作業報告1.doc“のタイトル222aを取得し、”作業報告1.doc“と同じく、タイトル222aに”作業報告書“が含まれている”作業報告2.doc“、”作業報告3.doc“及び”報告書.doc“の3つのファイルを検索し、検索結果を検索要求プログラム31に送信する。そして、検索要求プログラム31は、図18に示すように、検索結果部(D1405)に関連検索結果を表示する。
なお、関連検索結果の表示件数には特に制限を設けないようにしてもよいし、例えば、最大5件だけ表示し、5件を超える場合は、別画面に表示するようにしてもよい。
本発明に係わるファイル検索システムは、前記実施例1に限られず、さまざまな実施形態とすることができる。その1例を以下に説明する。
<ファイル検索システムのその他の実施形態>
図19は、本発明に係る実施例2のファイル検索システムのシステム構成図である。
実施例2においては、実施例1と異なり、ファイル検索サーバ1は、インデックス1作成プログラム11及びインデックス1検索プログラム14を備えていない。
そのかわり、PC等の装置であるファイル検索サーバ5(上記第2ファイル検索サーバに相当)が、通信回線9によって、クライアント3、ファイルサーバ4、WEBサーバ7及びファイル検索サーバ1と通信可能に接続されており、ファイル検索サーバ5はインデックス1作成プログラム11及びインデックス1検索プログラム14を備えている。また、インデックス1ファイル21はファイル検索サーバ1の記憶装置2には記憶されず、ファイル検索サーバ5の記憶装置6に記憶される。
実施例2と実施例1の構成上の大きな相違点は以上のとおりである。
実施例2のファイル検索システムにおいては、通信回線9によって、クライアント3、ファイルサーバ4、WEBサーバ7、ファイル検索サーバ1及びファイル検索サーバ5がインターネットによって相互に通信可能に接続されており、このような構成により、例えば、ある組織がデータセンタに設置されたファイルサーバ4にファイルを記憶させているとき、ファイルサーバ4に記憶された検索対象ファイル43について、インデックス2ファイル22、仮想分類定義ファイル23、及び関連定義ファイル24を作成することで、メタデータ検索、仮想分類表示、物理フォルダ表示及び関連検索を可能にしつつ、当該組織が管理していないWEBサーバ7の記憶装置72に記憶された検索対象ファイル73については、ファイル検索サーバ5のインデックス1作成プログラム11が、いわゆるWEBクローリングにより、例えばApache(Apacheは登録商標)等のWEBサーバプログラム71を介して、インデックス1ファイル21を作成して、全文検索を可能にすることができる。
また、実施例2においては、ファイル検索サーバ5は、ファイル検索を行おうとする組織を設置する必要はなく、世の中に存在しているファイル検索サーバの機能を使用して全文検索等を行うことができるので、柔軟性・拡張性の高い検索システムを構築することができる。
1,5 ファイル検索サーバ
3 クライアント
4 ファイルサーバ
7 WEBサーバ
9 通信回線
21 インデックス1ファイル
22 インデックス2ファイル
42,72 記憶装置
43,73 検索対象ファイル
210 インデックス1レコード
211,221b ファイル名
212,221c ファイルパス
213 アクセス権限
214 キーワード
220 インデックス2レコード
221 システムメタデータ
222 標準メタデータ
223 ユーザ定義メタデータ

Claims (8)

  1. ファイル検索サーバ、ファイルサーバ及びクライアントが、有線又は無線の通信回線を介して通信自在に接続されたファイル検索システムであって、
    前記ファイル検索サーバは、
    前記ファイルサーバに接続された記憶装置の検索対象ファイルから、少なくともファイル名、ファイルパス、アクセス権限及びキーワードを含むインデックス1レコードを作成し、インデックス1ファイルに保存するインデックス1作成手段と、
    検索対象ファイルから、少なくともファイル名及びファイルパスを含むシステムメタデータと、標準メタデータと、ユーザ定義メタデータとから成るインデックス2レコードを作成し、インデックス2ファイルに保存するインデックス2作成手段と、
    前記クライアントからの検索要求を受信すると、検索要求に含まれる検索条件式を解析し、メタデータ検索を行うか判定する手段と、
    メタデータ検索を行うと判定した場合、インデックス2ファイルのインデックス2レコードから前記検索条件式に基づき条件に合致するメタデータ合致レコードを選択するメタデータ検索手段と、
    メタデータ検索を行った後、又はメタデータ検索を行わないと判定した場合、前記検索条件式から、全文検索を行うか判定する手段と
    全文検索を行うと判定した場合、前記検索条件式及び前記メタデータ合致レコードに基づき前記インデックス1ファイルに対して前記キーワードを参照して検索する全文検索手段と、
    全文検索を実行した場合は、検索されたキーワード合致レコードであるインデックス1レコードの各データ項目を前記クライアントへ送信し、全文検索を行わないと判定した場合は、前記メタデータ合致レコードを前記クライアントへ送信する手段とを備えることを特徴とするファイル検索システム。
  2. 前記ファイル検索サーバは、前記インデックス1ファイルを検索するインデックス1検索手段と、
    その他の検索を行うその他検索手段とを備え、
    前記その他検索手段は、
    全文検索を行うと判定された場合、前記検索条件式から、全文検索の条件を抽出する手段と、
    抽出した全文検索の条件を、前記メタデータ合致レコードのファイルパス、及び前記クライアントから受信した利用者IDとともに、前記インデックス1検索手段に送信する手段とを備え、
    前記インデックス1検索手段は、
    前記その他検索手段から、前記全文検索の条件を、前記メタデータ合致レコードのファイルパス及び利用者IDとともに受信すると、受信したメタデータ合致レコードのファイルパス全てにつき、ファイルパスに同一値が設定されているインデックス1レコードを参照し、当該レコードのアクセス権限により、受信した利用者IDがアクセス権限を有するか判定する手段と、
    アクセス権限を有すると判定した場合、当該レコードのキーワードが前記全文検索の条件を満足するか判定する手段とを備えることを特徴とする請求項1記載のファイル検索システム。
  3. 前記ファイル検索サーバが、前記インデックス1作成手段と、前記インデックス1検索手段とを備える構成に代えて、
    前記通信回線に更に通信自在に接続されて設けられる第2ファイル検索サーバが、前記インデックス1作成手段と、前記インデックス1検索手段とを備えることを特徴とする請求項2記載のファイル検索システム。
  4. 前記通信回線に更にWEBサーバがインターネットを介して通信自在に接続されたファイル検索システムであって、
    前記インデックス1作成手段は、前記WEBサーバの記憶装置に記憶された検索対象ファイルについて、WEBクローリングによりインデックス1ファイルを作成する手段を含み、
    前記インデックス1検索手段は、前記インデックス1作成手段により作成された前記インデックス1ファイルを検索する手段を含むことを特徴とする請求項3記載のファイル検索システム。
  5. ファイル検索サーバ、ファイルサーバ及びクライアントが、有線又は無線の通信回線を介して通信自在に接続されたファイル検索システムのファイル検索システム用プログラムであって、
    前記ファイル検索サーバに、
    前記ファイルサーバに接続された記憶装置の検索対象ファイルから、少なくともファイル名、ファイルパス、アクセス権限及びキーワードを含むインデックス1レコードを作成し、インデックス1ファイルに保存するインデックス1作成機能と、
    検索対象ファイルから、少なくともファイル名及びファイルパスを含むシステムメタデータと、標準メタデータと、ユーザ定義メタデータとから成るインデックス2レコードを作成し、インデックス2ファイルに保存するインデックス2作成機能と、
    前記クライアントからの検索要求を受信すると、検索要求に含まれる検索条件式を解析し、メタデータ検索を行うか判定する機能と、
    メタデータ検索を行うと判定した場合、インデックス2ファイルのインデックス2レコードから前記検索条件式に基づき条件に合致するメタデータ合致レコードを選択するメタデータ検索機能と、
    メタデータ検索を行った後、又はメタデータ検索を行わないと判定した場合、前記検索条件式から、全文検索を行うか判定する機能と
    全文検索を行うと判定した場合、前記検索条件式及び前記メタデータ合致レコードに基づき前記インデックス1ファイルに対して前記キーワードを参照して検索する全文検索機能と、
    全文検索を実行した場合は、検索されたキーワード合致レコードであるインデックス1レコードの各データ項目を前記クライアントへ送信し、全文検索を行わないと判定した場合は、前記メタデータ合致レコードを前記クライアントへ送信する機能とを実行させることを特徴とするファイル検索システム用プログラム。
  6. 前記ファイル検索サーバに、前記インデックス1ファイルを検索するインデックス1検索機能と、
    その他の検索を行うその他検索機能とを実行させ、
    前記その他検索機能は、前記ファイル検索サーバに、
    全文検索を行うと判定された場合、前記検索条件式から、全文検索の条件を抽出する機能と、
    抽出した全文検索の条件を、前記メタデータ合致レコードのファイルパス、及び前記クライアントから受信した利用者IDとともに、前記インデックス1検索機能に送信する機能とを実行させ、
    前記インデックス1検索機能は、前記ファイル検索サーバに、
    前記その他検索機能から、前記全文検索の条件を、前記メタデータ合致レコードのファイルパス及び利用者IDとともに受信すると、受信したメタデータ合致レコードのファイルパス全てにつき、ファイルパスに同一値が設定されているインデックス1レコードを参照し、当該レコードのアクセス権限により、受信した利用者IDがアクセス権限を有するか判定する機能と、
    アクセス権限を有すると判定した場合、当該レコードのキーワードが、前記全文検索の条件を満足するか判定する機能とを実行させることを特徴とする請求項5記載のファイル検索システム用プログラム。
  7. 前記ファイル検索サーバに、前記インデックス1作成機能と、前記インデックス1検索機能とを実行させることに代えて、
    前記通信回線に更に通信自在に接続されて設けられる第2ファイル検索サーバに、前記インデックス1作成機能と、前記インデックス1検索機能とを実行させることを特徴とする請求項6記載のファイル検索システム用プログラム。
  8. 前記通信回線に更にWEBサーバがインターネットを介して通信自在に接続されたファイル検索システムのファイル検索システム用プログラムであって、
    前記インデックス1作成機能は、前記第2ファイル検索サーバに、前記WEBサーバの記憶装置に記憶された検索対象ファイルについて、WEBクローリングによりインデックス1ファイルを作成する機能を実行させ、
    前記インデックス1検索機能は、前記第2ファイル検索サーバに、前記インデックス1作成機能により作成された前記インデックス1ファイルを検索する機能を実行させることを特徴とする請求項7記載のファイル検索システム用プログラム。
JP2009217344A 2009-09-18 2009-09-18 ファイル検索システム及びプログラム Pending JP2011065546A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2009217344A JP2011065546A (ja) 2009-09-18 2009-09-18 ファイル検索システム及びプログラム
CN2010800406725A CN102483765B (zh) 2009-09-18 2010-09-03 文件搜索系统和程序
PCT/JP2010/005435 WO2011033734A1 (en) 2009-09-18 2010-09-03 File search system and program
US13/496,505 US20120173511A1 (en) 2009-09-18 2010-09-03 File search system and program
EP10816849.3A EP2478452B1 (en) 2009-09-18 2010-09-03 File search system and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009217344A JP2011065546A (ja) 2009-09-18 2009-09-18 ファイル検索システム及びプログラム

Publications (1)

Publication Number Publication Date
JP2011065546A true JP2011065546A (ja) 2011-03-31

Family

ID=43758349

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009217344A Pending JP2011065546A (ja) 2009-09-18 2009-09-18 ファイル検索システム及びプログラム

Country Status (5)

Country Link
US (1) US20120173511A1 (ja)
EP (1) EP2478452B1 (ja)
JP (1) JP2011065546A (ja)
CN (1) CN102483765B (ja)
WO (1) WO2011033734A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013025519A (ja) * 2011-07-20 2013-02-04 Nec Biglobe Ltd 記憶装置共用システム、管理装置、アクセス制御装置、その方法およびプログラム
WO2013084793A1 (ja) * 2011-12-08 2013-06-13 シャープ株式会社 関連コンテンツ検索システムおよび関連コンテンツ検索方法
KR20130075546A (ko) * 2011-12-27 2013-07-05 한국전자통신연구원 파일 클라우드 서비스 장치 및 방법
WO2013145129A1 (ja) * 2012-03-27 2013-10-03 富士通株式会社 データベース管理方法、プログラム、および情報処理装置
JP7251876B1 (ja) 2022-03-14 2023-04-04 Necプラットフォームズ株式会社 サーバ装置、サーバ装置の制御方法、及びプログラム

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120215819A1 (en) * 2011-02-23 2012-08-23 International Business Machines Corporation Tool for removing inactive objects
JP5953851B2 (ja) * 2012-03-19 2016-07-20 富士ゼロックス株式会社 文書管理装置及びプログラム
US11487707B2 (en) * 2012-04-30 2022-11-01 International Business Machines Corporation Efficient file path indexing for a content repository
GB2507037A (en) * 2012-10-16 2014-04-23 Ibm Software application discovery using variable frequency file system scanning
US8914356B2 (en) 2012-11-01 2014-12-16 International Business Machines Corporation Optimized queries for file path indexing in a content repository
US9323761B2 (en) 2012-12-07 2016-04-26 International Business Machines Corporation Optimized query ordering for file path indexing in a content repository
WO2014124053A1 (en) * 2013-02-06 2014-08-14 Lu Elaine Systems and methods for parents' connection and communication platform
US10104019B2 (en) * 2014-05-27 2018-10-16 Magnet Forensics Inc. Systems and methods for locating application-specific data on a remote endpoint computer
US9785712B1 (en) * 2014-06-20 2017-10-10 Amazon Technologies, Inc. Multi-index search engines
US10965748B2 (en) * 2015-06-19 2021-03-30 Lenovo (Singapore) Pte. Ltd. Creating and using document pedigree data
CN105022819A (zh) * 2015-07-15 2015-11-04 魅族科技(中国)有限公司 一种文件保存的方法及装置
CN105354318A (zh) * 2015-11-13 2016-02-24 北京金山安全软件有限公司 一种文件查找方法及装置
CN105468785A (zh) * 2015-12-24 2016-04-06 张梅云 一种计算机文件管理方法
JP6700927B2 (ja) * 2016-04-15 2020-05-27 キヤノン株式会社 画像処理システム、画像処理装置、画像処理方法、及び、プログラム
JP2018005509A (ja) * 2016-06-30 2018-01-11 キヤノン株式会社 情報処理装置、制御方法、及びプログラム
CN107145530A (zh) * 2017-04-18 2017-09-08 北京明朝万达科技股份有限公司 一种基于附加数据的文档检索方法及系统
US11023419B2 (en) * 2018-08-13 2021-06-01 Sap Se Folder key management
CN111026710A (zh) * 2019-12-11 2020-04-17 华南师范大学 一种数据集的检索方法及系统
CN114090515B (zh) * 2022-01-21 2022-07-05 亿次网联(杭州)科技有限公司 文件搜索方法、终端设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08272806A (ja) * 1995-04-03 1996-10-18 Nippon Steel Corp データベース検索システム
JP2000315209A (ja) * 1999-04-30 2000-11-14 Ricoh Co Ltd 画像ファイリング装置、画像ファイリング方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2001344245A (ja) * 2000-03-29 2001-12-14 Fujitsu Ltd 情報処理装置
JP2008217600A (ja) * 2007-03-06 2008-09-18 Fujitsu Ltd 情報検索装置、情報検索方法、情報検索プログラム、及び記録媒体

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2929963B2 (ja) * 1995-03-15 1999-08-03 松下電器産業株式会社 文書検索装置および単語索引作成方法および文書検索方法
US6304872B1 (en) * 1998-08-13 2001-10-16 Tornado Technology Co. Ltd. Search system for providing fulltext search over web pages of world wide web servers
US7181438B1 (en) * 1999-07-21 2007-02-20 Alberti Anemometer, Llc Database access system
US6516337B1 (en) * 1999-10-14 2003-02-04 Arcessa, Inc. Sending to a central indexing site meta data or signatures from objects on a computer network
US6985948B2 (en) * 2000-03-29 2006-01-10 Fujitsu Limited User's right information and keywords input based search query generating means method and apparatus for searching a file
US6751624B2 (en) * 2000-04-04 2004-06-15 Globalscape, Inc. Method and system for conducting a full text search on a client system by a server system
US6782380B1 (en) * 2000-04-14 2004-08-24 David Victor Thede Method and system for indexing and searching contents of extensible mark-up language (XML) documents
US6782383B2 (en) * 2001-06-18 2004-08-24 Siebel Systems, Inc. System and method to implement a persistent and dismissible search center frame
NO316480B1 (no) * 2001-11-15 2004-01-26 Forinnova As Fremgangsmåte og system for tekstuell granskning og oppdagelse
JP4490012B2 (ja) 2001-11-26 2010-06-23 富士通株式会社 ファイル検索装置、ファイル検索プログラム
JP2003323427A (ja) * 2002-05-02 2003-11-14 Nippon Telegr & Teleph Corp <Ntt> Xml情報検索装置と方法、該方法の実行プログラム、および該方法の実行プログラムを記録した記録媒体
US7702666B2 (en) * 2002-06-06 2010-04-20 Ricoh Company, Ltd. Full-text search device performing merge processing by using full-text index-for-registration/deletion storage part with performing registration/deletion processing by using other full-text index-for-registration/deletion storage part
JP2005534102A (ja) * 2002-07-23 2005-11-10 サムスン エレクトロニクス カンパニー リミテッド メタデータのインデックス構造と記録媒体
EP1411448A3 (en) * 2002-10-17 2007-12-05 Matsushita Electric Industrial Co., Ltd. Data searching apparatus
CA2539431C (en) * 2003-09-23 2017-07-11 Amazon.Com, Inc. Personalized searchable library with highlighting capabilities
FR2860886B1 (fr) * 2003-10-14 2005-12-23 Commissariat Energie Atomique Dispositif de deplacement de particules
US7376642B2 (en) * 2004-03-30 2008-05-20 Microsoft Corporation Integrated full text search system and method
US7730012B2 (en) * 2004-06-25 2010-06-01 Apple Inc. Methods and systems for managing data
US7461064B2 (en) * 2004-09-24 2008-12-02 International Buiness Machines Corporation Method for searching documents for ranges of numeric values
US20060074980A1 (en) * 2004-09-29 2006-04-06 Sarkar Pte. Ltd. System for semantically disambiguating text information
JP2006178599A (ja) * 2004-12-21 2006-07-06 Fuji Xerox Co Ltd 文書検索装置および方法
US7392253B2 (en) * 2005-03-03 2008-06-24 Microsoft Corporation System and method for secure full-text indexing
US8417693B2 (en) * 2005-07-14 2013-04-09 International Business Machines Corporation Enforcing native access control to indexed documents
US7668825B2 (en) * 2005-08-26 2010-02-23 Convera Corporation Search system and method
US8600997B2 (en) * 2005-09-30 2013-12-03 International Business Machines Corporation Method and framework to support indexing and searching taxonomies in large scale full text indexes
US20070162481A1 (en) * 2006-01-10 2007-07-12 Millett Ronald P Pattern index
SG140510A1 (en) * 2006-09-01 2008-03-28 Yokogawa Electric Corp System and method for database indexing, searching and data retrieval
US20080086453A1 (en) * 2006-10-05 2008-04-10 Fabian-Baber, Inc. Method and apparatus for correlating the results of a computer network text search with relevant multimedia files
US8250075B2 (en) * 2006-12-22 2012-08-21 Palo Alto Research Center Incorporated System and method for generation of computer index files
US7849065B2 (en) * 2007-07-20 2010-12-07 Microsoft Corporation Heterogeneous content indexing and searching
US8442994B1 (en) * 2007-09-14 2013-05-14 Google Inc. Custom search index data security
US8965881B2 (en) * 2008-08-15 2015-02-24 Athena A. Smyros Systems and methods for searching an index
US8364714B2 (en) * 2009-06-08 2013-01-29 International Business Machines Corporation Servicing query with access path security in relational database management system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08272806A (ja) * 1995-04-03 1996-10-18 Nippon Steel Corp データベース検索システム
JP2000315209A (ja) * 1999-04-30 2000-11-14 Ricoh Co Ltd 画像ファイリング装置、画像ファイリング方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2001344245A (ja) * 2000-03-29 2001-12-14 Fujitsu Ltd 情報処理装置
JP2008217600A (ja) * 2007-03-06 2008-09-18 Fujitsu Ltd 情報検索装置、情報検索方法、情報検索プログラム、及び記録媒体

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013025519A (ja) * 2011-07-20 2013-02-04 Nec Biglobe Ltd 記憶装置共用システム、管理装置、アクセス制御装置、その方法およびプログラム
WO2013084793A1 (ja) * 2011-12-08 2013-06-13 シャープ株式会社 関連コンテンツ検索システムおよび関連コンテンツ検索方法
JP2013120568A (ja) * 2011-12-08 2013-06-17 Sharp Corp 関連コンテンツ検索システムおよび関連コンテンツ検索方法
KR20130075546A (ko) * 2011-12-27 2013-07-05 한국전자통신연구원 파일 클라우드 서비스 장치 및 방법
KR101672349B1 (ko) 2011-12-27 2016-11-07 한국전자통신연구원 파일 클라우드 서비스 장치 및 방법
WO2013145129A1 (ja) * 2012-03-27 2013-10-03 富士通株式会社 データベース管理方法、プログラム、および情報処理装置
JPWO2013145129A1 (ja) * 2012-03-27 2015-08-03 富士通株式会社 データベース管理方法、プログラム、および情報処理装置
US10437806B2 (en) 2012-03-27 2019-10-08 Fujitsu Limited Database management method and information processing apparatus
JP7251876B1 (ja) 2022-03-14 2023-04-04 Necプラットフォームズ株式会社 サーバ装置、サーバ装置の制御方法、及びプログラム
WO2023176011A1 (ja) * 2022-03-14 2023-09-21 Necプラットフォームズ株式会社 サーバ装置、サーバ装置の制御方法、及びプログラム

Also Published As

Publication number Publication date
CN102483765B (zh) 2013-12-11
EP2478452B1 (en) 2018-12-19
CN102483765A (zh) 2012-05-30
US20120173511A1 (en) 2012-07-05
EP2478452A4 (en) 2015-09-02
WO2011033734A1 (en) 2011-03-24
EP2478452A1 (en) 2012-07-25

Similar Documents

Publication Publication Date Title
JP2011065546A (ja) ファイル検索システム及びプログラム
US11423359B2 (en) Managing tasks in a content management system
US11900324B2 (en) Managing projects in a content management system
JP4739455B2 (ja) 文書管理方法
US7865873B1 (en) Browser-based system and method for defining and manipulating expressions
JP5023715B2 (ja) 情報処理システム、情報処理装置及びプログラム
JP2005018754A (ja) 関連付けを有するコンピュータオブジェクトの共有
US20220286509A1 (en) Dynamic routing of file system objects
US20230281377A1 (en) Systems and methods for displaying digital forensic evidence
JP2011191862A (ja) ファイル管理装置、ファイル管理システム、およびファイル管理プログラム
JP5592747B2 (ja) ファイル検索装置およびファイル検索プログラム
WO2020111197A1 (ja) 文書整理支援システム
KR101272656B1 (ko) 태그 기반 파일 관리 방법 및 그 시스템
JP2010079444A (ja) メタデータによるファイル管理方法及びシステム
JP2007148739A (ja) ファイル管理システム及びそのプログラム
JP7294055B2 (ja) ファイルレコメンドシステム、ファイルレコメンドプログラム、ファイルレコメンド方法、及び、ファイルレコメンド装置
KR102113680B1 (ko) 빅 데이터 비식별화 처리 시스템 및 방법
JP2013114331A (ja) インデックス管理プログラム、インデックス管理装置及び検索システム
Manolache et al. Enterprise Data Collection and Cross-Referencing System
JP2023059360A (ja) ファイル管理システム、ファイル管理方法、及びファイル管理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130730

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130902

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131022