JP3565840B2 - Document management method and document management device - Google Patents

Document management method and document management device Download PDF

Info

Publication number
JP3565840B2
JP3565840B2 JP2004010938A JP2004010938A JP3565840B2 JP 3565840 B2 JP3565840 B2 JP 3565840B2 JP 2004010938 A JP2004010938 A JP 2004010938A JP 2004010938 A JP2004010938 A JP 2004010938A JP 3565840 B2 JP3565840 B2 JP 3565840B2
Authority
JP
Japan
Prior art keywords
character
document
search
entry
bit
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.)
Expired - Fee Related
Application number
JP2004010938A
Other languages
Japanese (ja)
Other versions
JP2004178614A (en
Inventor
雅二郎 岩崎
泰嗣 小川
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2004010938A priority Critical patent/JP3565840B2/en
Publication of JP2004178614A publication Critical patent/JP2004178614A/en
Application granted granted Critical
Publication of JP3565840B2 publication Critical patent/JP3565840B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)

Description

本発明は、文書管理方法および文書管理装置に関し、より詳細には、文字成分表を利用し、全文書に対して文字列を検索する文書管理方法および文書管理装置に関するもので、例えば、文書管理システムや画像管理システム,データベース管理システム等に適用し得るものである。   The present invention relates to a document management method and a document management device, and more particularly, to a document management method and a document management device that search a character string for all documents using a character component table. The present invention can be applied to a system, an image management system, a database management system, and the like.

従来の文書管理装置について記載した公知文献としては、例えば、特許文献1がある。この公報のものは、文字列検索において、利用する文字成分表を小さく抑え、かつ、検索程度を上げ、高速な文書登録を可能とするために、入力部に入力された検索文字列は、処理部の文字列入力処理で処理し、文書検索処理部において、データ部の文字成分表を利用して文字列を含むと思われる文書を検索する。検索した文書に対応する文書データを文書出力処理により出力部に出力し、文書登録処理では、登録する文書を文書データに登録し、文書データより文字成分を抽出して文字成分表に登録する。検索文字列を文書から検索する場合、文字成分表として、文字から算出される値が文書中に存在するか否かを示す1文字成分表及び隣接する文字から算出される値が文書中に存在するか否かを示す隣接文字成分表を利用して文書を検索する。すなわち、文書ごとに出現した文字を記録した文字成分表を用いて文書を高速に検索するシステムである。   As a known document describing a conventional document management device, for example, there is Patent Document 1. In this publication, in order to reduce the size of a character component table used in a character string search, increase the degree of search, and enable high-speed document registration, a search character string input to an input unit is processed. The document search processing unit searches for a document that seems to include a character string by using the character component table of the data part. The document data corresponding to the retrieved document is output to the output unit by the document output process. In the document registration process, the document to be registered is registered in the document data, a character component is extracted from the document data, and registered in the character component table. When a search character string is searched from a document, a one-character component table indicating whether or not a value calculated from a character exists in the document as a character component table and a value calculated from adjacent characters exist in the document. The document is searched using the adjacent character component table indicating whether or not to execute. In other words, the system is a system for searching a document at high speed using a character component table in which characters appearing for each document are recorded.

また、前述した特許文献1や、先に提案した特許文献2に記載のものは、文字成分が文書中に存在するか否かを示す単一文字成分表、及び隣接する文字から抽出したある文字成分が文書中に存在するか否かを示す隣接文字成分表を利用して文書を検索するものである。
特開平5−324722号公報 特開平7−160724号公報
In the above-mentioned Patent Document 1 and Patent Document 2 proposed above, a single character component table indicating whether or not a character component exists in a document, and a certain character component extracted from adjacent characters. Is searched for using the adjacent character component table indicating whether or not exists in the document.
JP-A-5-324722 JP-A-7-160724

しかし、前記公報等に記載の方式には、以下に示すような問題点がある。
(1)文字成分表の構成が固定的だった。
(2)検索文字列が長くなるのに応じて検索時間がかかる。
(3)単一の文字列しか検索条件として指定できない。そのため、複数の文字列を論理演算子(AND,OR)で組み合わせた条件を満たす文書を検索することができない。
(4)文字成分表のビットマップデータを格納するブロックの大きさ(ブロックサイズ)が固定的であるため、ブロックサイズを小さくすると検索速度が低下し、ブロックサイズを大きくすると登録速度が低下してしまう。
(5)複数の文書を一括して登録する機能がなく、多量の文書を登録するのに処理時間がかかる。
(6)文書のデータがシステム内にあるので、ユーザにとって参照するのに手間がかかったり、文書の登録,削除,更新などの処理が面倒である。
However, the methods described in the above publications have the following problems.
(1) The structure of the character component table is fixed.
(2) The search time increases as the search character string becomes longer.
(3) Only a single character string can be specified as a search condition. Therefore, it is not possible to search for a document that satisfies the condition in which a plurality of character strings are combined by the logical operators (AND, OR).
(4) Since the size (block size) of the block storing the bitmap data of the character component table is fixed, the search speed decreases when the block size is reduced, and the registration speed decreases when the block size is increased. I will.
(5) There is no function to register a plurality of documents at once, and it takes a long time to register a large number of documents.
(6) Since document data is stored in the system, it is troublesome for the user to refer to, and processing such as registration, deletion, and updating of the document is troublesome.

本発明は、このような実情に鑑みてなされたもので、従来では文字エントリへのアクセス、つまり二次記憶へのアクセスが多く、検索速度の低下を招いていたので、それを改善する文書管理方法および文書管理方法および文書管理装置を提供することを目的としている。   The present invention has been made in view of such circumstances, and in the related art, access to character entries, that is, access to secondary storage has been increased in many cases, causing a reduction in search speed. It is an object to provide a method, a document management method, and a document management device.

本発明は、上記目的を達成するために、請求項1の発明は、大量の文書データを保持し、入力装置から入力された検索文字列を含む文書を検索し、出力装置により検索した文書を出力する文書管理方法であって、文書登録時に文書より各文字コード成分及び2文字以上の隣接文字からビット列成分を算出し、各文書がそれぞれの成分を含むか否かを示す単一文字成分表及び一つ以上の隣接文字成分表を生成し、該文字成分表の可変長の各文字成分のエントリを複数の固定長ブロックに分割して二次記憶に登録し、検索時には検索文字列から登録時と同様に単一文字成分及び2文字以上の隣接文字成分を抽出し、該隣接文字成分に対応する二次記憶上の固定長ブロックを統合し、各文字エントリを生成して文書を検索する文書管理方法において、仮に文字エントリで文字成分が出現するビットを1とし、出現しないビットを0とした場合に、検索時に複数の文字エントリのビットマップのAND処理を行う時に対象となる文字エントリを一つ適当に選択し、ビット列をスキャンして値が1である時だけ他のエントリの対応するビットを調べ、全てのエントリの対応するビットの値が1である文書を検索結果とすることにより、文字エントリのビットマップへのアクセスを最小限に全文検索を行うことを特徴とする。   In order to achieve the above object, according to the present invention, a large amount of document data is stored, a document including a search character string input from an input device is searched, and a document searched by an output device is searched. A document management method for outputting, comprising: calculating a bit string component from each character code component and two or more adjacent characters from a document at the time of document registration; a single-character component table indicating whether each document includes each component; Generates one or more adjacent character component tables, divides each variable-length character component entry in the character component table into a plurality of fixed-length blocks, and registers them in secondary storage. Document management for extracting a single character component and two or more adjacent character components in the same manner as described above, integrating fixed-length blocks on the secondary storage corresponding to the adjacent character components, generating each character entry, and searching for a document In the way If a bit where a character component appears in a character entry is set to 1 and a bit not appearing is set to 0, one of the target character entries is appropriately selected when a bit map of a plurality of character entries is AND-processed during a search. Then, the bit string is scanned to check the corresponding bit of the other entry only when the value is 1, and the document in which the value of the corresponding bit of all entries is 1 is set as a search result, thereby obtaining the bit of the character entry. It is characterized by performing full-text search with minimum access to the map.

請求項2の発明は、請求項1記載の文書管理方法において、文字エントリごとに該文字エントリに出現する1のビットの個数をあらかじめ二次記憶に記録しておき、検索時に複数の文字エントリのビットマップのAND処理を行う時に対象となる文字エントリのうち、該ビット出現数の最も少ない文字エントリを選択し、ビット列をスキャンして値が1である時だけビット出現数の少ない順に他の文字エントリの対応するビットを調べ、全ての文字エントリの対応するビットの値が1である文書を検索結果とすることにより、文字エントリのビットマップへのアクセスを最小限に抑え全文検索を行うことを特徴とする。   According to a second aspect of the present invention, in the document management method according to the first aspect, the number of 1 bits appearing in each character entry is previously recorded in a secondary storage, and a plurality of character entries of the plurality of character entries are searched during a search. When performing bitmap AND processing, select the character entry with the least number of occurrences of the bit from the target character entries, scan the bit string, and only when the value is 1, select other characters in the order of decreasing number of occurrences of the bit. By examining the corresponding bit of the entry and by setting the search result to a document in which the value of the corresponding bit of all character entries is 1, it is possible to minimize the access to the bit map of the character entry and perform a full-text search. Features.

請求項3の発明は、請求項2記載の文書管理方法において、文字エントリの一部へのアクセスの場合に、文字エントリの全ブロックを読み出す必要がないように、可変長の文字エントリのビットマップデータを複数の固定長のブロックに分割して二次記憶に格納し、各固定長のブロックを管理するブロックテーブルを二次記憶上に有し、該ブロックテーブルから任意の固定長ブロックをアクセスできるようにすることによって、必要のない二次記憶上のブロックへのアクセスを減らして全文検索を行うことを特徴とする。   According to a third aspect of the present invention, there is provided the document management method according to the second aspect, wherein when accessing a part of a character entry, it is not necessary to read all blocks of the character entry. Data is divided into a plurality of fixed-length blocks and stored in the secondary storage, and a block table for managing each fixed-length block is provided on the secondary storage, and any fixed-length block can be accessed from the block table. By doing so, a full-text search is performed by reducing accesses to unnecessary blocks on the secondary storage.

請求項4の発明は、請求項3記載の文書管理方法において、大量の文書データを保持し、入力装置から入力された検索文字列を含む文書を検索し、出力装置により検索した文書を出力する文書管理装置であって、文書登録時に文書より各文字コード成分及び2文字以上の隣接文字からビット列成分を算出し、各文書がそれぞれの成分を含むか否かを示す単一文字成分表及び一つ以上の隣接文字成分表を生成し、該文字成分表の可変長の各文字成分のエントリを複数の固定長ブロックに分割して二次記憶に登録する文書登録処理部と、検索時には検索文字列から登録時と同様に単一文字成分及び2文字以上の隣接文字成分を抽出する文字列入力処理部と、該隣接文字成分に対応する二次記憶上の固定長ブロックを統合し、各文字エントリを生成して文書を検索する文書検索処理部とを有する文書管理装置において、前記文書検索処理部は、仮に文字エントリで文字成分が出現するビットを1とし、出現しないビットを0とした場合に、検索時に複数の文字エントリのビットマップのAND処理を行う時に対象となる文字エントリを一つ適当に選択し、ビット列をスキャンして値が1である時だけ他のエントリの対応するビットを調べ、全てのエントリの対応するビットの値が1である文書を検索結果とすることにより、文字エントリのビットマップへのアクセスを最小限に全文検索を行うことを特徴とする。   According to a fourth aspect of the present invention, in the document management method according to the third aspect, a large amount of document data is retained, a document including a search character string input from an input device is searched, and the output document is output by the output device. A document management device, comprising: calculating a bit string component from each character code component and two or more adjacent characters from a document at the time of document registration; a single-character component table indicating whether each document includes the respective component; A document registration processing unit that generates the above adjacent character component table, divides each variable-length character component entry of the character component table into a plurality of fixed-length blocks, and registers the entry in a secondary storage; And a character string input processing unit for extracting a single character component and two or more adjacent character components in the same manner as at the time of registration, and a fixed-length block on the secondary storage corresponding to the adjacent character component. Generate A document search processing unit for searching for a document by searching for a document, if the bit in which the character component appears in the character entry is set to 1 and the non-appearing bit is set to 0, When performing a bitmap AND process on a plurality of character entries, one of the target character entries is appropriately selected, the bit string is scanned, and only when the value is 1, the corresponding bits of the other entries are checked. A full-text search is performed by minimizing access to a bitmap of a character entry by setting a document whose corresponding bit value of the entry is 1 as a search result.

