JP5592747B2 - File search device and file search program - Google Patents
File search device and file search program Download PDFInfo
- Publication number
- JP5592747B2 JP5592747B2 JP2010229198A JP2010229198A JP5592747B2 JP 5592747 B2 JP5592747 B2 JP 5592747B2 JP 2010229198 A JP2010229198 A JP 2010229198A JP 2010229198 A JP2010229198 A JP 2010229198A JP 5592747 B2 JP5592747 B2 JP 5592747B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- search
- index
- record
- condition
- 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.)
- Active
Links
- 238000012545 processing Methods 0.000 description 35
- 230000006870 function Effects 0.000 description 34
- 238000000034 method Methods 0.000 description 32
- 230000008569 process Effects 0.000 description 24
- 230000008520 organization Effects 0.000 description 16
- 230000008859 change Effects 0.000 description 15
- 230000014509 gene expression Effects 0.000 description 11
- 238000013461 design Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 3
- 230000003203 everyday effect Effects 0.000 description 3
- 238000004904 shortening Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000002354 daily effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、検索対象のファイルについて予めインデックスファイルを作成し、インデックスファイルを参照してファイルを検索するファイル検索装置およびファイル検索プログラムに関する。 The present invention relates to a file search apparatus and a file search program for creating an index file in advance for a search target file and searching for the file by referring to the index file.
近年、情報のデジタル化が急速に進展している。かつては、銀行の口座や市町村の住民票等、企業・官公庁等のコンピュータシステムが基幹業務を実行するときに参照するファイルを、データベース(Data Base)等に記憶することがデジタル化の中心であった。 In recent years, digitization of information has been progressing rapidly. In the past, the main point of digitization was to store in the database (Data Base) files that are referred to when a computer system such as a bank account or municipal resident's card executes a core business. It was.
一方、現在では、企業等の組織において日常業務で作成される各種の書類が、各従業員のクライアントPC(Personal Computer)に文書ファイルとして記憶され、電子メールの添付文書として他のクライアントPCに送信され、あるいは、組織全体の共有情報としてファイルサーバに記憶される。そして、ファイルサーバに記憶された文書ファイルは、さまざまな従業員により参照され、時にはクライアントPCに複製され、更新される。
このようにして、多量の文書ファイルがさまざまなコンピュータに分散記憶されることにより、組織内に、重複あるいは類似した多数の文書ファイルが存在することになる。また、各コンピュータの記憶容量も増大し続けている。
On the other hand, various documents created in daily work in organizations such as companies are now stored as document files on each employee's client PC (Personal Computer) and sent to other client PCs as e-mail attachments. Alternatively, it is stored in the file server as shared information for the entire organization. The document file stored in the file server is referred to by various employees, and is sometimes copied and updated on the client PC.
In this way, a large number of document files are distributed and stored in various computers, so that a large number of duplicate or similar document files exist in the organization. In addition, the storage capacity of each computer continues to increase.
一方、組織内において、例えば、既に退職した従業員がかつて作成した文書ファイルが必要になる等、記憶場所が不明な文書ファイルを参照したい場合が多々生ずる。このような場合、文書ファイル内に含まれているはずのキーワードによる全文検索等によって文書ファイルを検索するという方法が広く行われている。
ただし、組織内の全てのコンピュータから文書ファイルを検索しようとすると、各従業員のクライアントPCにも全ての従業員からのアクセスを許可する必要があり、セキュリティ上好ましくない。このため、組織全体で共有すべき文書ファイルについては所定のファイルサーバに記憶しておくということが一般に行われている。
On the other hand, there are many cases in the organization where it is desired to refer to a document file whose storage location is unknown, for example, a document file created once by an already retired employee is required. In such a case, a method of searching a document file by a full-text search using a keyword that should be included in the document file is widely used.
However, if a document file is to be searched from all computers in the organization, it is necessary to permit access from all employees to the client PC of each employee, which is not preferable in terms of security. For this reason, a document file to be shared by the entire organization is generally stored in a predetermined file server.
しかし、文書ファイルを所定のいくつかのファイルサーバに記憶させたとしても、文書ファイルが必要になるたびにファイルサーバに記憶されている全ての文書ファイルを検索しようとすると、ファイルIO(Input Output)等を行うために膨大な時間を必要とする。
そこで、特許文献1に開示されているファイル検索装置は、ファイルサーバに記憶されているファイルについて、記憶場所やキーワード等、検索に使用するための比較的小容量の情報(インデックス情報)をインデックスファイルとして記憶する。すなわち、このファイル検索装置では、インデックスファイルを作成することで、検索時に、複数ファイルについてのインデックス情報を1回のファイルIOで取得することが可能となり、各ファイルへのファイルIOを不要とすることができる。この結果、ファイル検索時のレスポンスタイムを短くすることができるとともに、ファイルサーバの負荷を軽減することができる。
However, even if document files are stored in some predetermined file servers, every time a document file is needed, if all document files stored in the file server are searched, a file IO (Input Output) It takes a huge amount of time to do so.
Therefore, the file search device disclosed in
しかしながら、特許文献1に開示されているファイル検索装置によってファイル検索を行うためには、検索対象としたい全てのファイルについて、インデックスファイルを作成する必要がある。
インデックス情報の記憶容量は、ファイル自体と比べれば比較的小さい。しかし、キーワードによる全文検索を行うことができるようにするためには、ファイルに含まれるキーワードを解析してインデックス情報に記憶しておく必要がある。このため、ファイルに含まれるキーワードの数が多くなれば、それだけ大きな容量を必要とする。従って、検索対象としたいファイルの数が増えるほど、インデックスファイルの記憶容量は大きくなっていく。
However, in order to perform a file search by the file search apparatus disclosed in
The storage capacity of the index information is relatively small compared to the file itself. However, in order to be able to perform a full text search using keywords, it is necessary to analyze the keywords contained in the file and store them in the index information. For this reason, as the number of keywords included in the file increases, a larger capacity is required. Accordingly, as the number of files to be searched increases, the storage capacity of the index file increases.
ここで、例えば組織内におけるファイル検索を検討すると、ファイルを共有のファイルサーバに記憶する場合であっても、部署ごとにアクセス可能なフォルダ等が限定されており、当該限定されたフォルダ等の配下にファイルを記憶し、検索する場合が多い。このような場合、フォルダに、例えば“作業報告書用フォルダ”といったような名称を付けておき、当該フォルダ内には当該名称に合致したファイルを記憶しておくという方法、すなわちフォルダによってファイルを分類するという方法をとる場合が多い。そして、このようにした場合、フォルダのツリー構造を手繰っていくことで必要なファイルが検索できるので、キーワードによる全文検索を必要とすることはまれである。 Here, for example, when considering a file search in an organization, even if the file is stored in a shared file server, the accessible folder for each department is limited, and the subordinate folder such as the limited folder is under control. In many cases, files are stored and searched. In such a case, a name such as “work report folder” is given to the folder, and a file matching the name is stored in the folder, that is, the file is classified by the folder. In many cases, the method of doing is taken. In such a case, since a necessary file can be searched by manipulating the tree structure of the folder, it is rare that a full-text search using a keyword is required.
一方、例えば、特許文献、技術論文等、組織外部から入手したファイルや、WEBサーバなど、組織外部のサーバに存在しているファイルについては、入手した時点では意図しなかった用途で参照することも多く、キーワードによる全文検索が必要な場合も多い。
このように組織におけるファイル検索を検討すると、全文検索を可能にすべきファイルと、全文検索が不要なファイルが存在している。これは組織に限ったことではなく、例えば個人的に行うファイル検索についても同じである。
On the other hand, files obtained from outside the organization, such as patent documents and technical papers, and files existing on a server outside the organization, such as a WEB server, may be referred to for purposes that were not intended at the time of acquisition. In many cases, full text search using keywords is required.
Considering file search in an organization in this way, there are files that should be capable of full text search and files that do not require full text search. This is not limited to an organization, and the same applies to, for example, a personal file search.
本発明の目的は、全文検索を可能にすべきファイルと全文検索が不要なファイルとが存在しているファイル検索環境において、効率的にファイルを検索することができるファイル検索装置およびファイル検索プログラムを提供することである。 An object of the present invention is to provide a file search apparatus and a file search program capable of efficiently searching for a file in a file search environment in which there are files that should be capable of full-text search and files that do not require full-text search. Is to provide.
上記目的を達成するために、本発明のファイル検索装置は、
記憶装置から、複数の検索対象ファイルからなる第1の検索対象ファイル群と、複数の検索対象ファイルからなる第2の検索対象ファイル群を取得するファイル取得手段と、
前記ファイル取得手段によって取得された第1の検索対象ファイル群に含まれる各検索対象ファイルについて、当該各検索対象ファイルの名前であるファイル名と、当該各検索対象ファイルの記憶されている記憶位置を示すファイルパスと、当該各検索対象ファイルの内容から抽出された複数のキーワードとを有するインデックス1レコードを所定のタイミングで作成し、当該各インデックス1レコードを含むインデックス1ファイルを記憶するインデックス1ファイル記憶手段と、
前記ファイル取得手段によって取得された第2の検索対象ファイル群に含まれる各検索対象ファイルについて、当該各検索対象ファイルの名前であるファイル名と当該各検索対象ファイルの記憶されている記憶位置を示すファイルパスと、当該各検索対象ファイルの内容を代表する1以上のメタデータとを有するインデックス2レコードを所定のタイミングで作成し、当該各インデックス2レコードを含むインデックス2ファイルを記憶するインデックス2ファイル記憶手段と、
メタデータに関する条件と全文検索の条件のいずれか一方または両方を含む検索条件を受け付ける検索条件受付手段と、
前記検索条件受付手段によって受け付けられた検索条件がメタデータに関する条件を含む場合に、前記インデックス2ファイルに含まれる各インデックス2レコードを当該メタデータに関する条件に基づいて検索し、当該メタデータに関する条件を満たすインデックス2レコードを取得するメタデータ検索手段と、
前記検索条件受付手段によって受け付けられた検索条件がメタデータに関する条件および全文検索の条件を含む場合には、前記インデックス1ファイルに含まれる各インデックス1レコードのうち、前記メタデータ検索手段によって取得されたインデックス2レコードに含まれるファイルパスと同一のファイルパスを含む各インデックス1レコードを前記全文検索の条件に基づいて検索し、前記検索条件受付手段によって受け付けられた検索条件がメタデータに関する条件を含まず、全文検索の条件を含む場合には、前記インデックス1ファイルに含まれる全てのインデックス1レコードを前記全文検索の条件に基づいて検索し、前記全文検索の条件を満たすインデックス1レコードを取得するキーワード検索手段と、
を備える。
In order to achieve the above object, the file search apparatus of the present invention provides:
A file acquisition means for acquiring a first search target file group consisting of a plurality of search target files and a second search target file group consisting of a plurality of search target files from the storage device;
For each search target file included in the first search target file group acquired by the file acquisition means, the file name that is the name of each search target file and the storage location in which each search target file is stored
For each search target file included in the second search target file group acquired by the file acquisition means, the file name that is the name of each search target file and the storage location in which each search target file is stored are shown.
Search condition receiving means for receiving a search condition including one or both of a condition relating to metadata and a condition of full-text search;
When the search condition received by the search condition receiving means includes a condition related to metadata, each
When the search condition received by the search condition receiving means includes a metadata-related condition and a full-text search condition, it is acquired by the metadata search means out of each
Is provided.
好ましくは、本発明のファイル検索装置は、
仮想分類の名称を示す仮想分類表示名と、前記インデックス2ファイルに含まれるいずれかのインデックス2レコードが当該仮想分類に分類される可能性の有無を示すインデックス2レコード有無情報と、前記インデックス2ファイルに含まれる各インデックス2レコードに対応する検索対象ファイルを当該仮想分類に分類するための分類条件と、上位階層の仮想分類の有無を示す上位階層有無情報と、上位階層の仮想分類を識別するための上位階層識別情報とを有する複数の仮想分類定義レコードを含む仮想分類定義ファイルを記憶する仮想分類定義ファイル記憶手段と、
前記仮想分類定義ファイル記憶手段によって記憶された前記仮想分類定義ファイルに含まれる各仮想分類定義レコードのインデックス2レコード有無情報と分類条件と上位階層有無情報と上位階層識別情報とに基づいて、各仮想分類と各インデックス2レコードに対応する検索対象ファイルとによって構成されるツリー状の階層構造を示す仮想分類定義情報を作成する仮想分類定義手段と、
前記仮想分類定義手段によって作成された仮想分類定義情報と、当該仮想分類定義情報によって示されるツリー状の階層構造を構成する各仮想分類の仮想分類表示名および各検索対象ファイルのファイル名とを出力する仮想分類出力手段と、
を備える。
Preferably, the file search device of the present invention is
A virtual classification display name indicating the name of the virtual classification, an
Based on the
Outputs the virtual classification definition information created by the virtual classification definition means, the virtual classification display name of each virtual classification constituting the tree-like hierarchical structure indicated by the virtual classification definition information, and the file name of each search target file Virtual classification output means,
Is provided.
好ましくは、本発明のファイル検索装置は、
キーワードと、当該キーワードを識別するためのキーワード識別情報とを有する複数のキーワード辞書レコードを含むキーワード辞書ファイルを記憶するキーワード辞書ファイル記憶手段と、
前記キーワード辞書ファイルに含まれるキーワード辞書レコードのキーワード識別情報と、当該キーワード識別情報に関連する1以上の前記キーワード辞書ファイルに含まれるキーワード辞書レコードのキーワード識別情報とを有する複数のキーワード関連定義レコードを含むキーワード関連定義ファイルを記憶するキーワード関連定義ファイル記憶手段と、
前記メタデータ検索手段によって検索を行う際に、当該検索のメタデータに関する条件に含まれるキーワードと、前記キーワード辞書ファイルに含まれる各キーワード辞書レコードのキーワードおよびキーワード識別情報と、前記キーワード関連定義ファイルに含まれる各キーワード関連定義レコードのキーワード識別情報および当該キーワード識別情報に関連する1以上のキーワード識別情報とに基づいて、前記仮想分類定義レコードを生成する仮想分類動的生成手段と、
を備える。
Preferably, the file search device of the present invention is
Keyword dictionary file storage means for storing a keyword dictionary file including a plurality of keyword dictionary records having a keyword and keyword identification information for identifying the keyword;
A plurality of keyword related definition records having keyword identification information of a keyword dictionary record included in the keyword dictionary file and keyword identification information of a keyword dictionary record included in one or more of the keyword dictionary files related to the keyword identification information. Keyword-related definition file storage means for storing a keyword-related definition file including:
When a search is performed by the metadata search means, the keywords included in the conditions relating to the metadata of the search, the keywords and keyword identification information of each keyword dictionary record included in the keyword dictionary file, and the keyword related definition file Virtual classification dynamic generation means for generating the virtual classification definition record based on the keyword identification information of each keyword-related definition record included and one or more keyword identification information related to the keyword identification information;
Is provided.
好ましくは、本発明のファイル検索装置は、
前記インデックス2レコードが、当該インデックス2レコードに対応する検索対象ファイルを識別するためのファイル識別情報を含み、
関連定義レコードを識別するための関連定義レコード識別情報と、関連定義の名称を示す表示名と、インデックス2レコードを検索する検索条件を取得するための検索条件取得条件とを有する1以上の関連定義レコードを含む関連定義ファイルを記憶する関連定義ファイル記憶手段と、
前記メタデータ検索手段によって取得されたインデックス2レコードのファイル名およびファイルパスと、前記関連定義ファイル記憶手段に記憶されている関連定義ファイルの各関連定義レコードに含まれる表示名とを出力する関連定義情報出力手段と、
前記関連定義情報出力手段によって出力された各表示名の中から選択された表示名に対応する関連定義レコード識別情報と、選択された当該表示名とともに前記関連定義情報出力手段によって出力されたファイル名およびファイルパスに対応するインデックス2レコードのファイル識別情報とを受け付ける受付手段と、
前記受付手段によって受け付けられたファイル識別情報を含むインデックス2レコードと、前記受付手段によって受け付けられた関連定義レコード識別情報を含む前記関連定義ファイル記憶手段に記憶されている関連定義レコードの検索条件取得条件とに基づいて検索条件を取得する検索条件取得手段と、
前記インデックス2ファイルに含まれる各インデックス2レコードを検索して、前記検索条件取得手段によって取得された検索条件を満たすインデックス2レコードを取得し、取得した当該インデックス2レコードに含まれるファイル名とファイルパスを出力する関連検索手段と、
を備える。
Preferably, the file search device of the present invention is
The
One or more relation definitions having relation definition record identification information for identifying the relation definition record, a display name indicating the name of the relation definition, and a search condition acquisition condition for acquiring the search condition for searching the
Outputting said metadata search means acquires
Related definition record identification information corresponding to the display name selected from each display name output by the related definition information output means, and the file name output by the related definition information output means together with the selected display name Receiving means for receiving the file identification information of the
Search condition acquisition condition for related definition record stored in the related definition file storage means including the
Each
Is provided.
また、本発明のファイル検索プログラムは、
コンピュータを、
記憶装置から、複数の検索対象ファイルからなる第1の検索対象ファイル群と、複数の検索対象ファイルからなる第2の検索対象ファイル群を取得するファイル取得手段と、
前記ファイル取得手段によって取得された第1の検索対象ファイル群に含まれる各検索対象ファイルについて、当該各検索対象ファイルの名前であるファイル名と、当該各検索対象ファイルの記憶されている記憶位置を示すファイルパスと、当該各検索対象ファイルの内容から抽出された複数のキーワードとを有するインデックス1レコードを所定のタイミングで作成し、当該各インデックス1レコードを含むインデックス1ファイルを記憶するインデックス1ファイル記憶手段と、
前記ファイル取得手段によって取得された第2の検索対象ファイル群に含まれる各検索対象ファイルについて、当該各検索対象ファイルの名前であるファイル名と当該各検索対象ファイルの記憶されている記憶位置を示すファイルパスと、当該各検索対象ファイルの内容を代表する1以上のメタデータとを有するインデックス2レコードを所定のタイミングで作成し、当該各インデックス2レコードを含むインデックス2ファイルを記憶するインデックス2ファイル記憶手段と、
メタデータに関する条件と全文検索の条件のいずれか一方または両方を含む検索条件を受け付ける検索条件受付手段と、
前記検索条件受付手段によって受け付けられた検索条件がメタデータに関する条件を含む場合に、前記インデックス2ファイルに含まれる各インデックス2レコードを当該メタデータに関する条件に基づいて検索し、当該メタデータに関する条件を満たすインデックス2レコードを取得するメタデータ検索手段と、
前記検索条件受付手段によって受け付けられた検索条件がメタデータに関する条件および全文検索の条件を含む場合には、前記インデックス1ファイルに含まれる各インデックス1レコードのうち、前記メタデータ検索手段によって取得されたインデックス2レコードに含まれるファイルパスと同一のファイルパスを含む各インデックス1レコードを前記全文検索の条件に基づいて検索し、前記検索条件受付手段によって受け付けられた検索条件がメタデータに関する条件を含まず、全文検索の条件を含む場合には、前記インデックス1ファイルに含まれる全てのインデックス1レコードを前記全文検索の条件に基づいて検索し、前記全文検索の条件を満たすインデックス1レコードを取得するキーワード検索手段と、
して機能させる。
The file search program of the present invention is
Computer
A file acquisition means for acquiring a first search target file group consisting of a plurality of search target files and a second search target file group consisting of a plurality of search target files from the storage device;
For each search target file included in the first search target file group acquired by the file acquisition means, the file name that is the name of each search target file and the storage location in which each search target file is stored
For each search target file included in the second search target file group acquired by the file acquisition means, the file name that is the name of each search target file and the storage location in which each search target file is stored are shown.
Search condition receiving means for receiving a search condition including one or both of a condition relating to metadata and a condition of full-text search;
When the search condition received by the search condition receiving means includes a condition related to metadata, each
When the search condition received by the search condition receiving means includes a metadata-related condition and a full-text search condition, it is acquired by the metadata search means out of each
And make it work.
本発明によれば、全文検索を可能にすべきファイルと全文検索が不要なファイルとが存在しているファイル検索環境において、効率的にファイルを検索することができる。 ADVANTAGE OF THE INVENTION According to this invention, a file can be searched efficiently in the file search environment where the file which should enable full text search, and the file which does not require full text search exist.
以下、本発明の第1の実施形態に係るファイル検索システムについて図面を参照しながら説明する。
なお、本明細書と特許請求の範囲において、特に説明を付さない限り、「ファイル」とは、文書ファイル、画像ファイル等のファイルのみならず、データベース全体やデータベースの各レコード等も含み、閲覧、視聴、メール送受信あるいは外部記憶媒体へのコピー等の対象となりうる電子データを意味する。
Hereinafter, a file search system according to a first embodiment of the present invention will be described with reference to the drawings.
In the present specification and claims, unless otherwise specified, the “file” includes not only a file such as a document file and an image file, but also the entire database and each record of the database. This means electronic data that can be subject to viewing, mail transmission / reception, copying to an external storage medium, and the like.
<ファイル検索システム全体の構成・機能>
図1は、本発明の第1の実施形態に係るファイル検索システムの構成の一例を示す。
第1の実施形態に係るファイル検索システムは、ファイル検索サーバ1と、ファイルサーバ4と、クライアント3とを備える。ファイル検索サーバ1と、ファイルサーバ4と、クライアント3は、LAN(Local Area Network)等の有線又は無線の通信回線9により通信可能に接続されている。
ここで、ファイル検索サーバ1、ファイルサーバ4及びクライアント3はそれぞれ1台ずつ図示しているが、それぞれ2台以上存在していてもよい。また、ファイル検索サーバ1と、ファイルサーバ4と、クライアント3とはそれぞれ異なる装置である必要はなく、例えば、ファイル検索サーバ1とファイルサーバ4とクライアント3の機能を1台の装置によって実現することも可能である。
通信回線9はLANに限定されるものではなく、例えばWAN(Wide Area Network)やインターネットとすることもできるし、これらの組み合わせとすることもできる。
<Configuration and function of the entire file search system>
FIG. 1 shows an example of the configuration of a file search system according to the first embodiment of the present invention.
The file search system according to the first embodiment includes a
Here, one
The communication line 9 is not limited to a LAN, and can be, for example, a WAN (Wide Area Network), the Internet, or a combination thereof.
後に詳述するように、ファイル検索サーバ1はファイルサーバ4に記憶されているファイルの名称等を収集して、インデックスファイルを作成して記憶しておく。そして、クライアント3がファイル検索サーバ1にファイル検索要求(以下「検索要求」と略記することがある。)を送信すると、ファイル検索サーバ1はそのインデックスファイルを参照してファイル検索を行い、クライアント3にファイル検索結果(以下「検索結果」と略記することがある。)を送信する。
As will be described in detail later, the
<クライアント3の構成・機能>
クライアント3はコンピュータであり、入力装置32、表示装置33、図示しない主記憶装置および記憶装置を備える。
入力装置32はキーボード、マウス等を含む。クライアント3の操作者は、入力装置32を操作することで、クライアント3が実行するべき処理を指示することができる。すなわち入力装置32はクライアント3の入力手段として機能する。
表示装置33は液晶ディスプレイ、プリンタ等を含む。表示装置33は、クライアント3が実行した処理の結果等を表示あるいは印刷する。すなわち表示装置33はクライアント3の表示手段および出力手段として機能する。
主記憶装置はRAM(Random
Access Memory)等を含む。記憶装置は磁気ディスク等を含み、クライアント3に内蔵されるか、または外部接続される。主記憶装置と記憶装置は、クライアント3の記憶手段として機能する。
<Configuration and function of
The
The
The
The main memory is RAM (Random
Access Memory). The storage device includes a magnetic disk or the like, and is built in the
クライアント3は、図示していないがCPU(Central Processing Unit)を備える。主記憶装置には検索要求プログラム等のプログラムが記憶されている。CPUがその命令コードを実行することにより検索要求部31等の機能が実現される。
また、CPUは、検索要求プログラム等の応用プログラムの命令コードを実行する際、OS(Operating System)等のプログラムの命令コードも実行する場合がある。以上のようなプログラム実行にかかわる技術は周知であるので、以降の説明および図面においては、検索要求部31というように、あたかも各種プログラムにより実現される処理を実行するハードウェアが存在するかのように記載する。なお、実際に各部(例えば検索要求部31)をハードウェアで構成することも可能である。
Although not shown, the
Further, when executing the instruction code of an application program such as a search request program, the CPU may also execute the instruction code of a program such as an OS (Operating System). Since the technique related to program execution as described above is well known, in the following description and drawings, it is as if there is hardware that executes processing realized by various programs, such as the
検索要求部31は、クライアント3の操作者が入力装置32によって入力したファイル検索条件およびファイル検索指示(例えば、ファイル名が「作業報告」であるファイルを検索するように、という指示)を受けて、検索条件式を作成し、ファイル検索サーバ1に検索条件式を含む検索要求を送信する。
また、ファイル検索サーバ1がクライアント3に送信した検索結果を受信し、表示装置33に表示する。検索要求部31を実現するための検索要求プログラムは、第1の実施形態に係わる独自のプログラムであってもよいし、例えばWEBブラウザのプログラムであってもよい。WEBブラウザを検索要求部31として使用する場合、後述するファイル検索サーバ1の検索部13は、例えばWEBアプリケーションとすればよい。
The
Further, the search result transmitted from the
<ファイルサーバ4の構成・機能>
ファイルサーバ4はコンピュータであり、記憶装置42を備える。
記憶装置42は磁気ディスク等を含む。記憶装置42はファイルサーバ4に内蔵され、または外部接続される。図1では、1台の記憶装置42がファイルサーバ4に接続されているかのように例示しているが、実際には、むしろ2台以上の記憶装置42がファイルサーバ4に接続されることが多く、また、2台以上の記憶装置42が2台以上のファイルサーバ4に、切り替え可能に接続されることも多い。
記憶装置42にはさまざまなファイルが記憶されているが、図1では、ファイルのうち後述するファイル検索サーバ1がインデックス作成対象とするものを、「検索対象ファイル43」と記述している。すなわち、検索対象ファイル43という特定のファイルが存在するのではなく、検索対象ファイル43は、例えば記憶装置42に記憶されている全てのファイルであってもよいし、あるいは、特定のフォルダ内の全てのファイル等、記憶装置42に記憶されている一部のファイルであってもよい。
検索対象ファイル43には、オーナー、グループ、その他利用者に対する、参照・更新・実行権限を表すアクセス権限を設定することができる。
<Configuration / Function of File Server 4>
The file server 4 is a computer and includes a
The
Various files are stored in the
In the
ファイルサーバ4は、図示していないがCPUと、RAM等で構成された主記憶装置とを備える。主記憶装置にはファイル管理プログラム等のプログラムが記憶されている。CPUがその命令コードを実行することによりファイル管理部41等の機能が実現される。ファイル管理部41は、検索対象ファイル43を含め、記憶装置42に記憶されているファイルの記憶位置等を管理する。また、ファイル管理部41は、ファイル検索サーバ1からファイルの格納場所等を受信し、当該格納場所に記憶された検索対象ファイル43等を読み込み、当該ファイルの記憶内容をファイル検索サーバ1に送信する機能も有している。
Although not shown, the file server 4 includes a CPU and a main storage device including a RAM and the like. A program such as a file management program is stored in the main storage device. Functions of the
<ファイル検索サーバ1の構成・機能>
ファイル検索サーバ1はコンピュータであり、記憶装置2と、図示しない主記憶装置とを備える。記憶装置2は磁気ディスク等を含む。記憶装置2はファイルサーバ1に内蔵されるか、または外部接続される。図1では、1台の記憶装置2がファイル検索サーバ1に接続されているかのように例示しているが、2台以上であってもよい。主記憶装置はRAM等で構成される。記憶装置2と主記憶装置は、ファイルサーバ1の記憶手段として機能する。
記憶装置2には、インデックス1ファイル21、インデックス2ファイル22、仮想分類定義ファイル23、関連定義ファイル24、キーワード辞書ファイル25とキーワード関連定義ファイル26が記憶されている。これらのファイルの記憶内容等については、以降のファイル検索サーバ1の機能説明と合わせて説明する。
<Configuration / Function of
The
The
ファイル検索サーバ1は、図示していないがCPUを備える。ファイル検索サーバ1の主記憶装置には、ファイル検索プログラム等のプログラムが記憶されている。CPUがその命令コードを実行することにより、インデックス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を参照する必要がなくなるので、検索に要する処理時間を短縮することができる。
The
The
Which file is the
なお、以上のようにして作成されたインデックス1ファイル21を参照して検索するとき、インデックス1ファイル21作成後に検索対象ファイル43が削除され、あるいは変更されている場合がある。このような場合に、インデックス1ファイル21を検索すると、検索対象ファイル43を検索した場合とは異なる検索結果が得られることになる。例えばファイル名が「作業報告」であるファイルについてインデックス1ファイル21が作成された後、当該ファイルが削除された場合、インデックス1ファイル21を参照するとファイル名が「作業報告」のファイルが存在しているように見えるが、検索対象ファイル43には存在していない。
そこで、前述したように、インデックス1作成部11は、例えば毎日同じ時刻等の所定のタイミングで処理を行うようにすることができる。このようにすることで、インデックス1ファイル21が定期的に更新され、検索対象ファイル43と大きく乖離することを防ぐことができる。
When searching with reference to the
Therefore, as described above, the
そして、インデックス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内の当該ファイルについてのインデックス情報が更新されるようにしてもよい。
Then, by shortening the interval of the timing at which the
For example, when the file server 4 runs a program that constantly monitors the CPU usage rate, the IO frequency at a certain time, etc., and the CPU usage rate, the IO frequency at a certain time, etc. become below a predetermined value, that fact Is also transmitted to the
インデックス2作成部12も、インデックス1作成部11と同様に、例えば毎日同じ時刻等の所定のタイミングで、検索対象ファイル43を参照し、インデックス2ファイル22を作成する。第1の実施形態においては、インデックス2ファイル22には、後述するように、たとえば、ファイルの内容から判断したファイルに記憶されている文書のタイトル等が記憶される。すなわち、インデックス1ファイル21の記憶内容と、インデックス2ファイル22の記憶内容は一部が重複するとしても、完全には同一でない。
Similarly to the
どのファイルを検索対象ファイル43とするかは、インデックス1作成部11と同様に、記憶装置2内の所定のファイルに予め記憶装置42のファイルパス(“/etc/usr1/”等)を1以上記憶しておき、当該ファイルパス配下のファイルを検索対象ファイル43とすることができる。インデックス1作成部11の検索対象ファイル43とインデックス2作成部12の検索対象ファイル43は同一であってもよいし、一部が重複してもよいし、全く異なっていても構わない。
As with the
なお、以上のようにして作成されたインデックス2ファイル22を参照して検索するとき、インデックス1ファイル21を参照して検索するときと同様に、インデックス2ファイル22の記憶内容と検索対象ファイル43の内容が乖離することがあるという問題が発生する。そして、この問題は、インデックス1作成部11と同様に、インデックス2作成部12が処理を行うタイミングの間隔を短くする等によって解決することができる。
When searching with reference to the
さらに、インデックス1ファイル21とインデックス2ファイル22の作成タイミングが異なると、インデックス1ファイル21とインデックス2ファイル22の内容が乖離することがあるという問題も発生する。この問題の解決方法のひとつは、インデックス1作成部11とインデックス2作成部12のインデックスファイル作成処理開始タイミングを一致させることである。具体的には、例えば、インデックス2作成部12がインデックスファイル作成処理を開始する直前に、インデックス1作成部11にインデックス作成処理開始要求を送信し、インデックス1作成部11は当該要求を受信するとインデックス作成処理を開始するようにすればよい。
Furthermore, when the creation timings of the
もっとも、インデックスファイル作成処理開始タイミングが一致しても、各検索対象ファイル43を参照するタイミングが一致するとは限らないが、インデックス1ファイル21とインデックス2ファイル22の内容が多少乖離していたとしても、検索目的での使用に大きな支障があるわけではない。従って、インデックスファイル作成処理開始タイミングを一致させれば、ほとんどの場合、実用的には問題はない。
ただし、インデックス1ファイル21とインデックス2ファイル22の内容の乖離を完全に防止する必要がある場合がある。このような場合には、例えば、ファイルサーバ4において、検索対象ファイル43におけるIOを常時監視するプログラムを走行させておき、検索対象ファイル43が更新等されるたびに、インデックス1ファイル21及びインデックス2ファイル22内の当該ファイルについての情報を更新するようにしてもよい。
Of course, even if the index file creation processing start timings coincide, the timings of referring to the search target files 43 do not necessarily coincide, but even if the contents of the
However, there may be a case where it is necessary to completely prevent the difference between the contents of the
検索部13は、ファイル検索サーバ1がクライアント3からの検索要求を受信した場合に起動され、ファイル検索を実行する。具体的には、インデックス1ファイル21とインデックス2ファイル22の一方又は両方を参照して、検索要求の検索条件式に合致するファイルが存在するかどうか判定し、存在する場合には、合致したファイルのファイル名等からなる検索結果をクライアント3に送信する。
The
ここで、検索部13は、インデックス1ファイル21を参照する必要がある場合、インデックス1検索部14に検索条件式を渡し、インデックス1検索部14は、インデックス1ファイル21を参照して、受け取った検索条件式に合致するファイルが存在するかどうか判定する。インデックス1ファイル21には、ファイル名、ファイル内容から抽出したキーワードが記憶されているため、インデックス1検索部14による検索は、検索部13の検索機能の一部を補完することができる。
後述するように、第1の実施形態においては、クライアント3の操作者がいわゆる全文検索を要求した場合に、インデックス1検索部14による検索を行う。検索部13自体の機能から全文検索機能を分離することにより、インデックス1検索部14を実現するためのプログラムとして、既に存在するさまざまな全文検索プログラムを使用することが可能になり、例えば、検索要求から社会科学分野の文献の検索が求められているのか、自然科学分野の文献の検索が求められているのか等の検索目的を判定して、検索目的に合致したインデックス1検索部14によって全文検索を行うといったことも可能になる。
Here, when it is necessary to refer to the
As will be described later, in the first embodiment, when the operator of the
検索部13は、検索対象ファイル43をインデックス2ファイル22に記憶された文書のタイトル等のメタデータ検索キーワードにより分類して、ツリー状の階層を作成する機能(以下「仮想分類機能」という。)、言い換えれば、インデックス2レコード220(図3を参照して後で説明する。)を分類する機能を有しており、仮想分類を行う際には、分類条件等を定義した仮想分類定義ファイル23を参照する。
The
検索部13は、メタデータ検索のキーワードに関連するキーワードにより仮想分類定義を動的に生成する機能(以下「仮想分類動的生成機能」という。)を有している。仮想分類動的生成機能で生成した仮想分類定義を参照し、仮想分類機能を使用することでメタデータ検索キーワードに関連したキーワードによる分類を行うことができる。
仮想分類動的生成を行う際には、キーワードを登録するキーワード辞書ファイル25とキーワード辞書ファイル25に登録されたキーワードの関連を定義したキーワード関連定義ファイル26を参照する。当然ながら、キーワード辞書ファイル25とキーワード関連定義ファイル26を作成・更新等するプログラムも存在するが、本発明とは直接関係がないので、以降の説明ではキーワード辞書ファイル25とキーワード関連定義ファイル26が作成済みであるという前提で説明する。
The
When the virtual classification dynamic generation is performed, the
また、検索部13は、インデックス2ファイル22に記憶された、検索対象ファイル43の記憶装置42上の記憶位置を参照して、ツリー状の階層を作成する機能(以下「物理階層作成機能」という。)を有している。
さらに、検索部13は、検索結果と関連するファイルを検索する機能(以下「関連検索機能」という。)を有しており、関連検索を行う際には、関連検索条件等を定義した関連定義ファイル24を参照する。当然ながら、関連定義ファイル24を作成・更新等するプログラムも存在するが、本発明とは直接関係がないので、以降の説明では関連定義ファイル24が作成済みであるという前提で説明する。
The
Further, the
<各ファイルの構成・機能>
図2は、インデックス1ファイル21のデータ構成の一例を示す。
インデックス1ファイル21は、各検索対象ファイル43と対応するインデックス1レコード210から構成される。すなわち各インデックス1レコード210は、インデックス1レコード210作成時点の検索対象ファイル43と1対1に対応している。
インデックス1レコード210は、ファイル名211、ファイルパス212、アクセス権限213およびキーワード214の各データ項目から構成される。
<Configuration and function of each file>
FIG. 2 shows an example of the data structure of the
The
The
ファイル名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に加えて、このようなデータ項目を設けてもよい。
In the
The
アクセス権限213には、対応する検索対象ファイル43に対して設定されているアクセス権限が設定される。具体的には、例えばファイルサーバ4のファイル管理部41等によって付与され、ファイルの属性情報として記憶されているアクセス権限(例えば、UNIX(登録商標)等で使われている、オーナー、グループ、その他利用者に対する、参照・更新・実行権限を表す3桁の数値(777等))が設定される。
キーワード214には、対応する検索対象ファイル43の内容から抽出したキーワードが設定される。例えば、検索対象ファイル43の内容に“現場”という文字列が複数個含まれている場合“現場”を抽出する等、さまざまな構文解析手法等によって、1以上のキーワードを抽出し、キーワード214に設定することができる。一般に、キーワード214には多数の語句等が記憶され、インデックス1レコード210のサイズの大部分がキーワード214のために使用される。
なお、以上のほか、ファイル作成者等、他のファイル属性情報についても、インデックス1レコード210のデータ項目とすることができる。
以上のようにして作成されたインデックス1レコード210(インデックス情報)は、インデックス1検索部14により参照される。
In the
In the
In addition to the above, other file attribute information such as a file creator can also be a data item of the
The
図3は、インデックス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のCPUにメタデータ変更プログラムを実行させて、標準メタデータ222の設定内容を直接変更することができる。
また、ユーザ定義メタデータ223は利用者がデータ構造を定義し、ファイルの内容を代表するメタデータを設定・変更するデータ項目である。インデックス2作成部12は、ユーザ定義メタデータ223を設定しない。
FIG. 3 shows an example of the data structure of the
The
The
The system metadata 221 is set by the
On the other hand, metadata representing the contents of the file is set in the
User-defined
図4は、システムメタデータ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のデータ項目とすることができる。
FIG. 4 is a diagram illustrating an example of the data configuration of the
The system metadata 221 includes a
In the
Similarly to the
Similar to the
In addition to the above, other file attribute information such as file creator and access authority can also be used as data items of the
図5は、標準メタデータ222のデータ構成の一例を示す図である。
標準メタデータ222は、タイトル222a、文書記載日222b及びセキュリティランク222cから構成される。
タイトル222aには、対応する検索対象ファイル43に記憶されている文書等の題名が“作業報告書”のように設定される。具体的には、インデックス2作成部12は、例えば、当該ファイルを印刷する場合の表示イメージを構築し、先頭ページ上段に、他の文字より大きな文字サイズで印刷される文字列を文書等の題名とみなし、タイトル222aに設定する。
文書記載日222bには、対応する検索対象ファイル43に記憶されている文書等が記載された日付が“2009年8月5日”のように設定される。具体的には、インデックス2作成部12は、例えば、当該ファイルを印刷したときに先頭ページ上段に印刷される文字列のうち、“年”、“月”、“日”、“作成”を含む等、作成日付らしい文字列を文書等の作成日付とみなし、文書記載日222bに設定する。
FIG. 5 is a diagram illustrating an example of a data configuration of the
The
In the
In the
セキュリティランク222cには、対応する検索対象ファイル43に記憶されている文書等の機密度が“極秘”、“秘密”のように設定される。具体的には、インデックス2作成部12は、例えば、当該ファイルに印刷される文字列のうち、“取扱注意”、“複製禁止”等、機密にする必要があることを示していると思われる文字列を抽出し、抽出した文字列の内容、数等によって機密度を判定し、セキュリティランク222cに設定する。
なお、以上のほか、文書の保管期間等、検索対象ファイル43を印刷した場合の表示イメージ等から判断可能な他の情報についても、標準メタデータ222のデータ項目とすることができる。
以上のようにして作成されたインデックス2レコード220(インデックス情報)は、前述したように、検索部13により参照される。
In the
In addition to the above, other information that can be determined from a display image when the
The
図6は、仮想分類定義ファイル23のデータ構成の一例を示す。
仮想分類定義ファイル23は、1以上の仮想分類定義レコード230から構成される。仮想分類定義レコード230は、仮想分類ID231、表示名232、条件233及び上位仮想分類ID234の各データ項目から構成される。
FIG. 6 shows an example of the data configuration of the virtual
The virtual
仮想分類ID231には、当該仮想分類定義レコード230を一意に識別可能な値が“1”、“2”、“3”のように設定される。
表示名232には、当該仮想分類の名称が“タイトル”、“作業報告”のように設定される。
条件233には、当該仮想分類による分類条件が“条件なし”、“タイトル222aに「作業報告書」(という文字列)が含まれる”のように設定される。分類条件に“条件なし”が設定されている場合、当該仮想分類に分類されるインデックス2レコード220が存在しないことを意味し、分類条件に何らかの条件が設定されている場合、インデックス2レコード220のうち、当該条件を満足するレコードが当該仮想分類に分類されることを意味する。従って、1つのインデックス2レコード220が2以上の仮想分類に分類される場合もあるし、どの仮想分類にも分類されない場合もある。
上位仮想分類ID234には、当該仮想分類定義レコード230の上位の仮想分類定義レコード230を一意に識別可能な値が“0(上位なし)”、“1”、“2”、“3”のように設定される。
In the
In the
The
In the upper
図14と図15を参照しながら後で説明するように、仮想分類定義レコード230は検索部13によって参照され、表示名232や、当該表示名232に係わる条件233を満足するインデックス2レコード220のファイル名221bが、表示装置33にツリー状に階層表示される。従って、1つのインデックス2レコード220がツリーの2箇所以上で表示される場合もあるし、ツリーのどこにも表示されない場合もある。
As will be described later with reference to FIGS. 14 and 15, the virtual
図7は、関連定義ファイル24のデータ構成の一例を示す。
関連定義ファイル24は、1以上の関連定義レコード240から構成される。関連定義レコード240は、関連定義ID241、表示名242及び条件243の各データ項目から構成される。
関連定義ID241には、当該関連定義レコード240を一意に識別可能な値が“1”、“2”、“3”のように設定される。
表示名242には、当該関連定義の名称が“タイトル”のように設定される。
条件243には、当該仮想分類による分類条件が“タイトル222aが当該検索結果と等しい”のように設定される。なお、条件243には、例えば、“当該検索ファイルのファイル名の前に「コピー〜」が追加されている”、“当該検索ファイルのファイル名の後ろに数字が追加されている”等、さまざまな条件を設定可能としてもよい。
関連定義ファイル24を用いた関連検索については、図17と図18を参照しながら後で詳細に説明する。
FIG. 7 shows an example of the data structure of the
The
In the
In the
In the
The related search using the related
図20と図21は、それぞれキーワード辞書ファイル25とキーワード関連定義ファイル26のデータ構成の一例を示す。
上述した仮想分類定義レコード230は、利用者が予め作成しておいてもよいが、メタデータ検索を行う際にキーワード辞書ファイル25とキーワード関連定義ファイル26を用いて動的に作成することが可能である。
キーワード辞書ファイル25は、1以上のキーワード辞書レコード250から構成される。キーワード辞書レコード250は、キーワードID251、言語コード252及びキーワード253の各データ項目から構成される。
キーワードID251には、キーワードを一意に識別可能な値が“1”、“2”、“3”のように設定される。
言語コード252には、キーワード253の言語種別を表す3文字の言語コードが“jpn”や“eng”のように設定される。なお、言語コード“jpn”と“eng”は、それぞれ日本語と英語に対応する。
キーワード253には、当該キーワードが“仕様書”のように設定される。
キーワード辞書レコード250は、キーワードID251と言語コード252で一意に識別できる。また、キーワード辞書ファイル25には、キーワード253が同一のキーワード辞書レコード250は設定できない。
例えば、キーワードID251、言語コード252及びキーワード253に、それぞれ“1”、“jpn”、“仕様書”が設定されたキーワード辞書レコード250と、それぞれ“1”、“eng”、“specifications”が設定されたキーワード辞書レコード250が2レコード存在する場合、この2つのレコードのキーワードは、言語は異なるが同一のキーワードということになる。
20 and 21 show examples of data structures of the
The virtual
The
In the
In the
In the
The
For example,
キーワード関連定義ファイル26は、1以上のキーワード関連定義レコード260から構成される。キーワード関連定義レコード260は、キーワードID261、関連キーワードID262、最大キーワード長263及び言語条件264から構成される。
キーワードID261には、キーワード辞書ファイル25に登録されているキーワード辞書レコード250のキーワードID251の値が設定される。
関連キーワードID262には、キーワードID261と同様にキーワード辞書ファイル25に登録されているキーワード辞書レコード250のキーワードID251の値が1つ以上設定される。キーワード関連定義レコード260は、キーワードID261と値が同一であるキーワードID251のキーワード辞書レコード250に含まれるキーワード253に設定されているキーワードと、関連キーワードID262と値が同一であるキーワードID251のキーワード辞書レコード250に含まれるキーワード253に設定されているキーワードとが関連することを指定する。
なお、関連キーワードID262に2つ以上のキーワードIDを設定する場合、“1, 2”のように「, (カンマ)」で区切って設定する。
The keyword related
In the
In the
When two or more keyword IDs are set in the
最大キーワード長263には、キーワード辞書ファイル25から関連キーワードID262のキーワードを取得するときのキーワードの最大文字数の制限が“0(制限しない)”、“10”のように設定される。
言語条件264には、キーワード辞書ファイル25から関連するキーワードを取得するときのキーワードの言語種別を検索キーワードの言語種別と同一に限定するかしないかの値が“0(同一言語のみ)”、“1(限定しない)”のように設定される。
In the
In the
例えば、キーワード辞書ファイル25のキーワードID251、言語コード252及びキーワード253に、それぞれ以下のように設定された3つのキーワード辞書レコード250が存在するとする。
(1)“1”、“jpn”、“仕様書”
(2)“1”、“eng”、“specifications”
(3)“2”、“jpn”、“設計書”
そして、キーワード関連定義ファイル260のキーワードID261、関連キーワードID262、最大キーワード長263及び言語条件264に、それぞれ“2”、“1”、“3”、“0(同一言語のみ)”が設定されたキーワード関連定義レコード260が存在するとする。この場合、キーワード“設計書”にキーワード“仕様書”が関連していることになる。しかし、キーワード“specifications”は、キーワード関連定義レコード260の言語条件264が“0(同一言語のみ)”となっているため、関連するキーワードとみなさない。
なお、キーワード辞書ファイル25とキーワード関連定義ファイル26を用いた仮想分類定義レコード230の動的作成(仮想分類動的生成機能)については、図22と図23を参照しつつ後で説明する。
以上で第1の実施形態のファイル検索システムの構成・機能の説明を終了し、以下、各部の処理のフローチャートを参照しつつ、第1の実施形態のファイル検索システムの動作を説明する。
For example, it is assumed that the
(1) “1”, “jpn”, “specifications”
(2) “1”, “eng”, “specifications”
(3) “2”, “jpn”, “design document”
Then, “2”, “1”, “3”, “0 (same language only)” are set in the
The dynamic creation (virtual classification dynamic generation function) of the virtual
The description of the configuration and functions of the file search system according to the first embodiment has been completed, and the operation of the file search system according to the first embodiment will be described below with reference to the flowcharts of the processing of each unit.
<各プログラムの動作>
図8は、インデックス1作成部11の動作の一例を示すフローチャートである。
インデックス1作成部11は、処理を開始すると、検索対象ファイル43のインデックス1レコード210を作成等する(S801)。
具体的には、例えば、ファイル管理部41に、記憶装置2内の所定のファイルに予め記憶されているファイルパス(例えば“/etc/usr1/”)に含まれているファイルを読込、送信するように要求する。そして、ファイル管理部41からファイルを受信すると、取得したファイルのファイルパス(例えば“/etc/usr1/作業報告1.doc”)がファイルパス212に設定されているインデックス1レコード210が存在するか判定する。そして、存在しない場合は、取得したファイルからキーワードを抽出し、当該ファイルのファイル名、ファイルパス、アクセス権限及び抽出したキーワードを、それぞれファイル名211、ファイルパス212、アクセス権限213及びキーワード214に設定して、インデックス1レコード210を追加する。一方、存在する場合は、当該インデックス1レコード210(以下「更新対象レコード」という。)のアクセス権限213及びキーワード214を更新する。
<Operation of each program>
FIG. 8 is a flowchart showing an example of the operation of the
When the process is started, the
Specifically, for example, the
以上の処理を、予め設定されているファイルパス配下のファイル全てについて実行した後、新たに作成したインデックス1レコード210以外のレコードで、更新対象レコードにならなかったインデックス1レコード210が存在する場合、当該インデックス1レコード210を削除する。
なお、インデックス1レコード210を作成等する方法は、上述の方法に限られない。例えば、処理開始後、インデックス1ファイル21を削除し、ファイル管理部41に、予め設定されているファイルパス(例えば“/etc/usr1/”)に含まれているファイルを読込、送信するように要求し、受信したファイルについて、インデックス1レコード210を作成してもよい。
When the above processing is executed for all files under the preset file path, and there is an
The method for creating the
以上で説明したように、第1の実施形態においては、インデックス1作成部11が処理を行うたびに、処理時点の検索対象ファイル43と1対1に対応するインデックス1レコード210が作成される。
As described above, in the first embodiment, each time the
図9は、インデックス2作成部12の動作の一例を示すフローチャートである。
インデックス2作成部12は、処理を開始すると、検索対象ファイル43のインデックス2レコード220を作成等する(S901)。具体的な処理内容は、インデックス1作成部11と同様なので、以下、異なる点のみを説明する。
まず、前述したように、インデックス2作成部12の検索対象ファイル43は、インデックス1作成部11の検索対象ファイル43と同一である必要はない。例えば、記憶装置42に記憶されている全てのファイルを、インデックス1作成部11の検索対象ファイル43とし、記憶装置42に記憶されているファイルの一部(例えばクライアント3の操作者が通常参照するファイルのみ)をインデックス2作成部12の検索対象ファイル43とすることができる。このようにすることで、後述する検索処理において、通常はインデックス2ファイル22のみを検索することで検索結果として表示されるファイルの数を抑え、一方、必要に応じてインデックス1ファイル21を検索することで、普段は参照しないファイルも検索結果として表示させることができる。
FIG. 9 is a flowchart illustrating an example of the operation of the
When the process is started, the
First, as described above, the
逆に、記憶装置42に記憶されているファイルの一部(例えば論文、判決文等、語句が比較的厳密に使用されている文書ファイル)をインデックス1作成部11の検索対象ファイル43とし、記憶装置42に記憶されている全てのファイルを、インデックス2作成部12の検索対象ファイル43とすることができる。
このようにすることで、定義をあいまいにしたまま使用されている語句等が、インデックス1レコード210のキーワード214に抽出される可能性が減少する。当該語句等が検索キーワードに一致して当該ファイルが検索結果として表示されても、実際には求めるファイルではない可能性が比較的高い。このため、インデックス1ファイル21の容量を比較的小さく抑えることができるとともに、後述する検索処理において、キーワードによる全文検索を行った場合に、検索結果として求めるファイルが含まれる可能性を高めることができる。
Conversely, a part of the file stored in the storage device 42 (for example, a document file in which a phrase is used relatively strictly, such as a paper or a judgment sentence) is used as the
By doing so, the possibility that a phrase or the like that is used while the definition is ambiguous is extracted as the
また、以下のようにすることで、インデックス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のアクセス権限を比較し、異なっていれば更新対象とすればよい。
In addition, unnecessary updating of the
For example, an update date is provided as a data item of the
Further, when the access authority is provided as the data item of the
さらに、インデックス2作成部12は、インデックス2レコード220を更新する際、標準メタデータ222の設定内容が、前述したメタデータ変更プログラムを使用して直接変更されているか判定し、直接変更されている場合は、標準メタデータ222は更新しない。このようにするためには、例えば、標準メタデータ222のデータ項目として「直接変更有無」を設け、インデックス2レコード220を作成する際にはデータ項目「直接変更有無」に“直接変更なし”を設定し、メタデータ変更プログラムを使用して直接変更した場合に、データ項目「直接変更有無」に“直接変更有り”を設定するようにすればよい。なお、インデックス2作成部12は、ユーザ定義メタデータ223を更新しない。
Furthermore, when updating the
標準メタデータ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が作成される。
As a data item of the
In this way, when the operator of the
As described above, in the first embodiment, each time the
図10は、検索要求部31の動作の一例を示すフローチャートである。
検索要求部31は、クライアント3の操作者が入力装置32を使用して起動する。
検索要求部31は、起動されると、ログイン処理を行う(S1001)。具体的には、表示装置33に図13のようなログイン画面を表示し、クライアント3の操作者が入力装置32を使用して利用者IDおよびパスワードを入力し、「実行」ボタンを押すと、入力された利用者IDとパスワードが適切か否か、および検索対象ファイル43に対する利用者IDのアクセス権限を判定する。なお、上記のようなログイン処理自体は周知技術であるので、これ以上の説明は省略する。
FIG. 10 is a flowchart illustrating an example of the operation of the
The
When activated, the
検索要求部31は、入力された利用者IDとパスワードが適切であると判定した場合、表示装置33に検索要求画面を表示する(S1002)。図14に検索要求画面(D1401)の表示例を示す。図14に示すように、検索要求画面は、仮想分類表示部(D1402)、物理フォルダ表示部(D1403)、検索条件部(D1404)、検索結果部(D1405)および「検索」、「メタデータ編集」、「終了」の各ボタンから構成されている。
When it is determined that the input user ID and password are appropriate, the
検索要求部31は、検索要求画面(D1401)を表示する際に、検索部13の仮想分類機能を利用して、仮想分類表示部(D1402)を表示する。具体的には、検索要求部31は検索部13に、仮想分類の初期表示内容を送信するように要求し、検索部13は、仮想分類定義レコード230のうち、上位仮想分類ID234に“0(上位なし)”が設定されているレコード(すなわち最上位の仮想分類定義レコード230)の表示名232を、検索要求部31に送信し、検索要求部31は、受信した表示名を仮想分類表示部(D1402)に表示する。また、検索要求部31は、各表示名232の前に、「+」を四角く囲んだ図形を表示する。後述するように、クライアント3の操作者は、この図形をマウスでクリックする等の操作を行うことで、当該仮想分類に含まれている他の仮想分類やファイルを表示することができる。
When displaying the search request screen (D1401), the
例えば、仮想分類ID231、表示名232、条件233及び上位仮想分類ID234に、それぞれ“1”、“タイトル”、“条件なし”、“0(上位なし)”が設定された仮想分類定義レコード230と、それぞれ“2”、“作業報告”、“タイトル222aに「作業報告書」が含まれる”、“1”が設定された仮想分類定義レコード230が存在するとする。この場合、仮想分類表示部(D1402)のタイトルの前に表示された「+」を四角く囲んだ図形をクリックすると、図15のD1402に示すように、あたかも“タイトル”という名前のフォルダ内に“作業報告”という名前のフォルダが含まれているかのようなツリー表示がなされる。
更に、タイトル222aに”作業報告書“が含まれているインデックス2レコード220が4レコード存在し、それぞれのファイル名221bが”作業報告1.doc“、”作業報告2.doc“、”作業報告3.doc“及び”報告書.doc“だった場合、作業報告前に表示された「+」を四角く囲んだ図形をクリックすると、図15の仮想分類表示部(D1402)に示すように、“作業報告”という名前のフォルダ内に、”作業報告1.doc“、”作業報告2.doc“、”作業報告3.doc“及び”報告書.doc“の4つのファイルが含まれているかのようなツリー表示がなされる。
For example, a virtual
Furthermore, there are four
また、検索要求部31は、検索要求画面(D1401)を表示する際に、検索部13の物理階層作成機能を利用して、物理フォルダ表示部(D1403)を表示する。具体的には、検索要求部31は検索部13に、物理フォルダの初期表示内容を送信するように要求する。検索部13は、インデックス2レコード220のシステムメタデータ221内のファイルパス221cを参照してフォルダのツリー状階層を作成して、そのツリー状階層を検索要求部31に送信する。検索要求部31は、受信したツリー状階層に含まれるフォルダの名称を物理フォルダ表示部(D1403)に表示する。
また、検索要求部31は、各フォルダの名称の前に、「+」を四角く囲んだ図形を表示する。クライアント3の操作者は、この図形をマウスでクリックする等の操作を行うことで、当該フォルダに含まれている他のフォルダやファイルを表示することができる。
Further, when displaying the search request screen (D1401), the
Further, the
なお、検索条件部(D1404)及び検索結果部(D1405)の表示内容は図14に示すとおりであり、検索結果部(D1405)には検索結果は表示されていない。
クライアント3の操作者は入力装置32を使用して検索条件部(D1404)の各項目を入力する。検索条件部(D1404)に入力した項目は検索条件となり、例えば、全文に“現場”、タイトルに“作業報告”を入力した場合、インデックス1レコード210のキーワード214に“現場”が設定されており、かつ、インデックス2レコード220のタイトル222aに“作業報告”が設定されているファイルが検索され、検索結果部(D1405)に、検索結果がスクロール表示される。
The display contents of the search condition part (D1404) and the search result part (D1405) are as shown in FIG. 14, and no search result is displayed in the search result part (D1405).
The operator of the
検索条件部(D1404)の各項目については、さまざまな入力方法を可能にすることで検索の利便性を向上させることができる。例えば、全文に“not現場”、“現場 and 作業”等の論理式入力を可能にすればよい。なお、検索条件部(D1404)の入力項目は、図示した項目に限る必要はなく、例えばアクセス権限、セキュリティランク等、インデックス1ファイル21及びインデックス2ファイル22のデータ項目に合せて決めればよい。
検索要求部31は、検索要求画面表示(S1002)後、検索ボタン、メタデータ編集ボタンまたは終了ボタンが押下されるのを待つ(S1003、S1004)。検索ボタンが押された場合、すなわち検索要求を検知した場合(S1003:YES)、検索処理(S1005、S1006、S1007)を行う。また、終了ボタンが押された場合、すなわち終了要求を検知した場合(S1004:YES)、処理を終了する。
For each item of the search condition part (D1404), the convenience of search can be improved by enabling various input methods. For example, it may be possible to input logical expressions such as “not on-site” and “on-site and work” in the whole text. Note that the input items of the search condition part (D1404) are not limited to the illustrated items, and may be determined according to the data items of the
After the search request screen is displayed (S1002), the
なお、図10には示していないが、検索要求部31は、メタデータ編集ボタンが押された場合、メタデータ編集処理を行う。具体的には、検索要求部31は、クライアント3の操作者に編集対象のファイルを指定するように要求し、指定されたファイルの標準メタデータ222及びユーザ定義メタデータ223の、その時点での設定内容を表示する。そして、検索要求部31は、クライアント3の操作者が入力した内容で、標準メタデータ222及びユーザ定義メタデータ223の設定内容を変更する。このとき、前述したように、標準メタデータ222の直接変更後ファイル更新有無に“更新有り”が設定されている場合、表示装置33にその旨のメッセージを表示してもよい。
Although not shown in FIG. 10, the
検索要求部31は、検索要求を検知した場合、検索条件部(D1404)の入力内容(検索条件)を、検索部13に送信する(S1005)。例えば、全文に“現場”、タイトルに“作業報告”が入力された場合、“全文=現場 タイトル=作業報告”といった検索条件式を作成し、ログイン画面で入力された利用者IDとともに、検索部13に送信する。ここで、検索条件式は検索部13によって解釈される式であり、検索部13が解釈可能な構文規則等に従って作成すればよい。
検索要求部31は、検索条件式を検索部13に送信した後、検索部13から検索結果を受信するまで待つ(S1006)。検索結果を受信する(S1006:YES)と、検索結果を検索要求画面の検索結果部(D1405)に表示し(S1007)、再び、検索ボタン等が押下されるのを待つ(S1003、S1004)。
When the
After transmitting the search condition formula to the
図11は、検索部13の動作の一例を示すフローチャートである。
ファイル検索サーバ1がクライアント3からの検索要求を受信すると、検索部13が起動される。
検索部13は、まず、検索要求に含まれる検索条件式を解析し、メタデータ検索を行うか、すなわち、インデックス2ファイル22のシステムメタデータ221等を参照して検索する必要があるか判定する(S1101)。例えば、検索条件式が“全文=現場 タイトル=作業報告”である場合、標準メタデータ222のタイトル222aを参照して検索する必要があると判定する。また、例えば、検索条件式が“全文=現場”である場合、メタデータ検索を行なわず、全文検索のみ行うと判定する。
検索部13は、メタデータ検索を行うと判定した場合(S1101:YES)、インデックス2ファイル22による検索を行う(S1102)。具体的には、検索条件式から、システムメタデータ221等に関する条件を抽出し、条件に合致するインデックス2レコード220を選択する(以下「メタデータ合致レコード」という。)。例えば、検索条件式が“全文=現場 タイトル=作業報告”である場合、標準メタデータ222のタイトル222aに“作業報告”が設定されているインデックス2レコード220を選択する。
FIG. 11 is a flowchart illustrating an example of the operation of the
When the
The
When it is determined that the metadata search is to be performed (S1101: YES), the
検索部13は、メタデータ検索(S1102)を行った後、又はメタデータ検索を行わないと判定した場合(S1101:NO)、全文検索を行うか、すなわち、インデックス1ファイル21のキーワード214を参照して検索する必要があるか判定する(S1103)。例えば、検索条件式が“全文=現場 タイトル=作業報告”または“全文=現場”である場合、キーワード214を参照して検索する必要があると判定する。
検索部13は、全文検索を行うと判定した場合(S1103:YES)、インデックス1ファイル21による全文検索を行う(S1104)。具体的には、検索部13は、検索条件式から、全文検索の条件を抽出し、メタデータ検索(S1102)を行った場合には、メタデータ合致レコードのファイルパス221c、及び検索要求部31から受信した利用者IDとともに、インデックス1検索部14に渡す。また、検索部13は、メタデータ検索を行なわなかった場合には、インデックス2ファイル22の全てのインデックス2レコード220をメタデータ合致レコードとして選択し、当該レコードのファイルパス221cを、全文検索の条件及び検索要求部31から受信した利用者IDとともに、インデックス1検索部14に渡す。
インデックス1検索部14は、後述するように、受け取った全文検索の条件等を参照して検索を行い、最終的に検索結果とすべきインデックス2レコード220(以下「キーワード合致レコード」という。)のファイルパス221cを検索部13に渡す。
After performing the metadata search (S1102) or when determining that the metadata search is not performed (S1101: NO), the
When it is determined that the full text search is performed (S1103: YES), the
As will be described later, the
検索部13は、全文検索を行わないと判定した場合(S1103:NO)は、メタデータ合致レコードを検索要求部31への送信対象とし、一方、全文検索を実行(S1104)した場合は、キーワード合致レコードを検索要求部31への送信対象とする。検索部13は、送信対象としたインデックス2レコード220の各データ項目を検索要求部31に送信する(S1105)。
検索部13は、送信後、処理を終了する。
When it is determined that the full text search is not performed (S1103: NO), the
The
図12は、インデックス1検索部14の動作の一例を示すフローチャートである。
インデックス1検索部14は、例えば、各メタデータ合致レコードに対応するインデックス1レコード210を検索する(S1201)。具体的には、インデックス1検索部14は、検索部13から受け取ったメタデータ合致レコードのファイルパス221c全てにつき、ファイルパス212に同一値が設定されているインデックス1レコード210を参照し、当該レコードのアクセス権限213により、検索部13から受信した利用者IDがアクセス権限を有するか判定する。そして、アクセス権限を有すると判定した場合、当該レコードのキーワード214が、検索部13から受信した全文検索の条件を満足するか判定する。
インデックス1検索部14は、全文検索の条件を満足すると判定されたファイルパス221cを検索部13に渡し(S1202)、処理を終了する。
FIG. 12 is a flowchart showing an example of the operation of the
For example, the
The
ところで、インデックス1検索部14を実現するプログラムとして、既に存在するさまざまな全文検索プログラムを使用するような場合、インデックス1作成部11も当該インデックス1検索部14に対応したプログラムを使用することになる。その場合、一般的には、インデックス1ファイル21に係わる検索対象ファイル43とインデックス2ファイル22に係わる検索対象ファイル43が異なり、インデックス2ファイル22とは関係なく全文検索の条件によりインデックス1ファイル21が検索されることになる。そうすると、例えば、インデックス2ファイル22に係わる検索対象ファイル43として、クライアント3の操作者が普段よく使用するファイルを設定した場合も、クライアント3の操作者が全文検索のみを要求すると、インデックス1ファイル21が検索されてしまうので、普段よく使用しないファイルも検索結果として表示されることになる。
By the way, when using various existing full-text search programs as a program for realizing the
このように検索されるのが好ましい場合もあるが、好ましくない場合もある。そこで、全文検索のみを行う場合に、インデックス2ファイル22が作成された検索対象ファイル43のみを検索対象とするか(すなわち、メタデータ作成済みファイルのみを検索対象とするか)、それとも、インデックス2ファイル22に係わらずインデックス1ファイル21の検索対象ファイル43全てを検索対象とするか(すなわち、メタデータ未作成のファイルも検索対象とするか)を、検索要求画面で指定できるようにしてもよい。
It may be preferable to search in this way, but it may not be preferable. Therefore, when only full-text search is performed, only the
このようにした場合、メタデータ未作成のファイルも検索対象とするように指定された場合は、インデックス1検索部14はインデックス2ファイル22とは関係なく全文検索の条件によりインデックス1ファイル21を検索する。一方、メタデータ作成済みファイルのみを検索対象とするように指定された場合は、検索部13は、メタデータ検索が要求されていない場合(図11のS1101でNOの場合)も、インデックス2ファイル22の全てのインデックス2レコード220をメタデータ合致レコードとして選択し、当該レコードのファイルパス221cを、全文検索の条件及び検索要求部31から受信した利用者IDとともに、インデックス1検索部14に渡す。
In this case, when it is specified that a file for which metadata has not been created is also set as a search target, the
<仮想分類動的生成機能についての補足説明>
図22は、仮想分類動的生成における検索部13等の動作の一例を示すフローチャートである。
検索部13は、まず、検索要求に含まれる検索条件式を解析し、メタデータ検索かどうかを判定する(S1301)。
検索部13は、メタデータ検索を行うと判定した場合(S1301:YES)、キーワード辞書ファイル25の検索を行う(S1302)。具体的には、メタデータ検索のキーワードがキーワード辞書ファイル25のキーワード253に設定されているキーワード辞書レコード250を選択する(以下「キーワード辞書合致レコード」という。)。例えば、検索条件式が“タイトル=設計書”である場合、キーワード辞書ファイル25のキーワード253に“設計書”が設定されているキーワード辞書レコード250を選択する。
検索部13は、メタデータ検索キーワードがキーワード辞書ファイル25に存在する場合(S1303:YES)、キーワード辞書合致レコードのキーワードID251で、キーワード関連定義ファイル26の検索を行う(S1304)。具体的には、キーワード辞書合致レコードのキーワードID251が“1”の場合、キーワード関連定義ファイル26のキーワードID261に“1”が設定されているキーワード関連定義レコード260を選択する(以下「キーワード関連合致レコード」という。)。
<Supplementary explanation about the virtual classification dynamic generation function>
FIG. 22 is a flowchart illustrating an example of the operation of the
First, the
When it is determined that the metadata search is performed (S1301: YES), the
When the metadata search keyword exists in the keyword dictionary file 25 (S1303: YES), the
検索部13は、キーワード辞書合致レコードのキーワードID251がキーワード関連定義ファイル26に存在する場合(S1305:YES)、キーワード関連合致レコードの関連キーワードID262に設定されているキーワードIDの数分、関連キーワードID262に設定されているキーワードIDでキーワード辞書ファイル25を検索する(S1306)。具体的には、キーワード関連合致レコードの関連キーワードID262に“2, 3, 4”が設定されている場合、キーワード辞書ファイル25のキーワードID251に“2”または“3”または“4”が設定されているキーワード辞書レコード250を選択する(以下「関連キーワード辞書合致レコード」という。)。
さらに、図示していないが、キーワード関連合致レコードの最大キーワード長263に設定されている値が“1”以上の場合、関連キーワード辞書合致レコードを関連キーワード辞書合致レコードのキーワードの長さが最大キーワード長263の値以下のレコードのみに絞り込む。
さらに、図示していないが、キーワード関連合致レコードの言語条件264が“0(同一言語のみ)”に設定されている場合、関連キーワード辞書合致レコードを関連キーワード辞書合致レコードの言語コード252とキーワード辞書合致レコードの言語コード252が同一のレコードのみに絞り込む。
When the
Further, although not shown, when the value set in the
Further, although not shown, when the
検索部13は、メタデータ検索キーワードと、上述した方法により選択されて絞り込まれたキーワード辞書レコード250から仮想分類定義レコードを作成する(S1307)。
具体的には、検索部13は、メタデータ検索キーワードを仮想分類定義レコード230の表示名232に設定して、最上位の仮想分類定義レコード230を作成する。例えば、メタデータ検索条件が“タイトル=設計書”である場合、仮想分類ID231、表示名232、条件233及び上位仮想分類ID234に、それぞれ“1”、“設計書”、“条件なし”、“0(上位なし)”を設定し仮想分類定義レコード230を作成する(以下「動的生成ルート仮想分類レコード」という。)。
検索部13は、次に、関連キーワード辞書合致レコードから動的生成ルート仮想分類レコードの下位の仮想分類定義レコード230を作成する。例えば、メタデータ検索条件が“タイトル=設計書”で、メタデータ検索キーワード“設計書”に関連するキーワードが“仕様書”と“定義書”である場合、仮想分類ID231、表示名232、条件233及び上位仮想分類ID234に、それぞれ“2”、“仕様書”、“タイトル=仕様書”、“1”を設定した仮想分類定義レコード230と、それぞれ“3”、“定義書”、“タイトル=定義書”、“1”を設定した仮想分類定義レコード230を作成する(以下「動的生成仮想分類レコード」という。)。このとき、条件233は、「メタデータ検索条件の項目(“タイトル”)=関連するキーワード(“仕様書”もしくは“定義書”)」という条件を作成し設定する。また、上位仮想分類ID234には、動的生成ルート仮想分類レコードの仮想分類ID231の値“1”を設定する。
The
Specifically, the
Next, the
検索部13は、動的生成ルート仮想分類レコードと動的生成仮想分類レコードとに基づいて仮想分類定義を作成する。仮想分類定義の作成が終了すると、検索部13は、作成した仮想分類定義を検索要求部31に送信する(S1308)。なお、検索部13は、動的生成ルート仮想分類レコードと動的生成仮想分類レコードを含む仮想分類定義ファイルを記憶装置2に記憶させず、ファイル検索サーバ1のメモリに記憶するのみとしてもよい。
検索要求部31は、受信した仮想分類定義を、仮想分類機能と同様に図23の仮想分類表示部(D1402)にツリー表示する。
The
The
<メタデータ検索と全文検索の両方を行う場合の処理についての補足説明>
第1の実施形態のファイル検索システムでは、上述したとおり、クライアント3の操作者が全文検索を要求した場合にのみ、インデックス1ファイル21を利用して検索を行う。ところで、一般に全文検索を行わない場合に比べて、全文検索に要する処理時間は長くなるので、クライアント3の操作者が検索要求してから検索結果が表示されるまでの待ち時間が長くなる。そこで、クライアント3の操作者が思いがけずに長時間待たされることを防止することが望ましい。
以下、メタデータ検索と全文検索の両方を行う場合(以下「複合検索」という。)において、上記の対策を行う場合の検索部13等の動作について説明する。
<Supplementary explanation about processing when performing both metadata search and full-text search>
In the file search system of the first embodiment, as described above, the search is performed using the
Hereinafter, when both the metadata search and the full-text search are performed (hereinafter referred to as “composite search”), the operation of the
図16は、複合検索における検索部13等の動作の一例を示すフローチャートである。
図16のS1650〜S1655は、複合検索時に、図11のS1104〜S1105において検索部13が行う処理の詳細を示しており、S1601〜S1607は、当該処理に対応して検索要求部31が図10のS1006〜S1007において行う処理の詳細を示している。
FIG. 16 is a flowchart illustrating an example of the operation of the
S1650 to S1655 in FIG. 16 show details of processing performed by the
検索部13は、検索結果件数、すなわちメタデータ検索で検索されたメタデータ合致レコードのレコード数を、予め定めた所定件数(以下「最大検索件数」という。)と比較する(S1650)。
そして、メタデータ合致レコードのレコード数、すなわち全文検索対象数が最大検索件数より大きい場合(S1650:YES)には、検索要求部31に、処理続行有無を確認するメッセージを送信し(S1651)、検索要求部31から検索処理を続行するか否かの確認結果を受信するまで待つ(S1652)。
The
When the number of metadata matching records, that is, the number of full-text search targets is larger than the maximum number of searches (S1650: YES), a message for confirming whether or not processing is continued is transmitted to the search request unit 31 (S1651). It waits until receiving a confirmation result as to whether or not to continue the search process from the search request unit 31 (S1652).
検索要求部31は、検索部13から検索処理を続行するか否かを確認するメッセージを受信すると、当該メッセージを表示装置33に表示し、クライアント3の操作者に検索処理を続行するか否かの応答を要求する(S1601)。具体的には、例えば、ポップアップ画面に、確認メッセージと、「検索続行」及び「中止」のボタンを表示し、いずれかのボタンがクリックされるまで待てばよい。
検索要求部31は、クライアント3の操作者が「中止」のボタンをクリックする等により検索中止を指示した場合(S1602:NO)、検索部13に「検索中止」指示を送信して、処理を終了する(S1603)。従って、検索要求部31は、検索結果を表示することなく、再び、検索要求画面で検索ボタン等が押下されるのを待つ(図10のS1003、S1004)。
検索要求部31は、クライアント3の操作者が「検索続行」のボタンをクリックする等により検索続行を指示した場合(S1602でYESの場合)、検索部13に「検索続行」指示を送信し、図には明示していないが、検索部13から検索結果を受信するまで待つ。
When receiving a message confirming whether or not to continue the search process from the
When the operator of the
When the operator of the
検索部13は、検索要求部31から「検索中止」指示又は「検索続行」指示を受信すると、受信した指示によって処理を変える(S1652)。すなわち、「検索中止」指示を受信した場合は(S1652:NO)処理を終了する。一方、「検索続行」指示を受信した場合は(S1652:YES)、メタデータ合致レコードのうち最大検索件数分のレコードのファイルパス221c、全文検索の条件及び検索部31から受信した利用者IDをインデックス1検索部14に渡して、全文検索を実行させる(S1653)。
なお、全文検索対象数が最大検索件数以下の場合(S1650:NO)には、検索要求部31に、処理続行有無を確認するメッセージを送信することなく、メタデータ合致レコードのファイルパス221c、全文検索の条件及び検索要求部31から受信した利用者IDをインデックス1検索部14に送信して、全文検索を実行させる(S1653)。
When the
If the number of full-text search targets is equal to or less than the maximum number of searches (S1650: NO), the
全文検索が終了すると、検索部13は、キーワード合致レコードの各データ項目を検索要求部31に送信する(S1654)。このとき、全てのメタデータ合致レコードについて全文検索を実行したか、それとも全文検索未実行のメタデータ合致レコードが残っているかの識別も送信する。
検索部13は、次に、検索結果部(D1405)に追加表示が可能かどうかを判定する(S1655)。具体的には、メタデータ合致レコードに全文検索未実行のレコードが残っており、かつ検索要求部31に送信した検索結果の累計値が、検索要求画面(D1401)の検索結果部(D1405)に表示可能な件数として予め定めた件数(以下「最大表示件数」という。)より小さい場合(S1655:YES)には、再び、検索要求部31から検索処理を続行するか否かの確認結果を受信するまで待つ(S1652)。一方、検索結果部(D1405)に追加表示できない場合(S1655:NO)には、検索部13は処理を終了する。
When the full-text search is completed, the
Next, the
検索要求部31は、検索部13から検索結果を受信すると、検索結果部(D1405)に検索結果を表示する(S1605)。なお、前述したように、検索結果部(D1405)に追加表示が可能な限り、メタデータ合致レコードを対象とした全文検索が繰り返し実行される。従って、検索結果は検索結果部(D1405)に追加表示する。例えば、1回目の全文検索の結果が3件で、2回目の全文検索の結果が4件の場合、検索結果部(D1405)には7件の検索結果が表示される。
When receiving the search result from the
検索要求部31は、次に、全文検索未実行のメタデータ合致レコードが残っており(前述したように、検索部13から、全てのメタデータ合致レコードについて全文検索を実行したか、それとも全文検索未実行のメタデータ合致レコードが残っているかの識別が送信される)、かつ検索結果部(D1405)に追加表示が可能かどうか判定する(S1606)。検索要求部31は、全文検索未実行のメタデータ合致レコードが残っており、かつ検索結果部(D1405)に追加表示が可能な場合(S1606:YES)には、処理続行有無を確認するメッセージを表示装置33に表示し(S1607)、再び、クライアント3の操作者に検索処理を続行するか否かの応答を要求する(S1602)。
Next, the
一方、検索要求部31は、全てのメタデータ合致レコードについて全文検索を実行したか、又は検索結果部(D1405)に追加表示ができない場合(S1606:NO)には、処理を終了する。従って、検索要求部31は、検索結果部(D1405)にそれまでの検索結果を表示して、再び、検索ボタン等が押下されるのを待つ(図10のS1003、S1004)。
On the other hand, if the
以上のように、全文検索対象数が最大検索件数より大きい場合に、クライアント3の操作者に検索処理を続行するか否かを問い合わせ、「検索続行」が指示された場合に全文検索する。従って、クライアント3の操作者は、検索時間が長くなりそうな場合には、いったん検索処理を中止し、例えば、メタデータの検索条件をさらに絞り込んで検索を行うことができる。
また、全文検索は最大検索件数単位で繰り返し行われ、全文検索を行うたびに、検索結果が追加表示されるので、クライアント3の操作者は、比較的短時間のうちに、検索結果を次々と確認することができる。
As described above, when the full-text search target number is larger than the maximum search number, the operator of the
Further, the full-text search is repeatedly performed in units of the maximum number of searches, and each time a full-text search is performed, the search results are additionally displayed. Therefore, the operator of the
<関連検索についての補足説明>
図17は、検索要求画面(D1401)に含まれる検索結果部(D1405)の表示内容を例示する。
図17においては、ファイル名とファイルパスが表示されているが、この他に、タイトル、文書記載日等、インデックス2レコード220等のデータ項目を表示してもよいし、例えば、インデックス2レコード220に検索対象ファイル43の内容の一部を設定しておき、これを表示してもよい。
また、図17において点線で囲った関連検索指示部(D1701)には、関連定義レコード240の表示名242に設定された名称が表示される。図17の例においては、表示名242にそれぞれ“タイトル”と“記載日付”が設定された2つの関連定義レコード240が存在しており、この表示名242が表示されている。
<Supplementary explanation about related search>
FIG. 17 illustrates the display contents of the search result part (D1405) included in the search request screen (D1401).
In FIG. 17, the file name and file path are displayed. In addition to this, data items such as the
In addition, the name set in the
この状態で、クライアント3の操作者が、例えば“タイトル”と表示された部分をクリックすると、検索要求部31は、検索部13に、“タイトル”に係わる関連検索を行うように要求する。具体的には、表示装置33には表示されていないが、検索結果とともに検索部13から受信した、当該検索結果ファイルに係わるファイルID221a及び“タイトル”に係わる関連定義ID241を、関連検索要求とともに検索部13に送信する。
検索部13は関連検索要求を受信すると、受信した関連定義ID241が設定された関連定義レコード240の条件243を参照し、条件243に設定されている条件に従って、インデックス2レコード220を検索し、検索結果を検索要求部31に送信する。
In this state, when the operator of the
Upon receiving the related search request, the
例えば、関連定義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件を超える場合は、別画面に表示するようにしてもよい。
For example, there is a
Then, the
Note that the number of related search results displayed may not be particularly limited. For example, only a maximum of 5 items may be displayed, and when the number of related search results exceeds 5, the number may be displayed on a separate screen.
<ファイル検索システムのその他の実施形態>
本発明に係わるファイル検索システムは、第1の実施形態に限られず、さまざまな実施形態とすることができる。その1例を以下に説明する。
<Other Embodiments of File Search System>
The file search system according to the present invention is not limited to the first embodiment, and can be various embodiments. One example will be described below.
図19は、本発明の第2の実施形態に係るファイル検索システムの構成の一例を示す。
第2の実施形態においては、第1の実施形態と異なり、ファイル検索サーバ1は、インデックス1作成部11及びインデックス1検索部14を備えていない。
そのかわり、ファイル検索サーバ5が、通信回線9によって、クライアント3、ファイルサーバ4、WEBサーバ7及びファイル検索サーバ1と通信可能に接続されている。ファイル検索サーバ5は、コンピュータであり、図示しないCPUおよび主記憶装置、記憶装置6を備えている。ファイル検索サーバ5の主記憶装置には、所定のプログラムが記憶されている。CPUがその命令コードを実行することにより、インデックス1作成部11、インデックス1検索部14の各機能が実現される。また、インデックス1ファイル21はファイル検索サーバ1の記憶装置2には記憶されず、ファイル検索サーバ5の記憶装置6に記憶される。
第2の実施形態と第1の実施形態の構成上の大きな相違点は以上のとおりである。
FIG. 19 shows an example of the configuration of a file search system according to the second embodiment of the present invention.
In the second embodiment, unlike the first embodiment, the
Instead, the
The major differences in configuration between the second embodiment and the first embodiment are as described above.
第2の実施形態のファイル検索システムにおいては、クライアント3、ファイルサーバ4、WEBサーバ7、ファイル検索サーバ1及びファイル検索サーバ5が、通信回線9によって相互に通信可能に接続されている。このような構成により、例えば、ある組織がデータセンタに設置されたファイルサーバ4にファイルを記憶させているとき、ファイルサーバ4に記憶された検索対象ファイル43について、インデックス2ファイル22、仮想分類定義ファイル23、関連定義ファイル24、キーワード辞書ファイル25及びキーワード関連定義ファイル26を作成することで、メタデータ検索、仮想分類表示、物理フォルダ表示及び関連検索を可能にしつつ、当該組織が管理していないWEBサーバ7の記憶装置71に記憶された検索対象ファイル72については、ファイル検索サーバ5のインデックス1作成部11が、いわゆるWEBクローリングにより、例えばApache(Apacheは登録商標)等のWEBサーバプログラムを介して、インデックス1ファイル21を作成して、全文検索を可能にすることができる。
In the file search system of the second embodiment, a
また、第2の実施形態においては、ファイル検索サーバ5は、ファイル検索を行おうとする組織が設置する必要はなく、世の中に存在しているファイル検索サーバの機能を使用して全文検索等を行うことができるので、柔軟性・拡張性の高い検索システムを構築することができる。
In the second embodiment, the
以上説明したように、本発明によれば、全文検索を可能にすべきファイルと全文検索が不要なファイルとが存在しているファイル検索環境において、効率的にファイルを検索することができる。
例えば、組織内において作成された文書等のファイルについては、インデックス2ファイル22を作成しておき、メタデータ検索を行えばよい。メタデータ検索キーワードを用いてインデックス2ファイル22を検索することで検索結果として表示されるファイルの数を抑えることができる。たとえ、ファイルを間違ったフォルダに記憶したような場合でも、ファイルの使用目的、タイトル等が記憶された小容量のインデックス2ファイル22があれば、当該ファイルを検索できる場合が多い。
一方、例えば、特許文献、技術論文等、組織外部から入手したファイルや、WEBサーバなど、組織外部のサーバに存在しているファイルについては、入手した時点では意図しなかった用途で参照することも多く、キーワードによる全文検索が必要な場合も多い。このようなファイルについてはインデックス1ファイル21を作成しておき、全文検索を行えばよい。
As described above, according to the present invention, it is possible to efficiently search for a file in a file search environment in which there are files that should be capable of full text search and files that do not require full text search.
For example, for a file such as a document created in an organization, an
On the other hand, files obtained from outside the organization, such as patent documents and technical papers, and files existing on a server outside the organization, such as a WEB server, may be referred to for purposes that were not intended at the time of acquisition. In many cases, full text search using keywords is required. For such a file, an
1…ファイル検索サーバ、11…インデックス1作成部、12…インデックス2作成部、13…検索部、14…インデックス1検索部、2…記憶装置、21…インデックス1ファイル、22…インデックス2ファイル、23…仮想分類定義ファイル、24…関連定義ファイル、25…キーワード辞書ファイル、26…キーワード関連定義ファイル、3…クライアント、31…検索要求部、32…入力装置、33…表示装置、4…ファイルサーバ、41…ファイル管理部、42…記憶装置、43…検索対象ファイル、5…ファイル検索サーバ、6…記憶装置、7…WEBサーバ、71…記憶装置、72…検索対象ファイル、9…通信回線
DESCRIPTION OF
Claims (5)
前記ファイル取得手段によって取得された第1の検索対象ファイル群に含まれる各検索対象ファイルについて、当該各検索対象ファイルの名前であるファイル名と、当該各検索対象ファイルの記憶されている記憶位置を示すファイルパスと、当該各検索対象ファイルの内容から抽出された複数のキーワードとを有するインデックス1レコードを所定のタイミングで作成し、当該各インデックス1レコードを含むインデックス1ファイルを記憶するインデックス1ファイル記憶手段と、
前記ファイル取得手段によって取得された第2の検索対象ファイル群に含まれる各検索対象ファイルについて、当該各検索対象ファイルの名前であるファイル名と当該各検索対象ファイルの記憶されている記憶位置を示すファイルパスと、当該各検索対象ファイルの内容を代表する1以上のメタデータとを有するインデックス2レコードを所定のタイミングで作成し、当該各インデックス2レコードを含むインデックス2ファイルを記憶するインデックス2ファイル記憶手段と、
メタデータに関する条件と全文検索の条件のいずれか一方または両方を含む検索条件を受け付ける検索条件受付手段と、
前記検索条件受付手段によって受け付けられた検索条件がメタデータに関する条件を含む場合に、前記インデックス2ファイルに含まれる各インデックス2レコードを当該メタデータに関する条件に基づいて検索し、当該メタデータに関する条件を満たすインデックス2レコードを取得するメタデータ検索手段と、
前記検索条件受付手段によって受け付けられた検索条件がメタデータに関する条件および全文検索の条件を含む場合には、前記インデックス1ファイルに含まれる各インデックス1レコードのうち、前記メタデータ検索手段によって取得されたインデックス2レコードに含まれるファイルパスと同一のファイルパスを含む各インデックス1レコードを前記全文検索の条件に基づいて検索し、前記検索条件受付手段によって受け付けられた検索条件がメタデータに関する条件を含まず、全文検索の条件を含む場合には、前記インデックス1ファイルに含まれる全てのインデックス1レコードを前記全文検索の条件に基づいて検索し、前記全文検索の条件を満たすインデックス1レコードを取得するキーワード検索手段と、
を備えることを特徴とするファイル検索装置。 A file acquisition means for acquiring a first search target file group consisting of a plurality of search target files and a second search target file group consisting of a plurality of search target files from the storage device;
For each search target file included in the first search target file group acquired by the file acquisition means, the file name that is the name of each search target file and the storage location in which each search target file is stored Index 1 file storage for creating an index 1 record having a specified file path and a plurality of keywords extracted from the contents of each search target file at a predetermined timing, and storing the index 1 file including each index 1 record Means,
For each search target file included in the second search target file group acquired by the file acquisition means, the file name that is the name of each search target file and the storage location in which each search target file is stored are shown. Index 2 file storage for creating an index 2 record having a file path and one or more metadata representing the contents of each search target file at a predetermined timing and storing an index 2 file including each index 2 record Means,
Search condition receiving means for receiving a search condition including one or both of a condition relating to metadata and a condition of full-text search;
When the search condition received by the search condition receiving means includes a condition related to metadata, each index 2 record included in the index 2 file is searched based on the condition related to the metadata, and the condition related to the metadata is set. A metadata search means for acquiring index 2 records satisfying;
When the search condition received by the search condition receiving means includes a metadata-related condition and a full-text search condition, it is acquired by the metadata search means out of each index 1 record included in the index 1 file . Each index 1 record including the same file path as the file path included in the index 2 record is searched based on the full-text search condition, and the search condition received by the search condition receiving means does not include a condition related to metadata. When the full text search condition is included, a keyword search that searches all index 1 records included in the index 1 file based on the full text search condition and obtains an index 1 record that satisfies the full text search condition. Means,
A file search apparatus comprising:
前記仮想分類定義ファイル記憶手段によって記憶された前記仮想分類定義ファイルに含まれる各仮想分類定義レコードのインデックス2レコード有無情報と分類条件と上位階層有無情報と上位階層識別情報とに基づいて、各仮想分類と各インデックス2レコードに対応する検索対象ファイルとによって構成されるツリー状の階層構造を示す仮想分類定義情報を作成する仮想分類定義手段と、
前記仮想分類定義手段によって作成された仮想分類定義情報と、当該仮想分類定義情報によって示されるツリー状の階層構造を構成する各仮想分類の仮想分類表示名および各検索対象ファイルのファイル名とを出力する仮想分類出力手段と、
を備えることを特徴とする請求項1に記載のファイル検索装置。 A virtual classification display name indicating the name of the virtual classification, an index 2 record presence / absence information indicating whether any index 2 record included in the index 2 file may be classified into the virtual classification, and the index 2 file In order to identify the classification condition for classifying the search target file corresponding to each index 2 record included in the virtual classification into the virtual classification, the upper hierarchy presence / absence information indicating the presence / absence of the upper hierarchy virtual classification, and the upper hierarchy virtual classification Virtual classification definition file storage means for storing a virtual classification definition file including a plurality of virtual classification definition records having higher layer identification information;
Based on the index 2 record presence / absence information, the classification condition, the upper hierarchy presence / absence information, and the upper hierarchy identification information of each virtual classification definition record included in the virtual classification definition file stored by the virtual classification definition file storage unit, Virtual classification definition means for creating virtual classification definition information indicating a tree-like hierarchical structure constituted by a classification and a search target file corresponding to each index 2 record;
Outputs the virtual classification definition information created by the virtual classification definition means, the virtual classification display name of each virtual classification constituting the tree-like hierarchical structure indicated by the virtual classification definition information, and the file name of each search target file Virtual classification output means,
The file search apparatus according to claim 1, further comprising:
前記キーワード辞書ファイルに含まれるキーワード辞書レコードのキーワード識別情報と、当該キーワード識別情報に関連する1以上の前記キーワード辞書ファイルに含まれるキーワード辞書レコードのキーワード識別情報とを有する複数のキーワード関連定義レコードを含むキーワード関連定義ファイルを記憶するキーワード関連定義ファイル記憶手段と、
前記メタデータ検索手段によって検索を行う際に、当該検索のメタデータに関する条件に含まれるキーワードと、前記キーワード辞書ファイルに含まれる各キーワード辞書レコードのキーワードおよびキーワード識別情報と、前記キーワード関連定義ファイルに含まれる各キーワード関連定義レコードのキーワード識別情報および当該キーワード識別情報に関連する1以上のキーワード識別情報とに基づいて、前記仮想分類定義レコードを生成する仮想分類動的生成手段と、
を備えることを特徴とする請求項2に記載のファイル検索装置。 Keyword dictionary file storage means for storing a keyword dictionary file including a plurality of keyword dictionary records having a keyword and keyword identification information for identifying the keyword;
A plurality of keyword related definition records having keyword identification information of a keyword dictionary record included in the keyword dictionary file and keyword identification information of a keyword dictionary record included in one or more of the keyword dictionary files related to the keyword identification information. Keyword-related definition file storage means for storing a keyword-related definition file including:
When a search is performed by the metadata search means, the keywords included in the conditions relating to the metadata of the search, the keywords and keyword identification information of each keyword dictionary record included in the keyword dictionary file, and the keyword related definition file Virtual classification dynamic generation means for generating the virtual classification definition record based on the keyword identification information of each keyword-related definition record included and one or more keyword identification information related to the keyword identification information;
The file search apparatus according to claim 2 , further comprising:
関連定義レコードを識別するための関連定義レコード識別情報と、関連定義の名称を示す表示名と、インデックス2レコードを検索する検索条件を取得するための検索条件取得条件とを有する1以上の関連定義レコードを含む関連定義ファイルを記憶する関連定義ファイル記憶手段と、
前記メタデータ検索手段によって取得されたインデックス2レコードのファイル名およびファイルパスと、前記関連定義ファイル記憶手段に記憶されている関連定義ファイルの各関連定義レコードに含まれる表示名とを出力する関連定義情報出力手段と、
前記関連定義情報出力手段によって出力された各表示名の中から選択された表示名に対応する関連定義レコード識別情報と、選択された当該表示名とともに前記関連定義情報出力手段によって出力されたファイル名およびファイルパスに対応するインデックス2レコードのファイル識別情報とを受け付ける受付手段と、
前記受付手段によって受け付けられたファイル識別情報を含むインデックス2レコードと、前記受付手段によって受け付けられた関連定義レコード識別情報を含む前記関連定義ファイル記憶手段に記憶されている関連定義レコードの検索条件取得条件とに基づいて検索条件を取得する検索条件取得手段と、
前記インデックス2ファイルに含まれる各インデックス2レコードを検索して、前記検索条件取得手段によって取得された検索条件を満たすインデックス2レコードを取得し、取得した当該インデックス2レコードに含まれるファイル名とファイルパスを出力する関連検索手段と、
を備えることを特徴とする請求項1乃至3のいずれか1項に記載のファイル検索装置。 The index 2 record includes file identification information for identifying a search target file corresponding to the index 2 record;
One or more relation definitions having relation definition record identification information for identifying the relation definition record, a display name indicating the name of the relation definition, and a search condition acquisition condition for acquiring the search condition for searching the index 2 record An associated definition file storage means for storing an associated definition file including a record;
Outputting said metadata search means acquires index 2 record by file name and file path, and a display name that is part of each relevant definition record associated definition files stored in the associated definition file storage unit Related definition information output means,
Related definition record identification information corresponding to the display name selected from each display name output by the related definition information output means, and the file name output by the related definition information output means together with the selected display name Receiving means for receiving the file identification information of the index 2 record corresponding to the file path ;
Search condition acquisition condition for related definition record stored in the related definition file storage means including the index 2 record containing the file identification information accepted by the accepting means and the related definition record identification information accepted by the accepting means a search condition acquisition unit that acquires a search condition based on bets,
Each index 2 record included in the index 2 file is searched, an index 2 record satisfying the search condition acquired by the search condition acquisition unit is acquired, and the file name and file path included in the acquired index 2 record Related search means for outputting
The file search apparatus according to any one of claims 1 to 3, further comprising:
記憶装置から、複数の検索対象ファイルからなる第1の検索対象ファイル群と、複数の検索対象ファイルからなる第2の検索対象ファイル群を取得するファイル取得手段と、
前記ファイル取得手段によって取得された第1の検索対象ファイル群に含まれる各検索対象ファイルについて、当該各検索対象ファイルの名前であるファイル名と、当該各検索対象ファイルの記憶されている記憶位置を示すファイルパスと、当該各検索対象ファイルの内容から抽出された複数のキーワードとを有するインデックス1レコードを所定のタイミングで作成し、当該各インデックス1レコードを含むインデックス1ファイルを記憶するインデックス1ファイル記憶手段と、
前記ファイル取得手段によって取得された第2の検索対象ファイル群に含まれる各検索対象ファイルについて、当該各検索対象ファイルの名前であるファイル名と当該各検索対象ファイルの記憶されている記憶位置を示すファイルパスと、当該各検索対象ファイルの内容を代表する1以上のメタデータとを有するインデックス2レコードを所定のタイミングで作成し、当該各インデックス2レコードを含むインデックス2ファイルを記憶するインデックス2ファイル記憶手段と、
メタデータに関する条件と全文検索の条件のいずれか一方または両方を含む検索条件を受け付ける検索条件受付手段と、
前記検索条件受付手段によって受け付けられた検索条件がメタデータに関する条件を含む場合に、前記インデックス2ファイルに含まれる各インデックス2レコードを当該メタデータに関する条件に基づいて検索し、当該メタデータに関する条件を満たすインデックス2レコードを取得するメタデータ検索手段と、
前記検索条件受付手段によって受け付けられた検索条件がメタデータに関する条件および全文検索の条件を含む場合には、前記インデックス1ファイルに含まれる各インデックス1レコードのうち、前記メタデータ検索手段によって取得されたインデックス2レコードに含まれるファイルパスと同一のファイルパスを含む各インデックス1レコードを前記全文検索の条件に基づいて検索し、前記検索条件受付手段によって受け付けられた検索条件がメタデータに関する条件を含まず、全文検索の条件を含む場合には、前記インデックス1ファイルに含まれる全てのインデックス1レコードを前記全文検索の条件に基づいて検索し、前記全文検索の条件を満たすインデックス1レコードを取得するキーワード検索手段と、
して機能させるためのファイル検索プログラム。 Computer
A file acquisition means for acquiring a first search target file group consisting of a plurality of search target files and a second search target file group consisting of a plurality of search target files from the storage device;
For each search target file included in the first search target file group acquired by the file acquisition means, the file name that is the name of each search target file and the storage location in which each search target file is stored Index 1 file storage for creating an index 1 record having a specified file path and a plurality of keywords extracted from the contents of each search target file at a predetermined timing, and storing the index 1 file including each index 1 record Means,
For each search target file included in the second search target file group acquired by the file acquisition means, the file name that is the name of each search target file and the storage location in which each search target file is stored are shown. Index 2 file storage for creating an index 2 record having a file path and one or more metadata representing the contents of each search target file at a predetermined timing and storing an index 2 file including each index 2 record Means,
Search condition receiving means for receiving a search condition including one or both of a condition relating to metadata and a condition of full-text search;
When the search condition received by the search condition receiving means includes a condition related to metadata, each index 2 record included in the index 2 file is searched based on the condition related to the metadata, and the condition related to the metadata is set. A metadata search means for acquiring index 2 records satisfying;
When the search condition received by the search condition receiving means includes a metadata-related condition and a full-text search condition, it is acquired by the metadata search means out of each index 1 record included in the index 1 file . Each index 1 record including the same file path as the file path included in the index 2 record is searched based on the full-text search condition, and the search condition received by the search condition receiving means does not include a condition related to metadata. When the full text search condition is included, a keyword search that searches all index 1 records included in the index 1 file based on the full text search condition and obtains an index 1 record that satisfies the full text search condition. Means,
File search program to make it function.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010229198A JP5592747B2 (en) | 2010-10-12 | 2010-10-12 | File search device and file search program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010229198A JP5592747B2 (en) | 2010-10-12 | 2010-10-12 | File search device and file search program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012083929A JP2012083929A (en) | 2012-04-26 |
JP5592747B2 true JP5592747B2 (en) | 2014-09-17 |
Family
ID=46242734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010229198A Active JP5592747B2 (en) | 2010-10-12 | 2010-10-12 | File search device and file search program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5592747B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109002444A (en) * | 2017-06-07 | 2018-12-14 | 北大方正集团有限公司 | Text searching method and full-text search device |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016167145A (en) * | 2015-03-09 | 2016-09-15 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | Search system, search method, and computer program |
CN106649403B (en) * | 2015-11-04 | 2020-07-28 | 深圳市腾讯计算机系统有限公司 | Index implementation method and system in file storage |
JP6479232B1 (en) * | 2018-02-28 | 2019-03-06 | 三菱電機エンジニアリング株式会社 | Document management apparatus and document management method |
US11455325B2 (en) | 2018-08-22 | 2022-09-27 | Samsung Electronics, Co., Ltd. | System and method for dialogue based file index |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08272806A (en) * | 1995-04-03 | 1996-10-18 | Nippon Steel Corp | Data base retrieval system |
JP2833580B2 (en) * | 1996-04-19 | 1998-12-09 | 日本電気株式会社 | Full-text index creation device and full-text database search device |
JP2002108887A (en) * | 2000-09-29 | 2002-04-12 | Canon Inc | Document retriever, method for adding keyword to the retriever, document retrieval method and computer readable storage medium |
JP2007140605A (en) * | 2005-11-14 | 2007-06-07 | Hitachi Ltd | Retrieval system and retrieval method |
JP5168963B2 (en) * | 2007-03-19 | 2013-03-27 | 株式会社リコー | Document display device, document display method, and document display program |
JP4826622B2 (en) * | 2008-11-10 | 2011-11-30 | 日本電気株式会社 | Document search apparatus, search method and program |
JP2010146430A (en) * | 2008-12-22 | 2010-07-01 | Nec Corp | Information processor |
-
2010
- 2010-10-12 JP JP2010229198A patent/JP5592747B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109002444A (en) * | 2017-06-07 | 2018-12-14 | 北大方正集团有限公司 | Text searching method and full-text search device |
Also Published As
Publication number | Publication date |
---|---|
JP2012083929A (en) | 2012-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2478452B1 (en) | File search system and program | |
JP4739455B2 (en) | Document management method | |
CN107787487B (en) | Deconstructing documents into component blocks for reuse in productivity applications | |
JP4602769B2 (en) | Navigate the content space of a document set | |
JP5023715B2 (en) | Information processing system, information processing apparatus, and program | |
US7996380B2 (en) | Method and apparatus for processing metadata | |
US20020099685A1 (en) | Document retrieval system; method of document retrieval; and search server | |
JP2009205397A (en) | Retrieval engine, retrieval system, retrieval method, and program | |
JP2005018754A (en) | Sharing computer object with association | |
CN102456071A (en) | File management apparatus and file management method | |
JP5592747B2 (en) | File search device and file search program | |
CN112925954B (en) | Method and device for querying data in graph database | |
JP2011191862A (en) | File management apparatus, file management system, and file management program | |
US20110289115A1 (en) | Scientific definitions tool | |
JP2011203964A (en) | Document management system and method | |
US20070185832A1 (en) | Managing tasks for multiple file types | |
JP2011081642A (en) | Retrieval server, information retrieval method, program and storage medium | |
US20110252313A1 (en) | Document information selection method and computer program product | |
US9898463B2 (en) | Document management server, document management method, and non-transitory storage medium storing program | |
JP2009211403A (en) | File search program | |
JP2012159917A (en) | Document management system, document management method and program | |
WO2017221445A1 (en) | Management device, management method, and management program | |
JP2010092383A (en) | Electronic document file search device, electronic document file search method, and computer program | |
JP2002259387A (en) | Document retrieving system | |
JPH1069476A (en) | Document management system, document sharing method and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130729 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140117 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140218 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140411 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140715 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140801 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5592747 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |