JPH04169973A - 記号列検索方法および装置 - Google Patents

記号列検索方法および装置

Info

Publication number
JPH04169973A
JPH04169973A JP2295349A JP29534990A JPH04169973A JP H04169973 A JPH04169973 A JP H04169973A JP 2295349 A JP2295349 A JP 2295349A JP 29534990 A JP29534990 A JP 29534990A JP H04169973 A JPH04169973 A JP H04169973A
Authority
JP
Japan
Prior art keywords
search
symbol
symbol string
string
partial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2295349A
Other languages
English (en)
Inventor
Mitsuru Akisawa
秋沢 充
Hisamitsu Kawaguchi
川口 久光
Kanji Kato
加藤 寛次
Atsushi Hatakeyama
敦 畠山
Yoshiki Noguchi
孝樹 野口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Maxell Ltd
Original Assignee
Hitachi Ltd
Hitachi Maxell Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd, Hitachi Maxell Ltd filed Critical Hitachi Ltd
Priority to JP2295349A priority Critical patent/JPH04169973A/ja
Publication of JPH04169973A publication Critical patent/JPH04169973A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
〔産業上の利用分野〕 本発明はデータベースや文書ファイリングシステム等の
非数値データ処理を含む情報処理システムにおいて、デ
ータの高速な検索処理、特に文字列を対象とした文書デ
ータの全文検索に好適な記号列検索方法及びその方法を
実現する装置、更に該装置としての半導体集積回路に関
する。 〔従来の技術〕 情報処理システムの記憶容量が年々増大するに従い、文
書データに代表される非数値データを扱う処理の比率が
高くなっている。このような背景から、大容量のデータ
ベースから所望の文書やデータを高速に漏れなく検索す
る処理の重要性が高まりつつある。 従来、文書データの検索においては、キーワードや分類
コード等の付加情報を用いる方法が多く用いられてきた
。しかし、キーワードや分類コードだけでは細かい検索
の条件を厳密に表現することは難しく、十分な絞り込み
を行いにくい。更に文書データの増大に伴い、キーワー
ドや分類コードを付加するインデキシングの作業量が増
大し、文書データの賛録の遅れの原因になっている。 これらの問題を克服するために、文書の本文をスキャン
しつつ、その内容とユーザにより任意に設定されたキー
ワードとの比較照合を行う方法(以下、フルテキストサ
ーチと呼ぶ)が提案されている。 このフルテキストサーチを用いた文字列検索システムの
一例を第14図に示す。文字列検索システム300はホ
ストコンピュータに接続され、検索要求320と検索結
果324を通信によりやり取りする。ホストコンピュー
タから検索要求320が送られると、検索制御手段31
0はこれを受は付け、解析し、文字列照合手段313と
複合条件判別手段314へ検索制御情報321を送る。 また、検索制御手段310は記憶装置制御手段311を
制御して、文字列記憶手段312に格納されている文字
列データ322を文字列照合手段313へ転送させる。 文字列照合手段313は入力された文字列データ322
と、予め検索制御情報321として設定された文字列と
の照合を行ない、該当する文字列を検出すると、検出情
報323を複合条件判別手段314へ出力する。複合条
件判別手段314は、予め検索制御情報321として設
定された、検索要求中の文字列間の位置関係等に関する
複合条件に、検出情報323が合致するかを調べる。合
致する場合には、該当する文書データの識別情報や文書
内容を、検索結果3−24として出力し、これがホスト
コンピュータへ送られる。(アール、エル6ハスキン 
 アンド エル、ニー、ホラー:“オペレーショナル 
キャラクタリステイツクスオブ ア ハードウェア ペ
ースト パターンマツチャー″、ニー シー エム ト
ランザクションズ オン データベース システムズ、
第8巻、第1号、1983年(R,L、 Haskin
 and L。 A、Ho1laar:“0perational Ch
aracteristics ofa Hard+++
are−Based Pattern Matcher
”、ACM Trans。 on Database Systems、Vol、8
.No、1.1983) )上記文字列照合手段313
で行なうフルテキストサーチのひとつに有限オートマト
ンを用いた方法がある。この方法ではキーワード数によ
らず1回の本文スキャンで検索を行うことができる。 (ニー、ブイ、二一ホ アンド エム、ジエイ。 コラッシック:“エフィシエント ストリングマツチン
グ″、コミュニケーションズ ニー シーエム、第18
巻、第6号、1975年(A、V。 Aha and M、J、Corasick:“Eff
icient String Matching”、C
omm、ACM、Vol、18.No、6.1975)
 )  この方法はドントケア文字を含む検索、誤り文
字を含む検索など様々な曖昧検索も実現することができ
、フルテキストサーチに有効な手法である。この有限オ
ートマトンを用いたフルテキストサーチを高速に処理す
るアルゴリズムやその実現手段については、「特開昭6
3−311530号Jに記載されている。 ところで、「特開昭63−311530号」にも記載さ
れているように、従来の有限オートマトンを用いたフル
テキストサーチにおいては、各サイクルの状態遷移は常
に状態遷移テーブルを参照しつつ行なわれる。一般にこ
の状態遷移テーブルの容量は大きくなるため、有限オー
トマトンの実行を制御する半導体集積回路とは別チップ
のメモリに格納されるのが通例である。このため各サイ
クル毎に状態遷移を制御するオートマトン実行制御手段
から外部に設けられたメモリへのアクセスが必要となり
、処理速度向上の妨げとなってしまう。 そこで、検索文字列の照合処理において実行頻度の高い
部分を高速化することで、文字列検索のトータルの処理
速度を向上させる方式(高速先頭照合方式)が提案され
ている。(特願平1−268927号、特願平1−15
0401号)これは状態遷移テーブルの参照頻度の高い
部分、すなわちテーブルを格納しているメモリのアクセ
ス頻度の高いデータを、有限オートマトン実行手段と同
しチップ上に置く方式である。言い換えれば状態遷移テ
ーブルを階層化して、有限オートマトン実行手段の内部
と外部に分割して置くものである。これはある意味では
従来のキャッシュメモリの概念のアナロジ−のようであ
るが、照合処理中にデータを異なった記憶階層間で移動
させることがないという点で、キャッシュメモリとは本
質的に異なるものである。したがって状態遷移テーブル
のアクセス頻度の高い内容を、これと等価になるように
チップ上の並列比較器に設定することにより、この並列
比較器に設定された部分文字列とテキストデータとの比
較だけで、照合処理の大部分を行なうことができるよう
になる。つまり、メモリアクセスなしで大部分の処理が
行なえるようになるために処理速度が著しく向上するこ
とになる。 ところで、特願平1−268927号記載および、特願
平1−150401号においては、先頭照合処理を行な
う並列比較器に設定する部分文字列はすべて同じ文字数
であった。 第3図aのように、K1−に4の検索文字列が与えられ
た場合には、同図すのように、実線により状態遷移を示
す検索用オートマトンを生成する。 並列比較器には先頭2文字の部分文字列を設定する場合
を考える。このために5状態0→1→8の遷移を0→1
′→8と変更する。これにより連続する2文字で構成さ
れた遷移条件ができる。 第3図の分割線810はオートマトンの分割位置を示し
ている。この左側は並列比較器で処理する部分すなわち
先頭照合処理部、右側は状態遷移テーブルを参照しなが
ら状態遷移処理をする部分すなわち後方照合処理部であ
る。したがって、第4図に示すように、状態O→1→2
の遷移に相当する″文字″、状態0→1′→8の遷移に
相当する゛′文学″、そして状態O→10→11の遷移
に相当するパ検索″を並列比較器に設定する。 〔発明が解決しようとする課題〕 上記第4図のような部分文字列の設定を行なうと″文字
″、″文学″の両方に゛文′が含まれており冗長である
。登録できる部分文字列は有限なので、格納手段の有効
利用を図り、設定できる部分文字列数をできるだけ多く
することは重要である。上記従来技術では、この様に格
納手段の有効利用が図られていなかった。 また高機能な検索としては、任意の文字との一致を許す
ドントケア文字′?″を含む文字列の設定、曖昧検索を
行うために必要な、特定の文字以外のすべての文字との
一致を許す否定条件設定11′が行われる。 このとき、例えば“文字″と″文?″が異なる部分文字
列として設定されると、被検索文字列中に″文字″とい
う部分があれば両者がこれとの一致を示し、後方照合処
理部の異なる有限状態オートマトンが同一の処理タイミ
ングで発火する。また、″文−字″と゛′文学″が異な
る部分文字列として設定されても、被検索文字列中に″
文学″という部分があれば両者がこれとの一致を示し、
後方照合処理部の異なる有限状態オートマトンが同一の
処理タイミングで発火する。 このように、ドントケア文字列設定、否定条件設定が行
われると、複数の部分文字列を同時に検出してしまう多
重発火の可能性がでてくる。後方照合処理では同時に複
数回の状態遷移処理を行うことは不可能なので、従来は
多重発火を回避するために5例えばプライオリティ−エ
ンコーダを用いて発火した部分文字列に対して後方照合
処理を順次起動するということを行っていた。しかし、
プライオリティ−エンコーダを用いることによるハード
ウェア規模の増加や、後方照合処理で複数回の状態遷移
処理が起きることによる検索処理速度の低下という間順
があった。以上が本発明が解決しようとする課題である
。 すなわち本発明では、オートマトンを用いたフルテキス
トサーチによる文書検索の際に有効な、状態遷移テーブ
ルが格納されたメモリとオートマトン実行手段とのデー
タの入出力頻度を低減して処理の高速化を図る高速先頭
照合方式において、並列比較器に設定することのできる
部分文字列数を増やし、格納手段の有効利用を図る記号
列検索方法を提供することを目的とする。 本発明はまた。ドントケア文字設定や否定条件設定が行
われた場合の、多重発火を回避する記号列検索方法を提
供することを目的とする。 〔課題を解決するための手段〕 上記目的を達成するために、本発明においては、先頭照
合処理部分と後方照合処理部分とを分割するオートマト
ン分割線の位置を、各部分文字列ごとに独立に設定する
。例えば、第3図のように先頭照合処理部分に分岐遷移
する状1!1があると、並列比較器に設定する部分文字
列を得るために状態O→1の遷移条件である′文′を重
複して設定することになる。これを避けるために、先頭
照合処理部分に分岐遷移する状態を含まないように、分
割線の位置を状態○と状態1との間および状態10と状
態11との間と決める。すなわち、並列比較器に設定す
る複数の部分文字列の文字数を、各部分文字列ごとに任
意とすることにより課題を解決できる。 〔作用〕 第1図は本発明の詳細な説明するための図である。これ
を用いて本発明の詳細な説明する。 第1図に、第3図と同様の検索文字列に1〜に4と、こ
れらが与えられた場合の検索用オートマトンを示す。従
来は先頭照合処理部分と後方照合処理部分との分割を第
1の分割線810(点線で示す)により行なっていた。 このため、先頭照合を行なう並列比較器に部分文字列と
して設定する遷移条件は、゛′文字″、″文学″、′検
索”であった。 本発明では分割を第2の分割線82o(破線で示す)で
行なう。これにより、″文字″とパ文学″の2文字目の
′字′と゛学′は後方照合処理で行うことになり、先頭
照合処理では両者に共通な1文字目の′文′をひとつだ
け設定すればよいことになる。つまり、先頭照合を行な
う並列比較器に部分文字列として設定する遷移条件は、
第2図に示すように゛文′、“検索”となる。したがっ
て、設定部分文字列数が従来の3から2となり、格納手
段の効率的な利用が可能となる。 また、ドントケア文字設定や否定条件設定が行われた場
合に問題となる、先頭照合処理での多重発火も、これを
避けるように検索用オートマトンの分割線を変更するこ
とにより対処することができる。すなわち″文字″と゛
′文?″が並列比較器に設定する部分文字列に含まれて
いる場合でも、オートマトンの分割線を変更して1文字
目の′文′をひとつだけ設定すれば、″文字″という被
検索文字列が入力されても後方照合処理の有限状態オー
トマトンの多重発火を防ぐことが可能となる。 [実施例] 以下、本発明の実施例について説明する。 本発明の部分文字列設定のための、オートマトン分割の
第1の実施例を第5図に示す。検索文字列として、 K1:”文字列照合″ に2:”文章データ′″ に3:”文書検素″ に4:”文献調査″ に5:”検索制御方式″ が設定されている。先頭照合処理部分の並列比較器に設
定可能な部分文字列の文字数は2文字までとする。従来
の高速先頭照合方式の部分文字列設定法によれば、オー
トマトンは第1の分割線810(点線で示す)により分
割され、部分文字列として、 ″文字″ “文章″ “文書″ “文献″ ″検索″ が先頭照合処理部分の並列比較器に設定される。 すなわち、第6図に示すように部分文字列格納手段17
0へこれら5個の部分文字列を設定する。 本発明によれば、オートマトンは第2の分割線820(
破線で示す)により分割され、部分文字列は ″文″ ″検素″ を設定すればよいことになる。したがって、第7図に示
すように部分文字列格納手段170へこれら2個の部分
文字列を設定するだけで済む。尚。 第7図の部分文字列格納手段における斜線は、その部分
が無効領域であることを意味している。すなわち、後に
説明するバリッドフラグレジスタへの制御情報の設定に
よって、斜線部分は照合には無関係となる。これはドン
トケア文字の設定と等価である。 以上のように、本実施例によれば先頭照合処理を行う並
列比較器の部分文字列格納手段の効率的な利用が可能で
ある。 オートマトン分割の第2の実施例を第8図に示す。本実
施例では、他の文字との1文字置き換えを許容する曖昧
検索を実現するため、検索文字列として、 K1:”文字列照合″ に2:“文字列照−合″ K 3 : ”文字列−照合″ に4:”文字−列照合″ に5:”文−字列照合′″ に6:”−文字列照合″ K 7 : ”文学史″ に8:“文学−史″ に9:”文−学史” KIO:“−文学史″ が設定されている。ここで、−”は″その文字以外のす
べての文字を示す″否定条件設定を表す。 すなわち、“1合”では“合”以外のすべての文字を表
すことになる。並列比較器に設定可能な部分文字列の文
字数は2文字までとしている。従来の高速先頭照合方式
の部分文字列設定法によれば、オートマトンは第1の分
割線810(点線で示す)により分割され1部分文字列
として、 ″文字″ ″文−字″′ ″字列″ ″文学″ ゛′文−学″ ″学史″ が先頭照合処理部分の並列比較器に設定される。 すなわち、第9図に示すように部分文字列格納手段17
0へこれら6個の部分文字列を設定する。 本発明によれば、オートマトンは第2の分割線820(
破線で示す)により分割され、部分文字列は ″文″ ′″字列″ “学史″ を設定すればよいことになる。したがって、第10図に
示すように部分文字列格納手段170へこれら3個の部
分文字列を設定するだけでよい。 以上のように1本実施例によれば部分文字列格納手段へ
設定する部分文字列数が低減され、部分文字列格納手段
が効率的に利用されるという効果がある。しかも、先頭
照合オートマトン13には、初期状態以外には分岐遷移
する状態が含まれていないので、多重発火を回避するこ
とができるという効果も同時に得られる。 第11図は本発明の記号列検索方式を実行する、記号列
検索装置の実施例のブロック図である。 この装置は、文書データすなわち被検索文字列101を
取り込む入カバソファ102、入力文字コード130と
予め設定された複数の検索文字列の部分文字列とを一括
照合する並列比較器106、該並列比較器106におい
て照合の際に参照し。 部分文字列の任意位置にドントケア文字の設定を可能と
するバリッドフラグレジスタ400、及び否定条件の設
定を可能とする否定条件フラグレジスタ410(以降こ
れらを総称して照合制御レジスタと呼ぶ)、並列比較器
106での比較の結果、検索文字列の部分文字列との一
致が検出されたことを知らせる一致信号131を、オー
トマトンの各状態に対応づけられる識別コート(以後、
状態コートと呼ぶ)132に変換するコード変換器10
7、次の入力文字コードに対して処理をすべきトークン
の存在する活性化した状態(以後、現状態と呼ぶ)を保
持する状態コードキュー109、状態コードキュー10
9へ入力する状態コード133の選択をする入力セレク
タ108、オートマトンの状態遷移動作を制御するオー
トマトン実行手段104、これに入力する文字コード1
35を蓄える文字コートバッファ103、オートマトン
の状態遷移の制御情報を格納した状態遷移テーブル11
0、出力する検索結果111を保持する出力バッファ1
o5.から構成される。 データベース内の文書データは被検索文字列101とし
て1文字単位、あるいは複数文字単位で入カバソファ1
02へ入力される。被検索文字列101は並列比較器1
06、および入力文字コードバッファ103へ入力する
ために、データ転送バス幅に合わせたビットサイズに入
力バッファ102でデータ幅を変換される。そして同期
をとって、有限オートマトン実行手段104の前段の文
字コードバッファ103と、並列比較器106へ同時に
転送される。 並列比較器106には、予め検索文字列の先頭部分が部
分文字列として格納されており、入力バッファ102か
ら1文字、あるいは複数文字送られるたびに、すべての
検索文字列の部分文字列との照合が同時に行われる。こ
の時バリッドフラグレジスタ400.否定条件フラグレ
ジスタ410に設定した条件が、部分文字列の照合条件
として参照される6検索文字列の部分文字列との一致が
検出されると、一致信号131はコード変換器1o7に
より、各部分文字列が検出されたことを示す状態に対応
する識別コード、すなわち状態コード132に変換され
る。このコードは状態遷移テーブル110の内部に設定
された状態コードと統一が図られており、有限オートマ
トン実行手段104の内部ではそのまま状態コードとし
て扱われる。コート変換器107から出力された状態コ
ート132は、セレクタ108により選択されて状態コ
ートキュー109に蓄えられる。 一方、文字コードバッファ103内の文字コートデータ
に対して、上記の並列比較と同時に有限オートマトン実
行手段104による処理が行われる。文字コートバッフ
ァ103は、入力バッファ102の文字コード転送速度
と、有限オートマトン実行手段104の処理速度とのギ
ャップを解消するためのものである。有限オートマトン
実行手段104の入力は、文字コードバッファ103内
部の文字コードデータと状態コートキュー109に蓄え
られている現状態コード134である。有限オートマト
ン実行手段104は状態コードキュー109から現状態
コード134を取り出して、これと文字コートバッファ
103内の文字コードデータ135とから状態遷移テー
ブル110のアクセスアドレス137を生成する。該当
アドレスの内容が有限オートマトンの現状態の遷移先1
38となり、これがセレクタ108を通して状態コ−ド
キュー109に蓄えられる。この様に現状態コードが処
理されると、次の文字コードデータが文字コートバッフ
ァ103から取り込まれる。 こうした一連の処理が繰り返される過程で、オートマト
ンの状態遷移の結果138が検索文字列の検出を示す状
態となった場合に、一致する文字列が検出されたことに
なる。そして、これらに対応する検索結果111が出力
バッファ105へ書き出される。 以上の一連の処理は、制御論理ブロック(図中には示し
ていない)により制御される。したがって各モジュール
間のデータバス上のデータ転送は、制御論理ブロックが
制御する。 尚、本実施例は半導体集積回路として実現することで、
より高速な処理が可能となる。 並列比較器の実施例を第12図に示す。本図では連想機
能を持つメモリ、すなわちCA M (Content
 Addressable Memory)を並列比較
器に用いている。 本実施例では、1ワードを4バイトのCAMレジスタで
構成し、全体が16ワード(CAM  R○〜R15)
の構成としている。入力バッファ102に取り込んだ文
字列を部分文字列として設定するために、選択的に任意
のCAMレジスタへ転送すること(設定モード)と、取
り込んだ被検索文字列101を複数の部分文字列と並列
照合するために、同時に全てのCAMレジスタへ分配す
ること(比較モード)を可能としている。個々の部分文
字列比較回路の構成は同じなので、添え字Oのものを例
にして説明を行う。 本実施例は、並列比較器106へ設定される第1番目の
部分文字列を格納するCAMレジスタ(RO)201−
0、該CAMレジスタ(RO)201−0の設定データ
のバイトごとの有効性を示し、ドントケア設定を可能と
するバリッドフラグレジスタ(VFO)400−0、否
定条件の設定を可能とする否定条件フラグレジスタ(E
FO)410−0、該否定条件フラグレジスタ(VFO
)410−’Oがセット(’1’)されている場合には
、該CAMレジスタ(RO)201−0で(7)バイト
ごとの比較照合結果をそのまま有効として出力し、リセ
ット(’O’ )されている場合にはCAMレジスタ(
RO)201−0でのバイトごとの比較照合結果を論理
反転して、設定された否定条件に対する比較照合結果を
出力する論理回路部411−0と、該バリッドフラグレ
ジスタ(VFO)400−0がセット(’1’)されて
いる場合には、該CAMレジスタ(RO)201−0で
のバイトごとの否定条件設定に対する比較照合結果を出
力する論理回路部411−○の出力を有効とし、リセッ
ト(’O’ )されている場合には該論理回路部411
−0でのバイトごとの比較照合結果を無効として常に′
1′を出力するとともにこれらバイトごとの結果を統合
する論理回路部203−0と、部分文字列の全バイトを
バリッドフラグレジスタ(VFO)400−0で無効指
定した場合にこれを検出する論理回路部204−0と、
上記論理回路部203−0.204−0の結果である2
14−0.215−0を統合して部分文字列の最終的な
比較照合結果を得る論理回路部205−0、及びその出
力である一致信号線(hO)216−〇、から構成され
、この1ワ一ド分のハードウェア16組から、並列比較
器106の全体が構成されている。なお、本実施例のC
AMレジスタのバイト、ワード構成、およびバリッドフ
ラグレジスタ、否定条件フラグレジスタの構成は。 それぞれ容易に拡張可能であり、任意のものを取りうる
。 CA M 17ジスタ (RO−R15)201.バリ
ッドフラグレジスタ(VFO〜VF15)400、否定
条件フラグレジスタ(EFO−EF15)410へは、
入力バッファ102を介して任意のものにアクセスする
ことができる。また1個々の専用のデータバスを設ける
構成も取りうる。 指定された文字列の検索に必要な部分文字列とバリッド
フラグレジスタ400.否定条件フラグレジスタ410
の内容を設定した後1部分文字列を全く設定していない
不要なCAMレジスタ2゜1に対しては、付随するバリ
ッドフラグレジスタ400をリセットし、無効化する。 これにより不要なCAMレジスタでの比較照合処理は論
理回路部204によって常に不一致となり、−M信号は
ディスイネーブル固定となる。 以上の初期設定の後に、被検索文字列101が入力バッ
ファ102を介して全てのCAMレジスタ201へ同時
に分配される。個々のCAMレジスタ201は比較モー
ドにしであるため、分配された入力文字コードとあらか
じめ設定されている部分文字列との照合を行う。両者の
照合はビット対応に行ない、その結果は1バイトごとに
論理積をとってまとめる。すなわち、8ビツトコードで
あれば英数字1文字単位で完全一致を検出する。 これらの比較照合結果は、まず否定条件フラグレジスタ
410の内容を参照して一致、不一致の判定を行ない、
次にバリッドフラグレジスタ400の対応ビットと共に
バイト比較結果を統合する論理回路部203に入力され
る。バリッドフラグレジスタ400によって部分文字列
中にドントケア文字の設定されたバイトについては、常
に一致を示す値が出力される。これらの出力についてま
とめて論理積がとられる。すなわち、部分文字列1詑の
比較結果215が得られることになる。 一方、上述した論理回路だけでは4バイトすへてを無効
に指定すると、どの様な入力文字コードに対しても一致
を示してしまう。従って、同一ワード内のバリッドフラ
グレジスタ400がすべてリセットされている場合には
一致信号が常にディスイネーブルされる必要がある。こ
のための論理回路を構成するのが、第12図の204.
205である。 以上のように本実施例によ九ば、複数の部分文字列に対
して並列に比較照合処理を高速に行うことができるだけ
でなく、部分文字列の任意の位置に否定条件文字とドン
トケア文字を設定することができる。また、並列比較器
106の1ワード以下の語長であれば、不要部分にドン
トケア文字の設定、すなわち不要部分のバリッドフラグ
400をリセットすることにより、1ワードごと独立に
バイト単位で任意の長さの部分文字列を設定することも
可能となり、柔軟な並列比較照合処理が実現できるとい
う効果が生じる。また、バリッドフラグレジスタ400
の操作のみで、−度設定した部分文字列の破棄、回復が
高速に行えるという効果も生じる。 尚、本実施例は半導体集積回路として実現することで、
より高速な処理が可能となる。 第13図は並列比較器での先頭照合を実現するための部
分文字列、及び照合制御レジスタ40の設定の一実施例
である。本実施例では並列比較器内106に設定する部
分文字列と、バリッドフラグレジスタ400、否定条件
フラグレジスタ410へそれぞれ設定するデータを示し
ている。 部分文字列は第7図に示されているものを設定する。バ
リッドフラグレジスタ400へは、文字を設定した箇所
に対応するように、各文字ごとに1′をフラグへセット
し、それ以外の使用しない箇所に対応するフラグはリセ
ット(0′をセット)する。否定条件フラグレジスタ4
10へは、否定条件が設定されていないことを示す1′
を初期値として設定し1部分文字列として否定条件を伴
って設定すべき文字に対してのみ、該当するフラグをリ
セット(0′をセット)する。 したがって、第7図に示されている部分文字列゛′文T
+%L検索′″を並列比較器内に設定するためには、第
13図に示されているようにそれぞれの項目を設定すれ
ばよい。ここで斜線部分はバリッドフラグレジスタによ
りバイト単位で無効領域指定となっている部分であり、
特に何も設定する必要はない。第13図は設定の一例で
あり、例えば各項目は組合せさえ同じであれば、設定す
るレジスタの位置はどこでもよい。
【発明の効果】
本発明によれば、以下の如き効果が得られる。 オートマトンを用いたフルテキストサーチによる文書検
索の際に、有限オートマトン実行手段の前段に並列比較
器を置き先頭照合処理を高速化し、検索処理速度を向上
させる検索方式において、先頭照合処理部分と後方照合
処理部分とを分割するオートマトン分割線の位置を、先
頭照合処理部分に分岐遷移する状態を含まないように、
各部分文字列ごとに独立に設定することにより、並列比
較器内の部分文字列格納手段の有効な利用が可能となる
。同時に、複数の部分文字列が同一の処理タイミングで
検出されてしまう、多重発火を回避できる。
【図面の簡単な説明】
第1図は本発明の詳細な説明図、第2図は第1図に基づ
く部分文字列の設定例を示す説明図、第3図は従来の方
法の説明図、第4図は第3図に基づく部分文字列の設定
例を示す説明図、第5図は本発明の第1の実施例の説明
図、第6図は従来の方法による、第5図のオートマトン
からの部分文字列の格納手段への設定例を示す説明図、
第7図は本発明による、第5図のオートマトンからの部
分文字列の格納手段への設定例を示す説明図、第8図は
本発明の第2の実施例の説明図、第9図は従来の方法に
よる、第8図のオートマトンからの部分文字列の格納手
段への設定例を示す説明図、第10図は本発明による、
第8図のオートマトンからの部分文字列の格納手段への
設定例を示す説明図、第11図は本発明の記号列検索装
置の実施例の構成を示すブロック図、第12図はCAM
を用いた並列比較器の実施例の説明図、第13図は第1
2図の並列比較器での部分文字列検索を実現するための
照合制御レジスタおよび部分文字列の設定例の説明図5
第14図は文字列検索システムの説明図である。 符号の説明 13・・・先頭照合オートマトン、 14 後方照合オートマトン、 40・照合制御レジスタ、 101・・被検索文字列、 102  ・入力バッファ、 103・・文字コードバッファ、 104・・有限オートマトン実行手段、105・・・出
カバソファ、 106  並列比較器、 107・コード変換器、 108・・セレクタ、 109・・状態コードキュー、 110・・・状態遷移テーブル、 111.136・・・検索結果、 130.135・・・入力文字コード、131・・・一
致信号、 132.133.134・・・状態コード、137・状
態遷移テーブルアクセスアドレス、138・・・遷移先
の状態、 170・・・部分文字列格納手段、 201−○〜15・・CAMレジスタ、203−0〜1
5・・・バイトごとの比較照合結果を統合する論理回路
部、 204−0〜15 バリッドフラグの全ビット無効指定
を検出する論理回路部、 205−0〜15・・部分文字列の最終照合結果を出力
する論理回路部、 212−0〜[5・・・バイト単位の比較結果、213
−0〜15・・・バリッドフラグレジスタ・データ、 214−0〜15・・・バリッドフラグの全ビット無効
指定検出結果、 215−0〜15・・部分文字列比較結果、216−0
〜15・・・部分文字列の最終照合結果、300 ・文
字列検索システム、 310・・検索制御手段、 311・記憶装置制御手段、 312・文字列記憶手段、 313−文字列照合手段、 314・・複合条件判別手段、 320・・・検索要求。 321・検索制御情報、 322・・・文字列データ、 323・検出情報、 324・・・検索結果、 400−o〜15・・バリッドフラグレジスタ、410
−0〜15・・否定条件フラグレジスタ、411−0〜
15・・・否定条件フラグレジスタの内容を参照したバ
イトごとの照合結果、 810.820・・・オートマトン分割線。

Claims (1)

  1. 【特許請求の範囲】 1、コード表現された記号で構成される被検索記号列中
    に、複数の検索対象記号列が存在するか否かを一括して
    判定するオートマトンを用いた記号列検索方法において
    、 複数の検索記号列を被検索記号列中から一括して検索す
    る際に、 該検索記号列を任意の位置で少なくとも2つの部分記号
    列に分割し、分割したものの1つの部分記号列の照合す
    なわち先頭照合処理を行なった結果、該部分記号列に関
    する検索条件を満足した検索記号列に対してのみ、残り
    の部分記号列の照合すなわち後方照合処理を行い、ここ
    で該残りの部分記号列に関する検索条件を満足した場合
    に該検索記号列が検索されたと判定する記号列検索方法
    であって、 先頭照合処理を行う複数の部分記号列として、それぞれ
    独立に比較記号数を設定することを特徴とする記号列検
    索方法。 2、第1請求項記載の記号列検索方法において、複数の
    検索記号列の第(i−1)番目までが同一の記号であり
    、第i番目以降に共通記号がない場合、高々第(i−1
    )番目までの共通記号部分のみを先頭照合処理部分に設
    定することを特徴とする記号列検索方法。 3、コード表現された記号で構成される被検索記号列中
    に、複数の検索対象記号列が存在するか否かを一括して
    判定するオートマトンを用いた記号列検索方法であって
    、 複数の検索記号列を被検索記号列中から一括して検索す
    る際に、 該検索記号列を任意の位置で少なくとも2つの部分記号
    列に分割し、分割したものの1つの部分記号列の照合す
    なわち先頭照合処理を行なった結果、該部分記号列に関
    する検索条件を満足した検索記号列に対してのみ、残り
    の部分記号列の照合すなわち後方照合処理を行い、ここ
    で該残りの部分記号列に関する検索条件を満足した場合
    に該検索記号列が検索されたと判定する記号列検索方法
    を実行可能であり、 先頭照合処理を行う複数の部分記号列として、それぞれ
    独立に比較記号数を設定できるようにしたことを特徴と
    する記号列検索装置。 4、第3請求項記載の記号列検索装置において、複数の
    検索記号列の第(i−1)番目までが同一の記号であり
    、第i番目以降に共通記号がない場合、高々第(i−1
    )番目までの共通記号部分のみを先頭照合処理部分に設
    定することを特徴とする記号列検索装置。 5、第4請求項記載の記号列検索装置の全体、もしくは
    一部を内蔵することを特徴とする半導体集積回路。
JP2295349A 1990-11-02 1990-11-02 記号列検索方法および装置 Pending JPH04169973A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2295349A JPH04169973A (ja) 1990-11-02 1990-11-02 記号列検索方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2295349A JPH04169973A (ja) 1990-11-02 1990-11-02 記号列検索方法および装置

Publications (1)

Publication Number Publication Date
JPH04169973A true JPH04169973A (ja) 1992-06-17

Family

ID=17819461

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2295349A Pending JPH04169973A (ja) 1990-11-02 1990-11-02 記号列検索方法および装置

Country Status (1)

Country Link
JP (1) JPH04169973A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007537626A (ja) * 2004-04-19 2007-12-20 ザ・リージェンツ・オブ・ザ・ユニバーシティ・オブ・カリフォルニア 深いパケットフィルタリングのためのプログラム可能なハードウエア

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007537626A (ja) * 2004-04-19 2007-12-20 ザ・リージェンツ・オブ・ザ・ユニバーシティ・オブ・カリフォルニア 深いパケットフィルタリングのためのプログラム可能なハードウエア
JP4755175B2 (ja) * 2004-04-19 2011-08-24 ザ・リージェンツ・オブ・ザ・ユニバーシティ・オブ・カリフォルニア 深いパケットフィルタリングのためのプログラム可能なハードウエア

Similar Documents

Publication Publication Date Title
US5452451A (en) System for plural-string search with a parallel collation of a first partition of each string followed by finite automata matching of second partitions
JP3672242B2 (ja) パターン検索方法、パターン検索装置、コンピュータプログラム及び記憶媒体
Hollaar Text retrieval computers
JPH03129426A (ja) 分類加速装置のための速度及びメモリー制御
US20030158725A1 (en) Method and apparatus for identifying words with common stems
JP2986865B2 (ja) データ検索方法および装置
JPH03116323A (ja) リバウンド分類装置を併合装置として使用する分類加速装置
JP3213244B2 (ja) データ圧縮方法およびデータ処理システム
JPS61210478A (ja) ベクトル処理装置
JP2880199B2 (ja) 記号列検索方法および検索装置
JPH04169973A (ja) 記号列検索方法および装置
JP2825009B2 (ja) 記号列検索方法および装置
JPH03129521A (ja) 分類加速装置の安定分類
JPH1027183A (ja) データ登録方法および装置
JP2880192B2 (ja) 文字列検索方法及び装置
Lee ALTEP—A cellular processor for high-speed pattern matching
JPH04308B2 (ja)
JPH0380366A (ja) ストリングサーチ方法およびそのための装置
WO2023210643A1 (ja) 全文検索プロセッサ
JP7475078B2 (ja) 全文検索プロセッサ
CN117271533B (zh) 一种大型数据链表的构建方法、装置及终端设备
JPH09212523A (ja) 全文検索方法
JPH0752450B2 (ja) 辞書デ−タ検索装置
JPS63198123A (ja) 文字列照合方法
JP2835065B2 (ja) 文字列検索方法