請求項5の発明は、請求項4記載の文書管理装置において、前記文書検索処理部は、文字エントリごとに該文字エントリに出現する1のビットの個数をあらかじめ二次記憶に記録しておき、検索時に複数の文字エントリのビットマップのAND処理を行う時に対象となる文字エントリのうち、該ビット出現数の最も少ない文字エントリを選択し、ビット列をスキャンして値が1である時だけビット出現数の少ない順に他の文字エントリの対応するビットを調べ、全ての文字エントリの対応するビットの値が1である文書を検索結果とすることにより、文字エントリのビットマップへのアクセスを最小限に抑え全文検索を行うことを特徴とする。   According to a fifth aspect of the present invention, in the document management apparatus according to the fourth aspect, the document search processing unit records the number of 1 bits appearing in the character entry for each character entry in a secondary storage in advance, When performing a bitmap AND process on a plurality of character entries at the time of retrieval, a character entry with the least number of bits is selected from among the target character entries, and a bit string is scanned and only when the value is 1, a bit appears. By examining the corresponding bits of the other character entries in ascending order and by setting the search result to a document in which the value of the corresponding bit of all character entries is 1, access to the bit map of the character entry is minimized. It is characterized by performing a suppressed full-text search.

請求項6の発明は、請求項5記載の文書管理装置において、前記文書検索処理部は、文字エントリの一部へのアクセスの場合に、文字エントリの全ブロックを読み出す必要がないように、可変長の文字エントリのビットマップデータを複数の固定長のブロックに分割して二次記憶に格納し、各固定長のブロックを管理するブロックテーブルを二次記憶上に有し、該ブロックテーブルから任意の固定長ブロックをアクセスできるようにすることによって、必要のない二次記憶上のブロックへのアクセスを減らして全文検索を行うことを特徴とする。   According to a sixth aspect of the present invention, in the document management apparatus according to the fifth aspect, the document search processing unit is configured so that it is not necessary to read all blocks of the character entry when accessing a part of the character entry. The bitmap data of the long character entry is divided into a plurality of fixed-length blocks and stored in the secondary storage, and a block table for managing each fixed-length block is stored in the secondary storage. The full-text search is performed by reducing access to unnecessary blocks on the secondary storage by making the fixed-length blocks accessible.

本発明によれば、特定のビットマップのビットを横方向に順時調べ、ビットが1の場合には、他のビットマップエントリの対応するビットを調べる。つまり、縦方向にビットを調べ、すべてのビットが1の場合は、ビットに対応する文書が検索結果の文書となるようにする。
また、各文字エントリ中に出現するビット1の出現数を予めカウントしておき、前述のビットを調べる処理の時にビット出現数が小さい順に並び代え、同様の処理を行うことによって、さらに参照するデータ量を減らすことが可能となる。
さらに、文字エントリの一部しか参照しない場合には、全ブロックをアクセスすることなしにブロックテーブルから直接該当するブロックを得られ、高速に検索することができる。
このように従来技術では文字エントリのアクセスが多く、検索速度の低下を招いていたが、検索時の処理のアルゴリズム及びデータ構成を変えることによって検索速度が向上する。
According to the invention, the bits of a particular bitmap are examined sequentially in the horizontal direction, and if the bit is 1, the corresponding bit of another bitmap entry is examined. That is, the bits are examined in the vertical direction, and if all the bits are 1, the document corresponding to the bits is set as the document of the retrieval result.
Also, the number of occurrences of bit 1 appearing in each character entry is counted in advance, and when the above-described process of examining the bits is performed, the data is rearranged in ascending order of the number of bits, and the same processing is performed to further refer to data to be referenced. The amount can be reduced.
Further, when only a part of the character entry is referred to, the corresponding block can be directly obtained from the block table without accessing the entire block, and the search can be performed at high speed.
As described above, in the prior art, the character entry is frequently accessed and the search speed is reduced. However, the search speed is improved by changing the algorithm and the data configuration of the search process.

実施例について、図面を参照して以下に説明する。
図1は、本発明による文書管理装置の一実施例を説明するための構成図で、図中、1は登録文書、2は文書登録手段、3は検索条件、4は文書検索手段、5は該当文書、6は文字成分表エントリ指定、7は文字成分表、8は文書本文データ、9は文書データベースである。
Embodiments will be described below with reference to the drawings.
FIG. 1 is a block diagram for explaining an embodiment of a document management apparatus according to the present invention. In FIG. 1, 1 is a registered document, 2 is a document registration unit, 3 is a search condition, 4 is a document search unit, and 5 is a document search unit. The corresponding document, 6 is a character component table entry designation, 7 is a character component table, 8 is document body data, and 9 is a document database.

文書登録手段2は、登録文書1を文書データベース9に登録操作を行う。該文書データベース9には、文書本文データ8と文字成分表7と文字成分表エントリ指定6とが含まれる。文字成分表7とは、登録文書1に含まれる各文字あるいは文字列から抽出された情報の存在の有無を文書ごとに記録した表である。文書登録手段2は、登録文書1を保存するとともに、該登録文書1に含まれる各文字あるいは連続する2文字から算出される値を文字成分表7に登録し記録する。文書検索手段4は、前記文字成分表7を用いて検索条件3に該当する文書5を高速に探し出す。文字成分表エントリ指定6により文字成分表7の構成を変更可能とする。   The document registration unit 2 performs a registration operation of the registered document 1 in the document database 9. The document database 9 includes document body data 8, a character component table 7, and a character component table entry specification 6. The character component table 7 is a table in which the presence or absence of information extracted from each character or character string included in the registered document 1 is recorded for each document. The document registration unit 2 stores the registered document 1 and registers and records a value calculated from each character or two consecutive characters included in the registered document 1 in the character component table 7. The document search means 4 searches the document 5 corresponding to the search condition 3 at high speed using the character component table 7. The configuration of the character component table 7 can be changed by the character component table entry specification 6.

図2は、文字成分表の一例を示す図である。
ここで示した文字成分表では、各文字の出現のみを記録した構成である。これは、各文字のコードに関数を作用させ、算出される値をエントリとするものである(各文字の出現をそのまま記録する図2の方式は、関数としてf(x)=xとしたものである)。このような1文字から算出されるエントリを単一文字エントリと呼ぶ。
FIG. 2 is a diagram illustrating an example of the character component table.
In the character component table shown here, only the appearance of each character is recorded. In this method, a function is applied to the code of each character, and the calculated value is used as an entry. (The method of FIG. 2 in which the appearance of each character is recorded as it is is a function in which f (x) = x as a function. Is). Such an entry calculated from one character is called a single character entry.

図3は、文字成分表の他の例を示す図である。
ここで示した文字成分表では、各文字と連続する2文字からそれぞれの文字コードの下位4ビットをビット連結して得られる値をエントリとしている。例えば、「ぐ」,「だ」,「ば」のJISコードは、各々 0x2430,0x2440,0x2450 であり、下位4ビットを連結して得られる8ビットを文字成分表のエントリとした場合、「ぐぐ」,「ぐだ」,「ぐば」…は全て同じ 0x00 のエントリにまとめられる。すなわち、連続する2文字のコードに関数を作用させ、算出される値をエントリとすることができる(前側の文字x,後側の文字yに対して、関数g(x,y)の値をエントリとする)。このような連続する2文字から算出されるエントリ(文字成分)を隣接文字エントリと呼ぶ。図3の文字成分表は、単一文字エントリと隣接文字エントリを組み合わせたものである。
FIG. 3 is a diagram illustrating another example of the character component table.
In the character component table shown here, a value obtained by bit-concatenating the lower 4 bits of each character code from two characters continuous with each character is used as an entry. For example, the JIS codes of “Gu”, “Da”, and “Ba” are 0x2430, 0x2440, and 0x2450, respectively. When 8 bits obtained by concatenating the lower 4 bits are used as an entry in the character component table, , "Guda", "Guba" ... are all collected in the same entry of 0x00. That is, a function is applied to a code of two consecutive characters, and the calculated value can be used as an entry (for the preceding character x and the following character y, the value of the function g (x, y) is Entry). An entry (character component) calculated from such two consecutive characters is called an adjacent character entry. The character component table of FIG. 3 is a combination of a single character entry and an adjacent character entry.

このように、文字成分表には様々な構成が可能であり、本発明では、図1の文字成分表エントリ指定6によって文字成分表7の構成を指定できるものとする。以下の説明では、簡単のため、図2のような各文字の出現のみを記録した文字成分表を使用するものとする。   As described above, the character component table can have various configurations. In the present invention, the configuration of the character component table 7 can be specified by the character component table entry specification 6 in FIG. In the following description, for simplicity, a character component table in which only the appearance of each character as shown in FIG. 2 is recorded is used.

文書登録手順は、次の通りである。
(1)登録文書1を文書本文データ8に登録する。
(2)登録文書1の内容を文字成分表7に登録する。
文書本文から文字成分表エントリ指定6で規定されるエントリを抽出する。登録文書番号をi,抽出されたエントリ番号をjとした場合、すべてのjについて文字成分表の点(i,j)の値を“1”にする。
The document registration procedure is as follows.
(1) Register the registered document 1 in the document body data 8.
(2) Register the contents of the registration document 1 in the character component table 7.
The entry specified by the character component table entry specification 6 is extracted from the document body. Assuming that the registered document number is i and the extracted entry number is j, the value of the point (i, j) in the character component table is set to “1” for all j.

また、文書検索手順は、次の通りである。
(1)文字成分表7を用いて検索文字列を含む可能性のある文書番号を求める。
(a)検索文字列から文字成分表エントリ指定6で規定されるエントリを抽出する。
(b)抽出された全てのエントリのビットマップ(図2の横一列)を文字成分表から抜きだし、ビットANDをとる。
(3)前記(1)で求まった文書番号の文書本文を文書本文データ8から読みだし、検索文字列が含まれているか調べ、含まれている文書集合を検索結果とする。
The document search procedure is as follows.
(1) Using the character component table 7, a document number that may include the search character string is obtained.
(a) The entry specified by the character component table entry specification 6 is extracted from the search character string.
(b) Extract the bitmaps (one horizontal row in FIG. 2) of all the extracted entries from the character component table and take the bit AND.
(3) The document body of the document number obtained in (1) is read from the document body data 8, it is checked whether or not a search character string is included, and a set of included documents is set as a search result.

文字成分表の検索精度(文字成分表を用いて得られる文書に検索文字列が含まれている割合)は文字成分表の構成に依存する。本発明では、文字成分表エントリ指定により、文字成分表の構成を任意に変更できる。そのため、登録される文書に合わせて効率的な文書管理システムを構築できる。   The search accuracy of the character component table (the ratio of a search character string included in a document obtained using the character component table) depends on the configuration of the character component table. In the present invention, the configuration of the character component table can be arbitrarily changed by specifying the character component table entry. Therefore, an efficient document management system can be constructed according to the registered document.

図4は、本発明による文書管理装置の他の実施例を説明するための構成図で、図中、9-1〜9-nは文書データベースで、その他、図1と同じ作用をする部分は同一の符号を付してある。なお、図1の構成と異なる点は、文書データベース9-1〜9-nが多数存在している点である。
文書には様々な用途のものがあるため、異なる文書集合は異なる文書データベースに保存することが望まれる。その際、異なる文書集合は、文書の長さや文字の出現頻度なども違う。そこで、本発明の文書管理装置では、文書データベース9ごとに文字成分表エントリ指定6を異なったものを用いることができるため、効率的な文書管理を行える。
FIG. 4 is a block diagram for explaining another embodiment of the document management apparatus according to the present invention. In FIG. 4, reference numerals 9-1 to 9-n denote document databases, and other parts having the same functions as those in FIG. The same reference numerals are given. The difference from the configuration of FIG. 1 is that many document databases 9-1 to 9-n exist.
Since documents have various uses, it is desirable to store different document sets in different document databases. At this time, different document sets have different document lengths and character appearance frequencies. Therefore, in the document management apparatus of the present invention, different character component table entry designations 6 can be used for each document database 9, so that efficient document management can be performed.

これまでの方式だと、検索文字列が長くなるに従い、文字成分表でアクセスすべきエントリが増加するため、検索速度が低下する。実際には、検索語から算出される文字成分表エントリにも同一のものが含まれることがある。その場合、そのエントリに複数回アクセスする必要はないため、検索語に複数個出現したエントリへのアクセスを一回に押えることで、検索に必要な文字成分表へのアクセス回数を減らし、検索を高速化できる。   In the conventional method, as the search character string becomes longer, the number of entries to be accessed in the character component table increases, so that the search speed decreases. Actually, the same entry may be included in the character component table entry calculated from the search word. In that case, it is not necessary to access the entry more than once, so by suppressing access to multiple entries that appear in the search term at once, the number of accesses to the character component table required for the search can be reduced, and the search can be performed. Speed up.

例えば、図2の文字成分表を用いた場合、検索語「マンマシンシステム」は9文字から構成されているため、文字成分表には「マ」「ン」「マ」「シ」「ン」「シ」「ス」「テ」「ム」の9回のアクセスが必要になる。しかし、実際には、「マ」「ン」「シ」は2回ずつ出現しているため、これらエントリへのアクセスは1回にまとめることができる。すなわち、文字成分表への実際のアクセスは、「マ」「ン」「シ」「ス」「テ」「ム」の6回ですむ。   For example, when the character component table of FIG. 2 is used, since the search term “man-machine system” is composed of 9 characters, the character component table includes “ma”, “n”, “ma”, “shi”, “n”. Nine times of access are required: "S", "S", "T", "M". However, in actuality, since "ma", "n", and "shi" appear twice, access to these entries can be combined into one. In other words, the actual access to the character component table only needs to be performed six times: "ma", "n", "shi", "su", "te", and "mu".

これまでの方式だと、文字成分表のエントリは最大2文字からのみ構成される。これに対し、3文字以上の長い文字列(から算出される値)をエントリに用いることとすれば、文字成分表へのアクセス回数を減らし、検索を大幅に高速化できる。
図5は、長い文字列をエントリとして持つ文字成分表を示す図である。
「システム」「パターン」などが文字列エントリである。文字列エントリは、文書における出現頻度の高い文字列を選出すれば良い。
In the conventional method, the entry of the character component table is composed of only a maximum of two characters. On the other hand, if a long character string of three characters or more (a value calculated from the character string) is used for the entry, the number of accesses to the character component table can be reduced, and the search can be significantly speeded up.
FIG. 5 is a diagram showing a character component table having a long character string as an entry.
"System", "pattern", etc. are character string entries. As the character string entry, a character string having a high appearance frequency in the document may be selected.

登録時には、「…あのマンマシンシステムは…」からは、文字として「あ」「の」「マ」「ン」「シ」「ス」「テ」「ム」「は」、文字列として「システム」が抽出され、文字成分表に記録される。
検索時には、検索語「マンマシンシステム」からは、文字として「マ」「ン」「マ」「シ」「ン」、文字列として「システム」が抽出されるが、「システム」に含まれる「シ」および単一文字の重複を削除する。結局、「マ」「ン」「システム」の3つのエントリにアクセスするだけでよく、検索時間は大幅に短縮できる。
At the time of registration, from "... that man-machine system ...", the characters "a", "no", "ma", "n", "shi", "su", "te", "mu", "wa" Is extracted and recorded in the character component table.
At the time of search, “ma”, “n”, “ma”, “shi”, “n” are extracted as characters and “system” is extracted from the search term “man-machine system”. "And single character duplication. After all, only the three entries “ma”, “n”, and “system” need to be accessed, and the search time can be greatly reduced.

上述の3文字以上の長い文字列(から算出される値)をエントリに用いる方式では、文書登録時に文字列エントリに含まれる文字エントリも抽出し、文字成分表に記録する。しかし、その部分は、通常検索文字列でも文字列として含まれる場合が多いので、文字成分表に記録する必要は必ずしもない。このような文字エントリを登録しないことにより、文字成分表を小型化することができる。   In the above-described method of using a long character string of three or more characters (a value calculated therefrom) as an entry, a character entry included in the character string entry is also extracted at the time of document registration, and is recorded in a character component table. However, that part is often included as a character string even in a normal search character string, so that it is not always necessary to record it in the character component table. By not registering such a character entry, the character component table can be reduced in size.

例えば、前項の例文「…あのマンマシンシステムは…」の登録時には、文字として登録するのは「あ」「の」「マ」「ン」「は」だけでよい(文字列として「システムが抽出され、文字成分表に記録される)。ただし、検索文字列に文字列エントリの部分文字列が含まれている場合、この方式では、検索洩れが起こり得る。例えば、検索文字列が「システ」の場合(「システム」の部分文字列)、この方式では検索できないことになる。   For example, when registering the example sentence “… that man-machine system is…” in the preceding paragraph, only “a”, “no”, “ma”, “n”, and “wa” need be registered as characters (“system is extracted as a character string”). However, if the search character string includes a partial character string of the character string entry, search may be omitted in this method. For example, if the search character string is “system” In the case of (the partial character string of “system”), the search cannot be performed by this method.

また、検索条件として複数の文字列を論理演算子(AND,OR)で組み合わせたものを受け付ける(単一の文字列もこの検索条件に含める)。ここで、“AND”は前後の文字列をともに含む文書を検索すること、“OR”は前後の文字列を少なくとも一つ含む文書を検索することを意味する。さらに、必要に応じて、演算子の作用順序を明示するために、“(”,“)”を用いることができるものとする。論理演算子を検索条件に用いることができるようにすることで、複雑な検索要求を表現することが可能となる。例えば、「マンマシンシステム」,「文書検索AND文書登録」,「文書検索OR情報検索」,「(新聞OR雑誌)ANDカラー」などが上記の検索条件になる。   Also, a combination of a plurality of character strings by a logical operator (AND, OR) is accepted as a search condition (a single character string is also included in the search condition). Here, "AND" means to search for a document including both the preceding and following character strings, and "OR" means to search for a document including at least one of the preceding and following character strings. Furthermore, "(", ")" can be used as necessary to clearly indicate the order of operation of the operators. By making it possible to use a logical operator as a search condition, it is possible to express a complicated search request. For example, "man machine system", "document search AND document registration", "document search OR information search", "(newspaper OR magazine) AND color" are the above search conditions.

次に、単一の検索文字列内のアクセスの単一化ではなく、論理演算子ANDで結合される2つないしはそれ以上の検索文字列にまたがったアクセスの単一化を導入する。例えば、検索条件「文書検索AND文書登録」から、従来方式では、「文」「書」「検」「索」「文」「書」「登」「録」の8つのエントリにアクセスする。一方、本項目の単一化(最適化)により「文」「書」の重複が削除され、文字成分表へのアクセスは6回に減らすことができる。   Next, instead of unifying access within a single search string, we introduce unification of access across two or more search strings joined by the logical operator AND. For example, from the search condition “document search AND document registration”, the conventional method accesses eight entries of “sentence”, “book”, “search”, “search”, “sentence”, “book”, “register”, and “record”. On the other hand, by unifying (optimizing) this item, duplication of “sentence” and “call” is deleted, and access to the character component table can be reduced to six times.

また、単一の検索文字列内のアクセスの単一化ではなく、論理演算子ORで結合される2つないしはそれ以上の検索文字列にまたがったアクセスの単一化を導入する。例えば、検索条件「文書検索OR情報検索」から、従来方式では、「文」「書」「検」「索」「情」「報」「検」「索」の8つのエントリにアクセスする。一方、本項目の単一化(最適化)により「検」「索」の重複が削除され、文字成分表へのアクセスは6回に減らすことができる。   It also introduces unification of access across two or more search strings joined by the logical operator OR, rather than unification of access within a single search string. For example, in the conventional method, eight entries of “sentence”, “book”, “search”, “search”, “information”, “information”, “search”, and “search” are accessed from the search condition “document search OR information search”. On the other hand, by unifying (optimizing) this item, duplication of “search” and “search” is deleted, and access to the character component table can be reduced to six times.

次に、文字成分表は、ファイルとして保存される。文字成分表ファイルの構成は、文字成分表のエントリに対応するビットマップデータに簡単にアクセスできることが望まれるが、それを実現するために、例えば、インデックスファイルと固定長ブロックから構成されるビットマップデータファイルの2つのファイルで構成することができる。この場合、インデックスファイルは、次の2つのフィールドを含むブロックから構成することができる。
・先頭ブロックオフセットフィールド
・末尾ブロックオフセットフィールド
Next, the character component table is saved as a file. The structure of the character component table file is desired to be able to easily access the bitmap data corresponding to the entry of the character component table. To realize this, for example, a bitmap composed of an index file and a fixed-length block is used. It can be composed of two files, a data file. In this case, the index file can be composed of a block including the following two fields.
-First block offset field-Last block offset field

インデックスファイルに含まれるブロック数は、文字成分表エントリ指定によって決まる。ビットマップデータファイルは、次の2つのフィールドを含むブロックから構成される。
・次ブロックオフセットフィールド
・データフィールド
The number of blocks included in the index file is determined by the character component table entry specification. The bitmap data file is composed of a block including the following two fields.
・ Next block offset field ・ Data field

ブロックサイズは、性能要求に合わせて数十バイトから数キロバイトの範囲に設定すれば良い。
図6(a)は、文字成分表のためのファイル構成の一例を示す図である。なお、インデックスファイルを半導体メモリ上にロードしておくことは、高速化に有効である。
The block size may be set in a range from several tens of bytes to several kilobytes in accordance with performance requirements.
FIG. 6A is a diagram illustrating an example of a file configuration for a character component table. Loading the index file on the semiconductor memory is effective for speeding up.

ビットマップデータファイルのブロックサイズは、登録・検索性能等に与える影響が大きい。ブロックサイズが大きい場合、検索は高速だが登録が遅く、小さい場合、登録は高速だが検索は遅くなる。また、データファイルのうち、ビットマップデータの記録に使用されていない領域の割合は、そこで、ブロックを大きいものと小さいものの2種類を用意する。以下では、小さいブロックを「バケット」、大きいブロックを「コンテナ」と呼び、コンテナとバケットの大きさの比を「M」と書くこととする。コンテナの大きさは、バケットの数倍から十数倍程度とする(M=数倍〜十数)。   The block size of the bitmap data file has a large effect on registration / search performance and the like. If the block size is large, the search is fast but registration is slow; if it is small, registration is fast but search is slow. In the data file, the ratio of the area not used for recording the bitmap data is divided into two types: a large block and a small block. Hereinafter, a small block is referred to as a “bucket”, a large block is referred to as a “container”, and the ratio between the size of the container and the bucket is referred to as “M”. The size of the container is set to several times to several tens of times the bucket (M = several times to tens of times).

図6(b)は、2種類の大きさのブロックを導入した場合の文字成分表のファイル構成の一例を示す図である。ここでは、ブロックオフセットの最上位ビットが“1”,“0”によって、そのオフセット位置のブロックがコンテナかバケットかを示すようにしている。   FIG. 6B is a diagram illustrating an example of a file configuration of a character component table when blocks of two different sizes are introduced. Here, the most significant bit of the block offset is set to "1" or "0" to indicate whether the block at the offset position is a container or a bucket.

文書検索システム利用開始時点では、ブロックサイズを小さいものとして、登録速度を優先する(登録文書数が少ない間は、検索速度が多少遅くても検索時間が小さいので、ほとんど問題とならない)。多数の文書が登録され、ビットマップデータファイルに含まれるブロック数が増大した段階で、複数のバケットをコンテナにまとめあげるブロック融合処理を行う。通常のオペレーティングシステムでは、データを小さいブロックに分割しておくよりも大きいブロックにまとめておく方がアクセスが高速だからである。その結果、ブロック融合処理により検索速度が向上され、登録文書数が多い場合でも検索時間を小さくできる。   At the start of use of the document search system, the block size is small, and the registration speed is prioritized. (There is almost no problem if the number of registered documents is small because the search time is short even if the search speed is slightly slower.) When a large number of documents have been registered and the number of blocks included in the bitmap data file has increased, block fusion processing is performed to combine a plurality of buckets into containers. This is because, in a normal operating system, access is faster when data is grouped into large blocks than when the data is divided into small blocks. As a result, the search speed is improved by the block fusion processing, and the search time can be reduced even when the number of registered documents is large.

ブロック融合処理手順A
(1)書き出し用の一時ファイルを作成する。
(2)文字成分表を構成する全てのエントリのビットマップデータに対して、次の処理を行う。
(a)コンテナはそのまま一時ファイルに書き出す。
(b)コンテナにまとめ上げられる(M個の)バケットは、1個のコンテナとし、一時ファイルに書き出す。
(c)残りのコンテナにまとめ上げられない(M個未満の)バケットは、一時ファイルに書き出す。
(3)これまでのビットマップデータファイルを削除する。
(4)一時ファイルを新たなビットマップデータファイルとする。
Block fusion processing procedure A
(1) Create a temporary file for writing.
(2) The following processing is performed on the bitmap data of all entries constituting the character component table.
(a) Write the container as it is to a temporary file.
(b) (M) buckets put together in a container are written as a single container and written to a temporary file.
(c) The buckets (less than M) that are not combined into the remaining containers are written to a temporary file.
(3) Delete the previous bitmap data file.
(4) Make the temporary file a new bitmap data file.

図7(a),(b)は、ブロック融合処理の概要を示す図である。
網掛けによって各バケット/コンテナがどのエントリ(ここでは文字ごとにエントリを立てている)に対応しているかを示す。ここでは、コンテナはバケットの8倍の大きさとしている。例えば、「あ」は、融合処理前にバケット17個なので、融合処理後はコンテナ2個とバケット1個になる。「い」は、同様にしてバケット11個がコンテナ1個とバケット3個になる。「う」は、バケットが7個しかないので、コンテナには1個も生成されず、バケット7個のままである(ただし、この場合でもバケットがお互いに隣接する位置に配置されるため、アクセスが高速化され、検索速度が向上する)。
FIGS. 7A and 7B are diagrams showing an outline of the block fusion processing.
Shading indicates to which entry each bucket / container corresponds (here, an entry is set up for each character). Here, the container is eight times as large as the bucket. For example, “A” has 17 buckets before the fusion processing, so after the fusion processing, there are two containers and one bucket. "I" means that 11 buckets become 1 container and 3 buckets in the same manner. Since "U" has only seven buckets, no one is generated in the container, and the number of buckets remains seven (however, even in this case, since the buckets are arranged at positions adjacent to each other, the access Are faster and search speed is higher).

次に、前述の方式では、データファイル中にバケットとコンテナが混在する。2次記憶装置上のデータへのアクセスは、オペレーティングシステムの最適化などによりページ単位に行われるため、バケットとコンテナが混在していると、コンテナのような大きいブロックを導入しても、コンテナの配置が2次記憶装置のページ境界と一致せず、期待通りの性能向上が行われないことがある。そこで、本発明の方法では、データファイルの前方にコンテナをまとめ、後方にブロックをまとめることで、コンテナを必ずページ境界に配置し、性能向上を図る。   Next, in the above-mentioned method, buckets and containers are mixed in the data file. Access to the data on the secondary storage device is performed in units of pages by optimizing the operating system. Therefore, if a bucket and a container are mixed, even if a large block such as a container is introduced, the container is not accessed. The arrangement may not match the page boundary of the secondary storage device, and the expected performance may not be improved. Therefore, in the method of the present invention, containers are arranged at the page boundary without fail by grouping containers in front of the data file and blocks in the rear.

ブロック融合処理手順B
(1)書き出し用の一時ファイルを2つ作成する。1つを「コンテナ用一時ファイル」、もう1つを「バケット用一時ファイル」と呼ぶ。
(2)文字成分表を構成する全てのエントリのビットマップデータに対して、次の処理を行う。
(a)コンテナはそのままコンテナ用一時ファイルに書き出す。
(b)コンテナにまとめ上げられる(M個の)バケットは1個のコンテナとし、コンテナ用一時ファイルに書き出す。
(c)残りのコンテナにまとめ上げられない(M個未満の)バケットは、バケット用一時ファイルに書き出す。
(3)これまでのビットマップデータファイルを削除する。
(4)コンテナ用一時ファイルにバケット用一時ファイルを連結し、新たなビットマップデータファイルとする。
Block fusion processing procedure B
(1) Create two temporary files for writing. One is called a “temporary file for container” and the other is called a “temporary file for bucket”.
(2) The following processing is performed on the bitmap data of all entries constituting the character component table.
(a) Write the container as it is to the container temporary file.
(b) The (M) buckets put together in a container are made into one container, and are written out to a container temporary file.
(c) Buckets that are not grouped in the remaining containers (less than M) are written to a bucket temporary file.
(3) Delete the previous bitmap data file.
(4) The temporary file for the bucket is linked to the temporary file for the container to create a new bitmap data file.

図7(a),(c)は、上記アルゴリズムによるブロック融合処理の概要を示す図である。このアルゴリズムでは、ブロック融合処理後(図7(c)の状態)は、データファイルの先頭部分にコンテナが集まり、A点以降はバケットが集合した状態となる。   FIGS. 7A and 7C are diagrams showing an outline of the block fusion processing by the above algorithm. In this algorithm, after the block fusion processing (the state in FIG. 7C), containers are gathered at the head of the data file, and buckets are gathered after point A.

次に、データファイルの小さいブロックが存在する領域のみをブロック融合の対象とするブロック融合手段について説明する。
ブロック融合処理後にも文書は追加登録される。追加登録後のブロックタイプはバケットなので、追加登録文書数が増大すると、再び検索速度が低下してしまう。その場合、再びブロック融合処理手順Bによりブロック融合処理を行えばよい。しかし、ブロック融合処理手順Bでは、2つの一時ファイルの大きさの合計は、データファイルとほぼ等しくなってしまう。多量の文書が登録された場合、データファイルの大きさが膨大となるため、これは極めて望ましくない。次に示すブロック融合処理手順Cはこの点を改良し、一時ファイルの大きさの合計をデータファイルのバケット部分の大きさ程度で済むようにした。
Next, a description will be given of a block merging unit that targets only a region where a small block of a data file exists to perform block merging.
Documents are additionally registered even after the block fusion processing. Since the block type after the additional registration is a bucket, if the number of additional registration documents increases, the search speed decreases again. In this case, block fusion processing may be performed again according to block fusion processing procedure B. However, in the block fusion processing procedure B, the sum of the sizes of the two temporary files becomes almost equal to the data file. This is extremely undesirable when a large number of documents are registered, because the size of the data file becomes enormous. The following block fusion processing procedure C improves this point, so that the total size of the temporary file can be reduced to about the size of the bucket portion of the data file.

ブロック融合処理手順C
(1)書き出し用の一時ファイルを2つ作成する。1つを「コンテナ用一時ファイル」、もう1つを「バケット用一時ファイル」と呼ぶ。
(2)文字成分表を構成する全てのエントリのビットマップデータに対して、次の処理を行う。
(a)コンテナは無視する。
(b)コンテナにまとめ上げられる(M個の)バケットは、1個のコンテナとし、コンテナ用一時ファイルに書き出す。
(c)残りのコンテナにまとめ上げられない(M個未満の)バケットは、バケット用一時ファイルに書き出す。
(3)ビットマップデータファイルのバケット部分を削除する。
(4)ビットマップデータファイルにコンテナ用一時ファイル、さらにバケット用一時ファイルを連結する。
Block fusion processing procedure C
(1) Create two temporary files for writing. One is called a “temporary file for container” and the other is called a “temporary file for bucket”.
(2) The following processing is performed on the bitmap data of all entries constituting the character component table.
(a) Ignore containers.
(b) (M) buckets put together in a container are made into one container and written to a container temporary file.
(c) Buckets that are not grouped in the remaining containers (less than M) are written to a temporary bucket file.
(3) Delete the bucket portion of the bitmap data file.
(4) The container temporary file and the bucket temporary file are linked to the bitmap data file.

ブロック融合処理手順B及びブロック融合処理手順Cの方式の相違を図8(a)〜(c)に示す。図8(a)に示すように、バケット融合処理後に再び文書が登録された場合、データファイルの末尾(図8(a)のB点)からバケットが順次挿入された状態になる。ブロック融合処理手順Bでは、図8(b)のように、データファイルのブロックが整理され、検索速度が向上する。しかし、2つの一時ファイルの合計の大きさは、データファイルの大きさと等しい。これに対し、ブロック融合処理手順Cでは、データファイルのA点以降の部分のみを処理の対象とする。ブロック融合処理結果を示したものが図8(c)である。新たに作成されたコンテナは、融合前にバケットが存在していたA点以降に配置される。同一エントリに対するコンテナが必ずしも連続する位置に配置されるわけではないが(例えば、「い」のコンテナ)、そのことにより速度低下は極めて小さい。   FIGS. 8A to 8C show the differences between the block fusion processing procedure B and the block fusion processing procedure C. As shown in FIG. 8A, when a document is registered again after the bucket fusion processing, the bucket is sequentially inserted from the end of the data file (point B in FIG. 8A). In the block fusion processing procedure B, as shown in FIG. 8B, the blocks of the data file are arranged, and the search speed is improved. However, the total size of the two temporary files is equal to the size of the data file. On the other hand, in the block fusion processing procedure C, only the portion after the point A of the data file is to be processed. FIG. 8C shows the result of the block fusion processing. The newly created container is placed after point A where the bucket existed before merging. Although the containers for the same entry are not always arranged at consecutive positions (for example, “I” container), the speed reduction is extremely small.

図9は、本発明による文書管理装置の更に他の実施例を説明するための構成図で、図中、11は入力部、12は処理部、13は文字列入力処理部、14は文書検索処理部、15は文書出力処理部、16は文書登録処理部、17はデータ部、18は文字成分表、19は出力部、20は文書データである。   FIG. 9 is a block diagram for explaining still another embodiment of the document management apparatus according to the present invention. In the figure, 11 is an input unit, 12 is a processing unit, 13 is a character string input processing unit, and 14 is a document search. A processing unit, 15 is a document output processing unit, 16 is a document registration processing unit, 17 is a data unit, 18 is a character component table, 19 is an output unit, and 20 is document data.

入力部11に入力された検索文字列は、処理部12の文字列入力処理部13で処理する。文書検索処理部14においてデータ部17の文字成分表18を利用して文字列を含むと思われる文書を検索する。そして、検索した文書に対応する文書データ20を文書出力装置15により出力部19に出力する。文書登録処理部16では、登録する文書を文書データ20に登録し、該文書データ20より文字成分を抽出して文字成分表18に登録する。
以下の説明では、対象文書は1バイト文字コード(例えば、ASCII)及び2バイト文字コード(EUC:Extended UNIX(R) CODE)からなるテキストデータとする。しかし、対象とする文字コードはEUC以外にも容易に適用可能である。
The search character string input to the input unit 11 is processed by the character string input processing unit 13 of the processing unit 12. The document search processing unit 14 uses the character component table 18 of the data unit 17 to search for a document that seems to include a character string. Then, the document output device 15 outputs the document data 20 corresponding to the searched document to the output unit 19. The document registration processing unit 16 registers the document to be registered in the document data 20, extracts a character component from the document data 20, and registers the character component in the character component table 18.
In the following description, the target document is assumed to be text data including a one-byte character code (for example, ASCII) and a two-byte character code (EUC: Extended UNIX (R) CODE). However, the target character code can be easily applied to other than EUC.

文書をデータ部に登録する時には、単一文字成分及び隣接文字成分を抽出し、文字成分表を作成する。単一文字成分は各内部文字コードの2バイトコードとし、隣接文字成分は隣接する内部文字コードから変換したコードである。本実施例では内部文字コードのビット成分を適当に抽出したビット列を隣接文字成分とする。上記方法で得られた文字成分及び隣接文字成分に対して、図10に示すように、それぞれ単一文字成分表及び図11に示す隣接文字成分表を生成する。図11では隣接する文字の下位1バイトを合わせて2バイトとしている。各文字成分表は、各単一文字成分または隣接文字成分が各文書に存在するか否かを0と1で示す。図11の隣接文字成分表を例とすると、a0a0(16進)のビット列は文書1、2、3、nには存在せず、文書4、5には存在することを意味する。文書登録時に上記方法により文書から文字成分を抽出し、各文字成分テーブルに加える。   When a document is registered in the data section, a single character component and an adjacent character component are extracted, and a character component table is created. The single character component is a two-byte code of each internal character code, and the adjacent character component is a code converted from the adjacent internal character code. In this embodiment, a bit string obtained by appropriately extracting the bit components of the internal character code is used as the adjacent character component. For the character component and adjacent character component obtained by the above method, a single character component table and an adjacent character component table shown in FIG. 11 are generated as shown in FIG. In FIG. 11, the lower 1 byte of the adjacent character is 2 bytes in total. Each character component table indicates by 0 and 1 whether each single character component or adjacent character component exists in each document. Taking the adjacent character component table of FIG. 11 as an example, it means that the bit string of a0a0 (hexadecimal) does not exist in documents 1, 2, 3, and n, but exists in documents 4, 5. At the time of document registration, a character component is extracted from the document by the above method and added to each character component table.

仮に、隣接文字成分表として各文字成分の下位1バイトのみを利用した場合には、検索文字列とは異なる隣接文字でも下位バイトが一致する隣接文字を含む文書を検索する場合がある。ひらがな及びカタカナは頻繁に出現するので、検索の精度が低くなる。また漢字は文書中の出現頻度が低いので、本来検索精度が高い文字種であるにも関わらず、検索精度が低い他の文字種の影響を受けて検索精度が低くなってしまう。そこで、文字種ごとに異なる隣接文字成分表を作成し、検索時に検索文字列の文字種ごとに異なる隣接文字成分表を利用することによって、ひらがななどの頻繁に文書に出現する文字種の影響を受けず、検索精度を上げることができる。
以下、単一文字成分表、隣接文字成分表について説明する。
If only the lower 1 byte of each character component is used as the adjacent character component table, a search may be made for a document that includes an adjacent character whose lower byte matches the adjacent character different from the search character string. Since hiragana and katakana appear frequently, the accuracy of the search is reduced. Also, since the frequency of appearance of kanji in a document is low, the search accuracy is reduced due to the influence of other character types having low search accuracy, despite the fact that the character type is originally high in search accuracy. Therefore, by creating a different adjacent character component table for each character type and using a different adjacent character component table for each character type of the search character string at the time of search, it is not affected by character types that frequently appear in documents such as hiragana, Search accuracy can be improved.
Hereinafter, the single character component table and the adjacent character component table will be described.

・単一文字成分表:文字がどの文書に出現するか否かを示す表
・隣接文字成分表
−同種隣接文字成分表:隣接する同種の文字のペアがどの文書に出現するか否かを示す表
*記号
*英数時
*ひらがな
*カタカナ
*ギリシャ文字、グラフィック文字など
*1バイト文字コード
*第一水準漢字
*第二水準漢字
−異種隣接文字成分表:隣接する異種の文字のペアがどの文書に出現するか否かを示す表
-Single character component table: A table indicating in which document a character appears.-Adjacent character component table-Similar adjacent character component table: A table indicating in which document an adjacent pair of the same type of character appears. * Symbol * Alphanumeric * Hiragana * Katakana * Greek letters, graphic characters, etc. * 1-byte character codes * First-level kanji * Second-level kanji Table indicating whether or not to appear

検索時には登録時と同様に検索文字列から単一文字成分と隣接文字成分を抽出し、それぞれ文字成分表から各成分を含む文書を検索する。
図12は、従来の検索方法を説明するための図である。
図12において、ビットの1は文字成分が出現することを示し、0は文字成分が出現しないことを意味する。従来の検索方法では検索文字列から文字種を判別して単一文字成分、隣接文字成分を登録時と同様に抽出し、各文字成分に対応する単一文字成分表及び隣接文字成分表から文字エントリのビットマップを抽出してAND演算を行う。したがって、対象となるすべての文字エントリのデータを参照することになる。
At the time of retrieval, a single character component and an adjacent character component are extracted from the retrieval character string as in the case of registration, and a document containing each component is retrieved from the character component table.
FIG. 12 is a diagram for explaining a conventional search method.
In FIG. 12, a bit 1 indicates that a character component appears, and a bit 0 indicates that a character component does not appear. In the conventional search method, a character type is determined from a search character string, a single character component and an adjacent character component are extracted in the same manner as at the time of registration, and a bit of a character entry is extracted from the single character component table and the adjacent character component table corresponding to each character component. The map is extracted and an AND operation is performed. Therefore, data of all target character entries is referred to.

次に、本発明における検索方式を説明する。図13に示すように、特定のビットマップのビットを横方向に順時調べ、ビットが1の場合には、他のビットマップエントリの対応するビットを調べる。つまり、図13で縦方向にビットを調べ、すべてのビットが1の場合は、ビットに対応する文書が検索結果の文書となる。ビットが0の時には、図13の一番上の文字エントリに戻り、順時同様に繰り返す。こうすることによって、矢印で示されるビットのみを参照することになり、従来の検索方法に比較して参照するデータ量が格段に減少する。   Next, a search method according to the present invention will be described. As shown in FIG. 13, bits of a specific bitmap are sequentially examined in the horizontal direction. If the bit is 1, the corresponding bit of another bitmap entry is examined. That is, the bits are examined in the vertical direction in FIG. 13, and if all the bits are 1, the document corresponding to the bit is the document of the search result. When the bit is 0, the process returns to the character entry at the top of FIG. By doing so, only the bit indicated by the arrow is referred to, and the amount of data referred to is significantly reduced as compared with the conventional search method.

さらに、図14に示すように、各文字エントリ中に出現するビット1の出現数を予めカウントしておき、前述のビットを調べる処理の時に、図14に示すように、ビット出現数が小さい順に並び代え、同様の処理を行うことによって、さらに参照するデータ量を減らすことが可能となる。   Further, as shown in FIG. 14, the number of occurrences of bit 1 appearing in each character entry is counted in advance, and at the time of the above-described process of examining the bits, as shown in FIG. By rearranging and performing the same processing, it is possible to further reduce the amount of data to be referred to.

従来の検索方法では、各文字エントリのビットマップデータである可変長ビットマップデータは、複数の固定長ブロックに分割され、二次記憶に格納されている。したがって、前述の検索処理時に再度複数の固定長ブロックを可変長のビットマップに結合復元する。また、各文字エントリの一部のデータしかアクセスしない場合でも、文字エントリの全固定長データブロックを読み込み結合し、可変長ビットマップデータに復元する処理が必要となる。   In the conventional search method, variable-length bitmap data, which is bitmap data of each character entry, is divided into a plurality of fixed-length blocks and stored in a secondary storage. Therefore, the plurality of fixed-length blocks are combined and restored again into the variable-length bitmap during the above-described search processing. Even when only a part of the data of each character entry is accessed, it is necessary to read and combine all the fixed-length data blocks of the character entry and restore the variable-length bitmap data.

次に、データ構成について説明する。
本実施例では、前述の文字エントリは二次記憶上で、図15に示すように、インデックスとブロックテーブルとブロックとから構成される。インデックスは各内部文字コードに対してブロックテーブルポインタとビット出現数(エントリ内に出現するビット1の数)のペアからなる。ブロックテーブルは先頭に次のブロックテーブルへのポインタを有し、ブロックポインタとブロック最終登録文書ID(ブロック内の最後に登録されている文書のID)からなる。したがって、内部文字コード「あ」に対応する全ブロックは、図15に示すように、ブロックテーブルから示されるブロックとなる。
Next, the data configuration will be described.
In the present embodiment, the above-described character entry is configured from an index, a block table, and a block on the secondary storage as shown in FIG. The index is composed of a pair of a block table pointer and the number of bit appearances (the number of bit 1 appearing in the entry) for each internal character code. The block table has a pointer to the next block table at the top, and includes a block pointer and a block last registered document ID (ID of the last registered document in the block). Therefore, all blocks corresponding to the internal character code "A" are blocks indicated from the block table as shown in FIG.

文書IDが4000の文書内に内部文字コードが「あ」の文字が出現する否かを調べる場合を例に、以下に説明する。
・インデックスの「あ」に対応するブロックテーブルポインタからブロックテーブルを得る。
・ブロック最終登録文書IDから文書ID4000を含むブロック(ブロックポインタ5120)を得る。
・ブロック(5120)のデータが圧縮されている場合には伸長し、文書ID4000に該当するビットを得る。
このように、文字エントリの一部しか参照しない場合には、全ブロックをアクセスすることなしにブロックテーブルから直接該当するブロックを得られ、高速に検索することができる。
The following describes an example in which it is determined whether or not a character having an internal character code of “A” appears in a document with a document ID of 4000.
Obtain a block table from the block table pointer corresponding to the index "a".
A block (block pointer 5120) including the document ID 4000 is obtained from the block last registered document ID.
If the data of the block (5120) is compressed, it is decompressed to obtain a bit corresponding to the document ID 4000.
As described above, when only a part of the character entry is referred to, the corresponding block can be directly obtained from the block table without accessing all the blocks, and the search can be performed at high speed.

検索の時間で最も多く占めるのがディスクからデータのREAD時間である。READするページ(物理的なディスク読み書きの単位)が多ければ多いほど検索処理は遅くなる。文書登録を行なうと、図16(a)のように、文字エントリのブロックは複数のページに分散する。したがって、検索処理では分散しているブロックを含むページをすべてREADすることにより処理が遅くなる。
本実施例では、図16(b)のように、分散したブロックをページ単位にまとめ上げることで検索処理時にREADするページを減らし、処理を速くすることができる。図16に示す例では、まとめ上げ前には6ページ以上をREADしなければならなかったが、まとめ上げ後には3ページとなり、READの時間が半分以下になる。このようにブロックをページ単位にまとめ上げる処理をまとめ上げ処理と呼ぶ。
The time occupied most by the search time is the read time of data from the disk. The more pages to be read (the physical disk read / write unit), the slower the search process. When the document is registered, the block of the character entry is distributed over a plurality of pages as shown in FIG. Therefore, in the search processing, the processing is slowed by reading all pages including the dispersed blocks.
In the present embodiment, as shown in FIG. 16B, by arranging dispersed blocks in page units, the number of pages to be read at the time of search processing can be reduced and processing can be accelerated. In the example shown in FIG. 16, six pages or more had to be read before the grouping, but after the grouping, three pages were read, and the READ time was reduced to half or less. Such a process of grouping blocks in page units is called a grouping process.

まとめ上げ処理では、図16(b)のように、ブロックをページにまとめ上げるが、ページにまとめ上げられなかった、ブロックについてはまとめ上げられなかったブロックを格納するためのページ(残ブロックページと呼ぶ)に集められる。したがって、図17に示すように、残ブロックページには、様々な文字エントリの残ブロックが格納される。また、まとめ上げられたページはファイル中で混在することになる。   In the grouping process, as shown in FIG. 16B, the blocks are grouped into pages, but the blocks that were not grouped into the page and the blocks that were not grouped are stored (the remaining block pages and Call). Therefore, as shown in FIG. 17, remaining blocks of various character entries are stored in the remaining block page. In addition, the collected pages are mixed in the file.

まとめ上げの処理手順を以下に示す。なお、説明中のバッファはメモリ上の領域を意味する。
(1)前処理
(a)文字成分表をオープンする。
(b)まとめ上げ用文字成分表を作成しオープンする。
(c)残ブロックページをアロケートする。
The processing procedure for summarizing is shown below. Note that the buffer in the description means an area on the memory.
(1) Preprocessing (a) Open the character component table.
(B) Create and open a text component table for grouping.
(C) Allocate the remaining block page.

(2)文字エントリ単位のまとめ上げ処理
(a)ページへのまとめ上げ処理
i.1ランレングスを読みページバッファに詰める。
ii.ページバッファにデータが満たされたらページバッファを書き出し、ページバッファをクリアする。
iii.ランレングスをすべて読み終るまで前記i.に戻る。
(b)ページにまとめ上げられなかったブロック(残ブロック)の書き出し処理
i.まとめ上げられなかったランレングスから再度1ランレングスを読み、残ブロックバッファに詰める。
ii.残ブロックバッファにデータが満たされたら残ブロックページに書き出す。
iii.残ブロックページの領域をすべて使い果たしたら新たに残ブロックページをアロケートする。
iv.ランレングスをすべて読み終るまで前記i.に戻る。
(2) Grouping process for each character entry (a) Grouping process for pages i. Read one run length into the page buffer.
ii. When the page buffer is full, write the page buffer and clear the page buffer.
iii. I. Until all run lengths have been read. Return to
(B) Write-out processing of blocks (remaining blocks) that have not been combined into a page i. One run length is read again from the run lengths that were not put together, and are packed in the remaining block buffer.
ii. When the remaining block buffer is full of data, it is written to the remaining block page.
iii. When the remaining block page area is completely used, a new remaining block page is allocated.
iv. I. Until all run lengths have been read. Return to

(3)後処理
(a)書き出されていない残ブロックページを書き出す。
(b)文字成分表及びまとめ上げ文字成分表をクローズする。
こうすることによって、文字成分表を1回スキャンするだけまとめ上げ処理が可能となり、処理が高速であるだけでなく、処理時に必要な二次記憶の領域を最小限に抑えられる。
(3) Post-processing (a) Write the remaining block page that has not been written.
(B) Close the character component table and the grouped character component table.
By doing so, the grouping process can be performed only by scanning the character component table once, and not only is the process performed at high speed, but also the area of the secondary storage required during the process can be minimized.

次に、検索処理について説明する。
本実施例の検索処理では、検索文字列から抽出されるエントリ数が少なければ、文字成分表へのアクセスが少なくなり、検索が高速になる。文字成分表エントリ指定において、単一文字エントリと隣接文字エントリを定義した場合、検索文字列がn文字の時、n個の単一文字エントリとn−1個の隣接文字エントリが抽出されるので、トータルでは2n−1個のエントリが抽出され、検索が遅い。
Next, the search processing will be described.
In the search processing according to the present embodiment, if the number of entries extracted from the search character string is small, access to the character component table is reduced, and the search speed is increased. When a single character entry and an adjacent character entry are defined in the character component table entry specification, when the search character string is n characters, n single character entries and n-1 adjacent character entries are extracted. In this case, 2n-1 entries are extracted, and the search is slow.

例えば、検索文字列が「パターンマッチ」である時、次のエントリが抽出される。
・単一文字エントリ:以下の文字に関数f(x)を作用させる。
パ,タ,ー,ン,マ,ッ,チ
・隣接文字エントリ:以下の2文字に関数g(x,y)を作用させる。
パタ,ター,ーン,ンマ,マッ,ッチ
For example, when the search character string is "pattern match", the next entry is extracted.
Single character entry: The function f (x) is applied to the following characters.
,, ー, ,, ,, ,, ,, ・ Adjacent character entry: The function g (x, y) is applied to the following two characters.
Patter, tar, moon, nma, mad, itch

しかし、f(x)=x,g(x,y)=x+αy(ここで、αは文字コードの取り得る最大値)のような場合を考える。この時、検索文字列からg(X,Y)が抽出される時には、必ずf(X),f(Y)も抽出される(例えば、g(パ,タ)が抽出される時は、必ずf(パ),f(タ)も抽出される)。したがって、検索文字列を含む文書を特定する上で、単一文字エントリは意味をなさない。そこで、検索文字列からは単一文字エントリを抽出せず、隣接文字エントリのみを抽出する。その結果、n文字の検索文字列からn−1個の隣接文字エントリのみが抽出されるので、検索が高速化できる。   However, consider the case where f (x) = x, g (x, y) = x + αy (where α is the maximum possible value of the character code). At this time, when g (X, Y) is extracted from the search character string, f (X) and f (Y) are always extracted (for example, when g (pat, ta) is extracted, f (pa) and f (ta) are also extracted). Therefore, a single character entry does not make sense in identifying the document containing the search string. Therefore, a single character entry is not extracted from the search character string, but only an adjacent character entry is extracted. As a result, since only n-1 adjacent character entries are extracted from the n-character search character string, the search can be speeded up.

例えば、検索文字列が「パターンマッチ」である時、次のエントリが抽出される。
・単一文字エントリ:抽出しない。
・隣接文字エントリ:以下の2文字に関数g(x,y)を作用させる。
パタ,ター,ーン,ンマ,マッ,ッチ
なお、この方式が有効なのは、f(x)=x,g(x,y)=x+αyに限らない。
For example, when the search character string is "pattern match", the next entry is extracted.
-Single character entry: Not extracted.
Adjacent character entry: The function g (x, y) is applied to the following two characters.
This method is not limited to f (x) = x, g (x, y) = x + αy.

次に、他の検索処理について説明する。
本実施例も、上述の検索処理と同様の効果を狙ったものであり、文字成分表エントリ定義がf(x)=x,g(x,y)=x+α(y mod β)(ここで、αは文字コードの取り得る最大値、βは適当な定数)のような場合を扱う。この時、検索文字列からg(X,Y)が抽出される時には、必ずf(X)は抽出される(例えば、g(パ,タ)が抽出される時は、必ずf(パ)も抽出される)。したがって、検索文字列を含む文書を特定する上で、末尾の1文字を除いては単一文字エントリは意味をなさない。そこで、検索文字列からは末尾の1文字から算出される単一文字エントリと、隣接文字エントリを抽出する。その結果、n文字の検索文字列から1個の単一文字エントリとn−1個の隣接文字エントリのトータルn個のエントリが抽出されるので、検索が高速化できる。
Next, another search process will be described.
This embodiment also aims at the same effect as the above-described search processing, and the character component table entry definition is f (x) = x, g (x, y) = x + α (y mod β) (where, α is the maximum value of the character code, and β is an appropriate constant). At this time, when g (X, Y) is extracted from the search character string, f (X) is always extracted (for example, when g (pa, ta) is extracted, f (pa) is always extracted). Extracted). Therefore, in specifying a document including a search character string, a single character entry has no meaning except for the last character. Therefore, a single character entry calculated from the last character and an adjacent character entry are extracted from the search character string. As a result, a total of n entries of one single character entry and n-1 adjacent character entries are extracted from the n character search character string, so that the search can be speeded up.

例えば、検索文字列が「パターンマッチ」である時、次のエントリが抽出される。
・単一文字エントリ:以下の文字に関数f(x)を作用させる。

・隣接文字エントリ:以下の2文字に関数g(x,y)を作用させる。
パタ,ター,ーン,ンマ,マッ,ッチ
なお、この方式が有効なのは、f(x)=x,g(x,y)=x+α(y mod β)に限らない。
For example, when the search character string is "pattern match", the next entry is extracted.
Single character entry: The function f (x) is applied to the following characters.
G. Adjacent character entry: The function g (x, y) is applied to the following two characters.
This method is not limited to f (x) = x, g (x, y) = x + α (y mod β).

次に、他の検索処理について説明する。
本実施例も上述の検索処理と同様の効果を狙ったものであり、文字成分表エントリ定義がf(x)=x,g(x,y)=y+α(x mod β)のような場合を扱う。この時、検索文字列からg(X,Y)が抽出される時には、必ずf(Y)は抽出される(例えば、g(パ,タ)が抽出される時は、必ずf(タ)も抽出される)。したがって、検索文字列を含む文書を特定する上で、先頭の1文字を除いては単一文字エントリは意味をなさない。そこで、検索文字列からは先頭の1文字から算出される単一文字エントリと、隣接文字エントリを抽出する。その結果、n文字の検索文字列から1個の単一文字エントリとn−1個の隣接文字エントリのトータルn個のエントリが抽出されるので、検索が高速化できる。
Next, another search process will be described.
This embodiment also aims at the same effect as the above-described search processing, and it is assumed that the character component table entry definition is f (x) = x, g (x, y) = y + α (x mod β). deal with. At this time, when g (X, Y) is extracted from the search character string, f (Y) is always extracted (for example, when g (pa, ta) is extracted, f (ta) is also always extracted). Extracted). Therefore, in specifying a document including a search character string, a single character entry has no meaning except for the first character. Therefore, a single character entry calculated from the first character and an adjacent character entry are extracted from the search character string. As a result, a total of n entries of one single character entry and n-1 adjacent character entries are extracted from the n character search character string, so that the search can be speeded up.

例えば、検索文字列が「パターンマッチ」である時、次のエントリが抽出される。
・単一文字エントリ:以下の文字に関数f(x)を作用させる。

・隣接文字エントリ:以下の2文字に関数g(x,y)を作用させる。
パタ,ター,ーン,ンマ,マッ,ッチ
なお、この方式が有効なのは、f(x)=x,g(x,y)=y+α(x mod β)に限らない。
For example, when the search character string is "pattern match", the next entry is extracted.
Single character entry: The function f (x) is applied to the following characters.
・ Adjacent character entry: The function g (x, y) is applied to the following two characters.
This method is not limited to f (x) = x, g (x, y) = y + α (x mod β).

また、文字成分表のエントリに3文字以上の長い文字列(から算出される値)をエントリに用いることで、文字成分表へのアクセス回数を減らし、検索を大幅に高速化できることを示した。図5に長い文字列をエントリとして持つ文字成分表を示す。「システム」「パターン」などが文字列エントリである。   In addition, it has been shown that the use of a long character string of three characters or more (a value calculated therefrom) as an entry in the character component table can reduce the number of accesses to the character component table and significantly speed up the search. FIG. 5 shows a character component table having a long character string as an entry. "System", "pattern", etc. are character string entries.

文字成分表エントリ指定において、単一文字エントリと隣接文字エントリを定義し、さらに、文字列エントリを導入した場合の検索処理を考える。上述の説明では、検索文字列中に含まれる文字列エントリに対応する文字列から抽出される単一/隣接文字エントリは、検索処理に用いないとしていた。   In the character component table entry specification, a single character entry and an adjacent character entry are defined, and a search process when a character string entry is introduced will be considered. In the above description, the single / adjacent character entry extracted from the character string corresponding to the character string entry included in the search character string is not used in the search processing.

例えば、検索文字列が「パターンマッチ」で「パターン」が文字列エントリとして定義されている時、次のエントリが抽出される。
・単一文字エントリ:以下の文字に関数f(x)を作用させる。
マ,ッ,チ
・隣接文字エントリ:以下の2文字に関数g(x,y)を作用させる。
ンマ,マッ,ッチ
・文字列エントリ:
パターン
For example, when the search character string is “pattern match” and “pattern” is defined as a character string entry, the next entry is extracted.
Single character entry: The function f (x) is applied to the following characters.
Ma, u, j Adjacent character entry: The function g (x, y) is applied to the following two characters.
Nma, Mach, Ritch • String entry:
pattern

もちろん、上述した文字成分表のエントリに3文字以上の長い文字列(から算出される値)をエントリに用いる検索方式にここで説明した検索処理を組み合わせることも可能である。
一方、本発明では、隣接文字エントリについては該当する文字列エントリに前後の文字を加えた文字列から抽出されるエントリを抽出しないことで、検索文字列から抽出エントリ数を削減し、検索を高速化する(単一文字エントリについては、これまで通り、該当する文字列エントリから抽出されるエントリを抽出しないこととする)。
Of course, it is also possible to combine the above-described search processing with a search method that uses a long character string of three or more characters (a value calculated therefrom) as an entry in the above-described character component table entry.
On the other hand, according to the present invention, the number of extracted entries is reduced from the search character string by not extracting the entry extracted from the character string obtained by adding the preceding and succeeding characters to the corresponding character string entry for the adjacent character entry, thereby reducing the number of extracted entries. (For single character entries, entries extracted from the corresponding character string entries are not extracted as before).

例えば、「パターンマッチ」から抽出されるエントリは、以下のようになり、エントリ数を一つ減らすことができる。
・単一文字エントリ:以下の文字に関数f(x)を作用させる。
マ,ッ,チ
・隣接文字エントリ:以下の2文字に関数g(x,y)を作用させる。
マッ,ッチ
・文字列エントリ:
パターン
For example, the entries extracted from “pattern match” are as follows, and the number of entries can be reduced by one.
Single character entry: The function f (x) is applied to the following characters.
Ma, u, j Adjacent character entry: The function g (x, y) is applied to the following two characters.
Match, character string entry:
pattern

次に、前述した説明では、検索条件として複数の文字列を論理演算子(AND,OR)で組み合わせたもの(単一の文字列もこの検索条件に含める)を受け付けるとしていた。ここで、“AND”は前後の文字列をともに含む文書を検索すること、“OR”は前後の文字列を少なくとも一つ含む文書を検索することを意味する。さらに、必要に応じて、演算子の作用順序を明示するために、“(”,“)”を用いることができるものとする。論理演算子を検索条件に用いることができるようにすることで、複雑な検索要求を表現することが可能となった。   Next, in the above description, a combination of a plurality of character strings by a logical operator (AND, OR) (a single character string is also included in the search condition) is accepted as a search condition. Here, "AND" means to search for a document including both the preceding and following character strings, and "OR" means to search for a document including at least one of the preceding and following character strings. Furthermore, "(", ")" can be used as necessary to clearly indicate the order of operation of the operators. By making it possible to use logical operators in search conditions, it has become possible to express complex search requests.

しかし、AND,ORだけでは「「文書検索」を含むが「画像検索」を含んでいないこと」のような否定を含む検索要求を表現することはできない。そこで、本実施例では、検索条件として複数の文字列を論理演算子(AND,OR,NOT)で組み合わせたものを受け付ける。ここで、“NOT”は前の文字列を含むが、後の文字列は含まない文書を検索することを意味する。   However, AND and OR alone cannot express a search request that includes a negation such as “including“ document search ”but not“ image search ””. Thus, in the present embodiment, a combination of a plurality of character strings by a logical operator (AND, OR, NOT) is accepted as a search condition. Here, "NOT" means to search for a document that includes the preceding character string but does not include the subsequent character string.

このAND,ORの処理では、演算子の前後の検索文字列に対するビット列を計算し(検索手順のステップ1)、それらのビットANDあるいはビットORを取れば良かった。しかし、NOTでは、同様の処理(前後の検索文字列に対するビット列を計算し、後側のビット列のビット反転して前側のビット列とビットANDを取る)では、検索洩れの可能性がある。これは、文字成分表を用いて得られる各検索文字列に対するビット列は、正確にその文字列を含む文書番号の表現ではなく、実際には、その文字列を含んでいない誤検索も含んでいるためである。その結果、ビット反転したビット列には、その文字列を含んでいない文書(番号)の一部は含まれないことになり、検索洩れが発生する。   In the AND and OR processing, it is sufficient to calculate a bit string for a search character string before and after the operator (step 1 of the search procedure) and take the bit AND or the bit OR thereof. However, in the case of NOT, similar processing (a bit string for the preceding and succeeding search character strings is calculated, and the bit sequence of the subsequent bit sequence is inverted to take the bit AND with the preceding bit sequence) may result in a missing search. This means that the bit string for each search string obtained using the character component table is not exactly a representation of the document number that includes the string, but also includes an erroneous search that does not actually include the string. That's why. As a result, the bit string whose bits have been inverted does not include a part of the document (number) that does not include the character string, and a search error occurs.

そこで、本実施例では、NOTについては前側の検索文字列に対するビット列をNOTの処理結果のビット列とする。その結果、NOTの処理結果には、後側の検索文字列を含む文書が含まれ、誤検索が発生する(誤検索は検索処理のステップ2で排除できるので、実用上は問題ない)。しかし、後側の検索文字列を含まない文書が含まれないことはなくなり、検索洩れを完全に防ぐことができる(検索洩れは検索処理のステップ2で救うことができないので、実用上の問題となる)。また、この方式では、後側の検索文字列を処理する必要がないので、文字成分表検索の高速化にも効果がある。   Therefore, in the present embodiment, regarding the NOT, the bit string corresponding to the preceding search character string is set as the bit string of the processing result of the NOT. As a result, the NOT processing result includes a document including the succeeding search character string, and an erroneous search occurs (an erroneous search can be eliminated in step 2 of the search processing, so that there is no practical problem). However, a document that does not include the subsequent search character string is not included, and search omission can be completely prevented. (Since search omission cannot be saved in step 2 of the search process, there is a practical problem. Become). In addition, in this method, it is not necessary to process the subsequent search character string, which is also effective for speeding up the character component table search.

次に、多数の文書を一括して登録する場合について説明する。
文書から文字成分を抽出し、文字成分表を生成するまでの過程は、図9〜図11に従って記述された実施例と同様に行われる。
これにより得られる文字成分表の構成は、図18に示されるようにインデックスとビットマップデータから成る。インデックス部は、文字成分とビットマップデータへのポインタの対応表である。ビットマップデータは文字成分表の文書中に文字成分が出現するか否かを示す0,1のデータである。大量の文書を登録する場合に、ビットマップデータは巨大になることから、メモリ上には置かず二次記憶に置く。
Next, a case where a large number of documents are registered collectively will be described.
The process from extracting a character component from a document to generating a character component table is performed in the same manner as in the embodiment described with reference to FIGS.
The structure of the character component table thus obtained is composed of indexes and bitmap data as shown in FIG. The index part is a correspondence table of character components and pointers to bitmap data. The bitmap data is 0, 1 data indicating whether or not a character component appears in the document of the character component table. When registering a large number of documents, the bitmap data becomes huge, so it is not stored in the memory but in the secondary storage.

二次記憶への登録の手法を特徴とするこの発明の実施例によると、一文書を登録するごとに文字成分表が生成され、その都度、直接二次記憶上の文字成分表に書き込むのではなく、一旦メモリ上に登録し、その後一括してメモリ上のデータを二次記憶の文字成分表に書き出す。図18に一括登録時のデータ構成を示す。この例では、簡便のために二次記憶上のデータ構成とメモリ上の構成を同じにしている。一括文書登録時にはメモリ上のテーブルに一時的に登録したデータ(図中の網かけ)を処理の最後に二次記憶のビットマップテーブルにコピーし、登録処理を完了する。   According to the embodiment of the present invention characterized by the method of registration in the secondary storage, a character component table is generated each time one document is registered, and each time it is directly written to the character component table in the secondary storage, Instead, the data is once registered in the memory, and then the data in the memory is collectively written out to the character component table in the secondary storage. FIG. 18 shows a data configuration at the time of batch registration. In this example, the data configuration on the secondary storage and the configuration on the memory are the same for simplicity. At the time of batch document registration, the data temporarily registered in the table on the memory (shaded in the figure) is copied to the bit map table of the secondary storage at the end of the processing, and the registration processing is completed.

さらに、当該文書管理装置のシステム内には、文書データを持たず、その代わりに文書の情報の一つとしてオリジナル文書のファイルシステム上での位置を示すディレクトリパス名を二次記憶上で管理し、参照にはディレクトリパス名を基に外部のファイルシステム上のオリジナル文書を直接参照するようになされている。
したがって、当該装置のシステム内部にオリジナルの文書データを持つ必要がなく、内部の二次記憶を無駄に利用しないだけではなく、該システムを介する煩わしさがなく、ユーザや他のアプリケーションによる登録文書の参照が可能となる。
Further, in the system of the document management apparatus, there is no document data, and instead, a directory path name indicating the position of the original document on the file system is managed on the secondary storage as one of the document information. For reference, the original document on the external file system is directly referenced based on the directory path name.
Therefore, it is not necessary to have original document data in the system of the device, not only does not use the internal secondary storage wastefully, but also there is no trouble through the system and the registration of documents registered by the user or other applications. Reference is possible.

また、文書の登録時にファイルシステム上の登録文書のオリジナルデータのディレクトリを指定し、そのディレクトリ内或いはその下位ディレクトリの文書をすべて登録しておき、当該文書管理装置において、該ディレクトリパス名を管理し、文書内容を参照する場合には、登録したディレクトリパス名を基に直接外部のファイルシステム上のオリジナルデータを参照するようになされている。
したがって、オリジナル文書をユーザが普段利用するファイルシステム上に置く場合には、一つのディレクトリ階層に存在する文書をそのまま当該文書管理装置で管理するシステムとすることが可能となる。また、ディレクトリを指定することによって、そのディレクトリ中に含まれる文書および下位のディレクトリ中に含まれる全文書を自動的に登録することができるようにすることで、ディレクトリ上の全文書を一つ一つユーザが指定する必要があったところの従来のユーザの負担を軽減することになる。
When a document is registered, the directory of the original data of the registered document on the file system is designated, all the documents in the directory or its lower directories are registered, and the directory management device manages the directory path name. When referring to the contents of a document, original data on an external file system is directly referred to based on the registered directory path name.
Therefore, when the original document is placed on a file system that is usually used by the user, a system in which a document existing in one directory hierarchy is directly managed by the document management device can be provided. Also, by specifying a directory, it is possible to automatically register the documents contained in the directory and all the documents contained in the lower directories, so that all the documents in the directory can be registered one by one. This reduces the burden on the conventional user where one user had to specify.

次に、上述したと同様に、ディレクトリパス名を基に直接外部のファイルシステム上のオリジナルデータを参照するようにした文書管理装置において、事前に当該装置に登録したい文書を置くディレクトリをューザが指定しておくと、当該装置は、そのディレクトリを常に監視し、文書の登録,更新,削除が行われた場合には、同じ操作を自動的に文字成分表に反映させ、登録,更新,削除を行う。このようにすることで、ユーザの文書操作の負担を軽減することができる。
ディレクトリを監視する方法としては、一定時間ごとに指定されたディレクトリの変化を調べる方法やOSなどの基本システムのファイル操作のシステムコールの処理を変更し、ファイル操作があった場合に文書管理システムに通知する方法などを採用し得る。
Next, in the same manner as described above, in the document management device that directly refers to the original data on the external file system based on the directory path name, the user specifies in advance the directory where the document to be registered in the device is placed. The device always monitors the directory, and when a document is registered, updated, or deleted, the same operation is automatically reflected in the character component table, and the registration, update, and deletion are performed. Do. By doing so, it is possible to reduce the user's burden of document operation.
As a method of monitoring a directory, a method of checking a change in a specified directory at regular time intervals or a change of a system call processing of a file operation of a basic system such as an OS is changed to a document management system when a file operation is performed. A method of notifying may be adopted.

本発明による文書管理装置の一実施例を説明するための構成図である。1 is a configuration diagram for explaining an embodiment of a document management device according to the present invention. 本発明における文字成分表の一例を示す図である。FIG. 3 is a diagram illustrating an example of a character component table according to the present invention. 本発明における文字成分表の他の例を示す図である。It is a figure showing other examples of a character ingredient table in the present invention. 本発明による文書管理装置の他の実施例を説明するための構成図である。FIG. 11 is a configuration diagram for explaining another embodiment of the document management apparatus according to the present invention. 本発明における長い文字列をエントリとして持つ文字成分表の例を示す図である。FIG. 6 is a diagram illustrating an example of a character component table having a long character string as an entry according to the present invention. 本発明における文字成分表のためのファイル構成の一例を示す図である。FIG. 4 is a diagram illustrating an example of a file configuration for a character component table according to the present invention. 本発明における文字成分表ファイルのブロック融合処理の概要(その1)を示す図である。It is a figure which shows the outline (the 1) of the block fusion process of the character component table file in this invention. 本発明における文字成分表ファイルのブロック融合処理の概要(その2)を示す図である。It is a figure which shows the outline (the 2) of the block fusion process of the character component table file in this invention. 本発明による文書管理装置の更に他の実施例を説明するための構成図である。FIG. 11 is a configuration diagram for explaining still another embodiment of the document management device according to the present invention. 本発明における単一文字成分表を示す図である。FIG. 5 is a diagram showing a single character component table in the present invention. 本発明における隣接文字成分表を示す図である。FIG. 4 is a diagram illustrating an adjacent character component table according to the present invention. 従来の検索方式を説明するための図である。FIG. 9 is a diagram for explaining a conventional search method. 本発明における検索方式(その1)を説明するための図である。FIG. 3 is a diagram for explaining a search method (part 1) in the present invention. 本発明における検索方式(その2)を説明するための図である。FIG. 9 is a diagram for explaining a search method (part 2) in the present invention. 本発明におけるデータ構成を示す図である。FIG. 3 is a diagram illustrating a data configuration according to the present invention. 本発明におけるまとめ上げ処理(その1)を説明するための図である。FIG. 8 is a diagram for explaining a grouping process (part 1) in the present invention. 本発明におけるまとめ上げ処理(その2)を説明するための図である。FIG. 9 is a diagram for explaining a grouping process (part 2) in the present invention. 本発明における一括登録処理の例を説明するための図である。It is a figure for explaining an example of a batch registration processing in the present invention.

符号の説明Explanation of reference numerals

1…登録文書、2…文書登録手段、3…検索条件、4…文書検索手段、5…該当文書、6…文字成分表エントリ指定、7…文字成分表、8…文書本文データ、9…文書データベース、9-1〜9-n…文書データベース、11…入力部、12…処理部、13…文字列入力処理部、14…文書検索処理部、15…文書出力処理部、16…文書登録処理部、17…データ部、18…文字成分表、19…出力部、20…文書データ。 DESCRIPTION OF SYMBOLS 1 ... registered document, 2 ... document registration means, 3 ... search conditions, 4 ... document search means, 5 ... applicable document, 6 ... character component table entry designation, 7 ... character component table, 8 ... document body data, 9 ... document Database, 9-1 to 9-n document database, 11 input unit, 12 processing unit, 13 character string input processing unit, 14 document search processing unit, 15 document output processing unit, 16 document registration processing Part 17 data part 18 character component table 19 output part 20 document data.

Claims (6)

大量の文書データを保持し、入力装置から入力された検索文字列を含む文書を検索し、出力装置により検索した文書を出力する文書管理方法であって、文書登録時に文書より各文字コード成分及び2文字以上の隣接文字からビット列成分を算出し、各文書がそれぞれの成分を含むか否かを示す単一文字成分表及び一つ以上の隣接文字成分表を生成し、該文字成分表の可変長の各文字成分のエントリを複数の固定長ブロックに分割して二次記憶に登録し、検索時には検索文字列から登録時と同様に単一文字成分及び2文字以上の隣接文字成分を抽出し、該隣接文字成分に対応する二次記憶上の固定長ブロックを統合し、各文字エントリを生成して文書を検索する文書管理方法において、仮に文字エントリで文字成分が出現するビットを1とし、出現しないビットを0とした場合に、検索時に複数の文字エントリのビットマップのAND処理を行う時に対象となる文字エントリを一つ適当に選択し、ビット列をスキャンして値が1である時だけ他のエントリの対応するビットを調べ、全てのエントリの対応するビットの値が1である文書を検索結果とすることにより、文字エントリのビットマップへのアクセスを最小限に全文検索を行うことを特徴とする文書管理方法。   A document management method for holding a large amount of document data, searching for a document including a search character string input from an input device, and outputting the searched document by an output device. A bit string component is calculated from two or more adjacent characters, and a single character component table and one or more adjacent character component tables indicating whether each document includes the respective components are generated, and a variable length of the character component table is generated. Is divided into a plurality of fixed-length blocks and registered in the secondary storage. At the time of search, a single character component and two or more adjacent character components are extracted from the search character string in the same manner as at the time of registration. In a document management method for integrating fixed-length blocks in secondary storage corresponding to adjacent character components, generating each character entry, and searching for a document, suppose that a bit in which a character component appears in a character entry is 1, When the bit that does not appear is set to 0, one of the target character entries is appropriately selected when performing a bit map AND process on a plurality of character entries during a search, and only when the value is 1 by scanning the bit string. By examining the corresponding bits of the other entries and setting the search result to a document in which the values of the corresponding bits of all the entries are 1, it is possible to perform a full-text search with minimum access to the bitmap of the character entry. Characteristic document management method. 文字エントリごとに該文字エントリに出現する1のビットの個数をあらかじめ二次記憶に記録しておき、検索時に複数の文字エントリのビットマップのAND処理を行う時に対象となる文字エントリのうち、該ビット出現数の最も少ない文字エントリを選択し、ビット列をスキャンして値が1である時だけビット出現数の少ない順に他の文字エントリの対応するビットを調べ、全ての文字エントリの対応するビットの値が1である文書を検索結果とすることにより、文字エントリのビットマップへのアクセスを最小限に抑え全文検索を行うことを特徴とする請求項1記載の文書管理方法。   For each character entry, the number of 1 bits appearing in the character entry is recorded in a secondary storage in advance, and among the character entries targeted when performing a bit map AND operation on a plurality of character entries at the time of retrieval, The character entry with the least number of bit appearances is selected, the bit string is scanned, and only when the value is 1, the corresponding bits of other character entries are examined in ascending order of the number of bit appearances. 2. The document management method according to claim 1, wherein a full-text search is performed by minimizing access to a bitmap of a character entry by setting a document having a value of 1 as a search result. 文字エントリの一部へのアクセスの場合に、文字エントリの全ブロックを読み出す必要がないように、可変長の文字エントリのビットマップデータを複数の固定長のブロックに分割して二次記憶に格納し、各固定長のブロックを管理するブロックテーブルを二次記憶上に有し、該ブロックテーブルから任意の固定長ブロックをアクセスできるようにすることによって、必要のない二次記憶上のブロックへのアクセスを減らして全文検索を行うことを特徴とする請求項2記載の文書管理方法。   Bitmap data of variable-length character entries is divided into multiple fixed-length blocks and stored in secondary storage so that it is not necessary to read all blocks of a character entry when accessing a part of a character entry. In addition, a block table for managing each fixed-length block is provided on the secondary storage, and an arbitrary fixed-length block can be accessed from the block table. 3. The document management method according to claim 2, wherein a full-text search is performed with reduced access. 大量の文書データを保持し、入力装置から入力された検索文字列を含む文書を検索し、出力装置により検索した文書を出力する文書管理装置であって、文書登録時に文書より各文字コード成分及び2文字以上の隣接文字からビット列成分を算出し、各文書がそれぞれの成分を含むか否かを示す単一文字成分表及び一つ以上の隣接文字成分表を生成し、該文字成分表の可変長の各文字成分のエントリを複数の固定長ブロックに分割して二次記憶に登録する文書登録処理部と、検索時には検索文字列から登録時と同様に単一文字成分及び2文字以上の隣接文字成分を抽出する文字列入力処理部と、該隣接文字成分に対応する二次記憶上の固定長ブロックを統合し、各文字エントリを生成して文書を検索する文書検索処理部とを有する文書管理装置において、前記文書検索処理部は、仮に文字エントリで文字成分が出現するビットを1とし、出現しないビットを0とした場合に、検索時に複数の文字エントリのビットマップのAND処理を行う時に対象となる文字エントリを一つ適当に選択し、ビット列をスキャンして値が1である時だけ他のエントリの対応するビットを調べ、全てのエントリの対応するビットの値が1である文書を検索結果とすることにより、文字エントリのビットマップへのアクセスを最小限に全文検索を行うことを特徴とする文書管理装置。   A document management device that retains a large amount of document data, searches for a document including a search character string input from an input device, and outputs the searched document by an output device. A bit string component is calculated from two or more adjacent characters, and a single character component table and one or more adjacent character component tables indicating whether each document includes the respective components are generated, and a variable length of the character component table is generated. A document registration processing unit that divides each character component entry into a plurality of fixed-length blocks and registers the same in a secondary storage, and a single character component and two or more adjacent character components from a search character string at the time of retrieval as in the case of registration. A document management apparatus comprising: a character string input processing unit for extracting a character string; and a document search processing unit for integrating fixed-length blocks on a secondary storage corresponding to the adjacent character components, generating each character entry, and searching for a document. If the bit in which a character component appears in a character entry is set to 1 and the non-appearing bit is set to 0 in the character entry, the document search processing unit performs an object process when performing a bit map of a plurality of character entries in a search. One character entry is selected appropriately, the bit string is scanned, and only when the value is 1, the corresponding bit of the other entry is checked, and a document in which the value of the corresponding bit of all entries is 1 is searched. A document management apparatus characterized in that a full-text search is performed by minimizing access to a bitmap of a character entry as a result. 前記文書検索処理部は、文字エントリごとに該文字エントリに出現する1のビットの個数をあらかじめ二次記憶に記録しておき、検索時に複数の文字エントリのビットマップのAND処理を行う時に対象となる文字エントリのうち、該ビット出現数の最も少ない文字エントリを選択し、ビット列をスキャンして値が1である時だけビット出現数の少ない順に他の文字エントリの対応するビットを調べ、全ての文字エントリの対応するビットの値が1である文書を検索結果とすることにより、文字エントリのビットマップへのアクセスを最小限に抑え全文検索を行うことを特徴とする請求項4記載の文書管理装置。   The document search processing unit records the number of 1 bits appearing in the character entry for each character entry in a secondary storage in advance, and stores the number of bits in a character map when performing an AND process on a bit map of a plurality of character entries. Out of the character entries, the character entry with the least number of bits is selected, the bit string is scanned, and only when the value is 1, the corresponding bits of the other character entries are examined in ascending order of the number of bits. 5. The document management according to claim 4, wherein a full-text search is performed by minimizing access to the bitmap of the character entry by setting a document whose corresponding bit value of the character entry is 1 as a search result. apparatus. 前記文書検索処理部は、文字エントリの一部へのアクセスの場合に、文字エントリの全ブロックを読み出す必要がないように、可変長の文字エントリのビットマップデータを複数の固定長のブロックに分割して二次記憶に格納し、各固定長のブロックを管理するブロックテーブルを二次記憶上に有し、該ブロックテーブルから任意の固定長ブロックをアクセスできるようにすることによって、必要のない二次記憶上のブロックへのアクセスを減らして全文検索を行うことを特徴とする請求項5記載の文書管理装置。   The document search processing unit divides the bitmap data of the variable-length character entry into a plurality of fixed-length blocks so that it is not necessary to read all the blocks of the character entry when accessing a part of the character entry. By storing a block table for managing each fixed-length block in the secondary storage and making it possible to access an arbitrary fixed-length block from the block table, unnecessary secondary 6. The document management apparatus according to claim 5, wherein a full-text search is performed by reducing accesses to blocks on the next storage.
JP2004010938A 1994-06-02 2004-01-19 Document management method and document management device Expired - Fee Related JP3565840B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004010938A JP3565840B2 (en) 1994-06-02 2004-01-19 Document management method and document management device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP12138594 1994-06-02
JP24165894 1994-10-05
JP2004010938A JP3565840B2 (en) 1994-06-02 2004-01-19 Document management method and document management device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP12137095A Division JP3563823B2 (en) 1994-06-02 1995-05-19 Document management device

Publications (2)

Publication Number Publication Date
JP2004178614A JP2004178614A (en) 2004-06-24
JP3565840B2 true JP3565840B2 (en) 2004-09-15

Family

ID=32718610

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004010938A Expired - Fee Related JP3565840B2 (en) 1994-06-02 2004-01-19 Document management method and document management device

Country Status (1)

Country Link
JP (1) JP3565840B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4682627B2 (en) * 2005-01-27 2011-05-11 富士ゼロックス株式会社 Document retrieval apparatus and method
JP5317418B2 (en) * 2007-02-28 2013-10-16 株式会社日立製作所 Program and inverted index storage method
CN102918524B (en) * 2010-05-28 2016-06-01 富士通株式会社 Information generation program, device, method and information search program, device, method
JP2015062146A (en) * 2015-01-05 2015-04-02 富士通株式会社 Information generation program, information generation apparatus, and information generation method
JP6304302B2 (en) * 2016-05-09 2018-04-04 富士通株式会社 Information generation method, information generation apparatus, and information generation program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3263963B2 (en) * 1991-12-25 2002-03-11 株式会社日立製作所 Document search method and apparatus
JPH06290217A (en) * 1993-03-31 1994-10-18 Ricoh Co Ltd Document retrieval system
JPH06309360A (en) * 1993-04-21 1994-11-04 Hitachi Ltd Full-text searching method matching process of negation condition

Also Published As

Publication number Publication date
JP2004178614A (en) 2004-06-24

Similar Documents

Publication Publication Date Title
US5548751A (en) Dynamic data storage system allowing variable size records and fields by using linked record segments
US4991087A (en) Method of using signature subsets for indexing a textual database
JP3771271B2 (en) Apparatus and method for storing and retrieving ordered collections of keys in a compact zero complete tree
US5201048A (en) High speed computer system for search and retrieval of data within text and record oriented files
US5717912A (en) Method and apparatus for rapid full text index creation
EP0702310B1 (en) Data retrieval system, data processing system, data retrieval method, and data processing method
US7840774B2 (en) Compressibility checking avoidance
EP0136710B1 (en) Data structure in a document processing system
US5530794A (en) Method and system for handling text that includes paragraph delimiters of differing formats
CA2281287C (en) Method and system for efficiently searching for free space in a table of a relational database having a clustering index
KR940005775B1 (en) Method of opening disk file
US5488717A (en) MTree data structure for storage, indexing and retrieval of information
JP3263963B2 (en) Document search method and apparatus
US5913209A (en) Full text index reference compression
US20020188614A1 (en) Software-based methodology for the storage and retrieval of diverse information
US5566329A (en) System and method for mutation of selected assignment operations on large data objects
KR20010022028A (en) Structure for a data-base
JP3003915B2 (en) Word dictionary search device
JP3518933B2 (en) Structured document search method
JP3565840B2 (en) Document management method and document management device
JP3563823B2 (en) Document management device
JP3859044B2 (en) Index creation method and search method
JP2007048318A (en) Relational database processing method and relational database processor
JP2925042B2 (en) Information link generation method
JP2675958B2 (en) Information retrieval computer system and method of operating storage device thereof

Legal Events

Date Code Title Description
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: 20040608

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040608

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080618

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090618

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090618

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100618

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees