JP3141428B2 - 数値検索装置およびその方法 - Google Patents

数値検索装置およびその方法

Info

Publication number
JP3141428B2
JP3141428B2 JP03158078A JP15807891A JP3141428B2 JP 3141428 B2 JP3141428 B2 JP 3141428B2 JP 03158078 A JP03158078 A JP 03158078A JP 15807891 A JP15807891 A JP 15807891A JP 3141428 B2 JP3141428 B2 JP 3141428B2
Authority
JP
Japan
Prior art keywords
state
range
numerical value
character string
search
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
JP03158078A
Other languages
English (en)
Other versions
JPH04348472A (ja
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 filed Critical Hitachi Ltd
Priority to JP03158078A priority Critical patent/JP3141428B2/ja
Publication of JPH04348472A publication Critical patent/JPH04348472A/ja
Application granted granted Critical
Publication of JP3141428B2 publication Critical patent/JP3141428B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はデータベースシステ
ム、文書ファイリングシステム等の非数値データ処理を
含む情報処理システムにおいて、文字列が現す数値の大
小比較検索を行なうことができる数値検索装置及びその
方法、とくに文字列検索による文書データの全文検索に
好適な文字列の数値検索装置及びその方法に関するもの
である。
【0002】
【従来の技術】従来、文書データの検索においては、キ
ーワードや分類コード等の付加情報を用いる方法が多く
取られてきた。しかし、キーワードや分類コードだけで
は、細かい検索の条件を厳密に表現することは難しく、
十分な絞り込みを行ないにくい。したがって、この方法
では検索者が意図しなかった文書も検索ノイズとして含
まれてしまう。そのため、最終的には検索者が直接本文
を読んで文書データを選択しなければならず、検索処理
の効率が上がらないという問題があった。さらに、文書
データの増大に伴い、キーワードや分類コードを付加す
るインデキシングの作業量が増大し、文書データの登録
の遅れの原因になっている。また、キーワードや分類コ
ードは時代と共にその意味が変化して陳腐化する場合が
あり、データベースの最新性維持の困難の原因となって
いる。
【0003】これらの問題を克服するために、文書の本
文をスキャンしつつ、その内容とユーザにより任意に設
定されたキーワードとの比較照合を行なう方法(以下、
フルテキストサーチと呼ぶ)が提案されていて、アール
・エル・ハスキンアンドエー・ホラー“オペレーショナ
ル キャラクタリスティックス オブ アハードウェア
ーデースド パターン マッチャー”エーシーエム ト
ランザクションズ オン データベースシステムズ 第
8巻 第1号 1983年(R.L. Haskin and L. A. Ho
llaar: “Operational Characteristics of a Hardware
-BasedPattern Matcher", ACM Trans. on Database Sys
tems, Vol.8, No.1, 1983)に示されている。
【0004】このフルテキストサーチを用いた文字列検
索システムの一例を図2に示す。まず、検索者401は
ホストコンピュータ400に検索条件である検索キーワ
ード325を指定する。ホストコンピュータ400は検
索条件である検索キーワード325に応じて検索制御情
報321を文字列検索装置300の文字列照合回路31
3に転送する。そして,記憶装置制御回路311に起動
をかける。これに応じて,記憶装置制御回路311は,
制御情報323を用いて文字列記憶装置312に格納さ
れている被検索文字列20を文字列照合手段313へ転
送させる。文字列照合手段313は入力された被検索文
字列20と、予め検索制御情報321として設定された
文字列との照合を行ない、該当する文字列を検出する
と、検索結果45をホストコンピュータ400へ送る。
ホストコンピュータ400は,検索結果45に対応した
文書情報326を検索者401に表示する。
【0005】ところで、フルテキストサーチにおいては
文書中のアルファベット等の文字列のみならず数値を対
象として、特定の範囲の数値を一度に検索すること(以
下、範囲条件検索という)が行われている。たとえば、
「15≦K≦142」に示すような範囲条件が指定でき
れば、文書中に15から142までの記述のある文書を
全て検索できる。
【0006】フルテキストサーチを実現する方法の一つ
に,有限オートマトンを用いる方法があり,従来の有限
オートマトンを用いたフルテキストサーチにおける範囲
条件検索が可能な文字列検索装置が米国特許4,241,402
号に記載されている。
【0007】この文字列検索装置の文字列照合回路31
3には有限オートマトンが使用されており,この有限オ
ートマトンで範囲条件検索を実現していた。この動作例
を説明する。フルテキストサーチでは、数値も文字コー
ドのまま左詰めで文字列記憶装置312に格納されてい
て、文字列照合回路313は,1文字ずつ被検索文字列
20を読み込み、範囲条件を満足する数値かどうか判定
している。
【0008】例として,範囲条件「15≦K≦142」
を実現する有限オートマトンを図3に示す。このオート
マトンは1文字入力する毎に状態遷移して,数値を検索
するものである。たとえば、文書中に「、40、」とい
う文字列があるとすると、最初の状態は0とする。ま
ず、「、」を入力すると数値ではないので状態は0のま
まである。「4」を入力すると、状態2に遷移する。次
に「0」を入力すると,状態6に遷移する。そし
て,「、」を入力したとき「40」が範囲条件を満足す
る数値と判定して、2重丸の状態0に遷移して(2重丸
の状態は,範囲条件を満足する数値を検出した状態を示
す),その検索結果45をホストコンピュータ400に
知らせている。
【0009】
【発明が解決しようとする課題】このような有限オート
マトンを用いた文字列検索装置で,検索者の待ち時間を
少なくするためには,(1)範囲条件に対応した有限オ
ートマトンの作成時間を短くし,(2)範囲条件と,文
字列記憶装置312から読みだされる入力文字列との照
合速度を速くする必要がある。
【0010】しかし、このような文字列検索装置300
において、文字列照合回路313の有限オートマトンで
数値を検索する場合には、範囲条件に含まれる全ての数
値に対応する状態遷移パスを有する有限オートマトンを
作成しなければならない。このため,数値の桁数が多く
なると有限オートマトンが複雑になり,オートマトン生
成時間が長くなるという問題がある。さらに,有限オー
トマトンを格納する状態遷移テーブルの容量が大きくな
り,この結果、この状態遷移テーブルのアクセスタイム
で文字列の検索速度が決まってしまうから、文字列の検
索速度は1文字あたり100ns程度であり、さらに高速化
ができないという問題があった。
【0011】また、文字列照合回路313の有限オート
マトンで、商品の品名コード等に使用されるような数値
と文字列(アルファベット,漢字,ひらがな,カタカ
ナ)が混在したコードに関して範囲条件検索を行ないた
いという要求がある。例えばアルファベットの混在した
範囲条件検索を行なう場合には,“A”から“Z”に対
応した26本の状態遷移パスが必要になるため,有限オ
ートマトンが複雑になり,有限オートマトンの生成時間
が長くなる。この結果,有限オートマトンを格納する状
態遷移テーブルの容量が大きくなり,この状態遷移テー
ブルのアクセスタイムで文字列の検索速度が制限される
から,検索の高速化できないという問題があった。
【0012】
【課題を解決するための手段】この発明は上述の課題を
解決するためになされたもので、有限オートマトンの生
成時間を短くし,文字列中の数値に対して高速な検索を
可能とし,検索者の待ち時間を短くする高速な数値検索
装置及びその方法を提供することを目的とする。
【0013】また,数値とアルファべット等の混在した
文字列に関する範囲条件検索や,数値の前後の文字列を
指定した数値の検索などの高機能な数値検索も高速に行
なう数値検索方法及び装置を提供することを目的とす
る。
【0014】上記目的を達成するために、この発明にお
いては、コード表現された記号で構成される被検索文字
列中から、特定の文字列と特定の範囲内にある数値とか
ら構成される検索文字列を検索する数値検索装置におい
て、上記特定の文字列を検索する文字列照合手段と、上
記文字列中から上記特定の範囲内の数値を検索する範囲
条件照合手段とを用いる。
【0015】範囲条件照合手段を実現する第1の発明
は,範囲条件を指定する数値の下限値と上限値の桁数が
2桁以上異なる場合には、数値の範囲を3つの範囲、す
なわち、(a)下限値から下限値と同じ桁数の最大の数
値まで、(b)下限値より1桁大きい数値の最小の数値
から上限値より1桁小さい数値の最大の数値まで、
(c)上限値と同じ桁数の最小の数値から上限値まで、
に分割し、1桁異なる場合には、上記(a)(c)の2つ
の数値の範囲に分割し、上限値と下限値の桁数が同じ場
合には、そのままの範囲とした。
【0016】そして、上記の方式で範囲条件の分割を行
い、それぞれの分割した範囲ごとに範囲条件照合手段を
設けて、それぞれが並列に動作して範囲条件検索するよ
うにした。
【0017】ここで、範囲条件の上限値と下限値の桁数
が2桁以上異なっていても、高々3つに分割すれば良い
ことを例を示し説明する。
【0018】範囲条件が「12≦K≦1234567」
の場合には、 (範囲1) 12〜99 (範囲2) 100〜999 1000〜9999 10000〜99999 100000〜999999 (範囲3) 1000000〜1234567 の3つの範囲を分割する。ここで、範囲2は3桁から6
桁までの数値であるが、各桁での数値すべてを含むの
で、“0”から“9”まで(または,“1”から“9”
まで)のどの数値文字列を検出しても,状態遷移先が同
じになるようにオートマトンを作成できる。この結果、
3桁から6桁までの数値を1つにまとめてもオートマト
ンは複雑にならない。
【0019】範囲条件照合手段のハードウェア構成は,
ASCIIコードなどのようにアルファベット,数値等
の文字コードがそれぞれの範疇において順序良くコード
化されていることを利用する。すなわち,上記範囲条件
照合手段は、検索する範囲の上限値と、上限値と同じ桁
数の最大の数値文字列を格納しておく上限値記憶手段
と、検索する範囲の下限値と,下限値と同じ桁数の最小
の数値文字列を格納しておく下限値記憶手段と、被検索
文字と上限値記憶手段の出力と下限値記憶手段の出力を
比較する大小一致判定手段と、メモリとレジスタからな
る有限オートマトンを有し、上限値記憶手段と下限値記
憶手段から,比較判定する桁数(または状態)に対応す
る数値文字を読み出し、1文字ずつ入力する被検索文字
と大小一致判定して、その判定結果に応じて有限オート
マトンの状態を遷移して、指定した範囲条件と一致した
場合に,その結果をホストコンピュータに出力するもの
である。
【0020】さらに、範囲条件の上限値と、上限値と同
じ桁数の最大値と、下限値と、下限値と同じ桁数の最小
値と被検索文字との照合を同時に並列に行う構成とし、
被検索文字1文字に対しての照合に1サイクルで実行す
るのが好ましい。
【0021】そして、この構成の範囲条件照合手段を複
数個並列に配置して、それぞれに、分割した範囲条件を
割付けて同時に検索を行うのが好ましい。
【0022】また,上記第1の発明の範囲条件照合手段
において,文字列を格納しておく検索記号レジスタを設
けて,被検索文字列と検索記号レジスタに格納された文
字列との比較結果によっても状態遷移する有限オートマ
トンにするのが好ましい。
【0023】範囲条件照合手段を実現する第2の発明
は,有限オートマトンで範囲条件検索を行なうときに、
検索者が指定した範囲条件に応じたオートマトンの状態
遷移条件を,それぞれ文字コードの範囲で指定するもの
である。すなわち、有限オートマトンが所定の状態で、
被検索文字列の入力によって状態遷移する場合に、その
状態から複数の状態に遷移するときの状態遷移条件を,
それぞれ文字コードの範囲(上限値および下限値)で格
納しておく範囲情報メモリを設けて、有限オートマトン
の状態に応じた状態遷移条件を範囲情報メモリから読出
して、範囲で指定された状態遷移条件と,入力した被検
索文字とを複数個の大小一致判定比較器で同時に比較照
合し、その結果により状態遷移先を決定するものであ
る。
【0024】また,上記第2の発明の範囲条件照合手段
において,文字列を格納しておく検索記号レジスタを設
けて,被検索文字列と検索記号レジスタに格納された文
字列との比較結果によっても状態遷移する有限オートマ
トンにするのが好ましい。
【0025】範囲条件照合手段を実現する第3の発明
は,範囲条件照合手段として,上記文字列中から数値を
検出する数値検出手段と、上記数値検出手段で検出した
数値が特定の範囲内にある数値かどうか判定する範囲判
定手段とを有するものを用いる。
【0026】この場合、上記数値検出手段で検出した数
値をバッファリングする数値記憶手段を設けるのが好ま
しい。
【0027】また、上記数値検出手段で検出した数値の
少なくとも1文字前、少なくとも1文字後の少なくとも
一方の文字列を一時記憶しておくシフトレジスタを設け
るのが好ましい。
【0028】さらに、上記数値検出手段で検出した数値
の文字コードをバイナリコードに変換するバイナリ変換
手段を設けるのが好ましい。
【0029】また、上記範囲判定手段をマイコンで構成
してもよい。
【0030】さらに、上記範囲判定手段を有限オートマ
トンで構成してもよい。
【0031】範囲条件照合手段を実現する第4の発明
は,文字列検出信号を上記範囲条件照合手段に送信する
第1の通信手段を上記文字列照合手段に設け、数値検出
信号を上記文字列照合手段に送信する第2の通信手段を
上記範囲条件照合手段に設けるのが好ましい。
【0032】また、上記文字列照合手段と上記範囲条件
照合手段との同期手段を設けるのが好ましい。
【0033】
【作用】この発明においては、コード表現された記号で
構成される被検索文字列中から、特定の文字列と特定の
範囲内にある数値とから構成される検索文字列を検索す
る数値検索装置において、特定の文字列を検索する文字
列照合手段と、文字列中から特定の範囲内の数値を検出
する範囲条件照合手段とを用いているから、特定の文字
列と特定の範囲内の数値とを同時に検索することができ
る。
【0034】範囲条件照合手段を実現する第1の発明に
よれば、検索する範囲を数値の桁数ごとに分割し、それ
ぞれ分割した範囲毎に範囲条件照合手段を配置して,範
囲条件検索を並列に実行する。このため,分割された数
値範囲ごとにオートマトンを生成すればよので,それぞ
れのオートマトンが簡単になり、ホストコンピュータで
のオートマトン生成時間が短くなる。ホストコンピュー
タから範囲条件照合手段に状態遷移情報などの検索制御
情報を転送する時間が短くなる。また、範囲条件照合手
段の状態遷移テーブルの容量は少なくて済むから,状態
遷移テーブルのアクセスタイムが短くてすみ,この結
果,数値の検索速度が速くなる。
【0035】また,上記範囲条件照合手段において,文
字列を格納しておく検索記号レジスタを設けて,被検索
文字列と検索記号レジスタに格納された文字列との比較
手段を設ければ,数値と文字列の混在した範囲条件検索
を高速化することが可能となる。
【0036】範囲条件照合手段を実現する第2の発明に
よれば、有限オートマトンの状態遷移条件を文字コード
の範囲(上限値と下限値)で指定するようにした。この
ため、アルファベット等のように文字コードの種類が多
い場合でも、文字コードが順序よく並んでいるような構
成とすれば、範囲条件検索を行う際、状態遷移数は,状
態遷移先の数(たかだか数通り)で決まるので状態遷移
パス数が増加しない。このためオートマトンが簡単にな
り、ホストコンピュータでのオートマトン生成時間が短
くなる。ホストコンピュータから範囲条件照合手段に状
態遷移情報などの検索制御情報を転送する時間が短くな
る。さらに,状態遷移テーブルの容量は少なくてすむか
ら、状態遷移テーブルのアクセスタイムが短くてすみ,
この結果,数値の検索速度が速くなる。
【0037】また,上記範囲条件照合手段において,文
字列を格納しておく検索記号レジスタを設けて,被検索
文字列と検索記号レジスタに格納された文字列との比較
手段を設ければ,数値と文字列の混在した範囲条件検索
を高速化することが可能となる。
【0038】第3の発明によれば、範囲条件照合手段に
おいて,文字列中から数値を検出する数値検出手段と、
数値検出手段で検出した数値が特定の範囲内にある数値
かどうか判定する範囲判定手段とを設けているから、そ
れぞれの回路規模が小さくなり,動作速度が速くなるの
で,数値の検索と数値の判定とを高速に行なうことがで
きる。
【0039】この場合、数値検出手段で検出した数値を
バッファリングする数値記憶手段を設ければ、範囲判定
手段として処理速度の小さいものを用いることができ
る。
【0040】また、数値検出手段で検出した数値の少な
くとも1文字前、少なくとも1文字後の少なくとも一方
の文字列を一時記憶しておくシフトレジスタを設けれ
ば、特定の文字列と特定の範囲内の数値とを同時に検索
することができる。
【0041】さらに、数値検出手段で検出した数値の文
字コードをバイナリコードに変換するバイナリ変換手段
を設ければ、範囲判定手段として回路構成がより簡単な
ものを用いることができる。
【0042】また、範囲判定手段をマイコンで構成すれ
ば、範囲判定手段が安価となる。
【0043】さらに、範囲判定手段を有限オートマトン
で構成すれば、1文字の検索を1マシンサイクルで実現
することができる。
【0044】第4の発明によれば、文字列検出信号を範
囲条件照合手段に送信する第1の通信手段を文字列照合
手段に設け、数値検出信号を文字列照合手段に送信する
第2の通信手段を範囲条件照合手段に設ければ、範囲条
件照合手段と文字列照合手段との通信における待ち時間
をなくすことができる。
【0045】さらに,文字列照合手段と範囲条件照合手
段との同期手段を設ければ、範囲条件照合手段と文字列
照合手段との通信における待ち時間をなくすことができ
る。この結果,数値と文字列の混在した範囲条件検索を
高速化することが可能となる。
【0046】
【実施例】以下、本発明の実施例について説明する。
【0047】この発明に係る数値を含む文字列の検索を
行なう数値検索装置300の構成を図1に示す。検索者
401は検索条件325をホストコンピュータ400に
入力する。ホストコンピュータ400は検索条件325
を解析して、検索条件325の数値(範囲条件)の部分
に関しては、範囲条件照合回路315に検索制御情報3
24を転送し、検索条件325の文字列の部分に関して
は、文字列照合回路313に検索制御情報321を転送
する。文字列照合回路313と範囲条件照合回路315
とは並列に動作して、文字列記憶装置312から文字列
20を1文字ずつ読み出して検索を行なう。範囲条件照
合回路315において、文字列20の中に検索条件を満
足する数値を検出した場合には、検索結果46をホスト
コンピュータ400に転送する。また,文字列照合回路
313においてから、文字列20の中に検索条件を満足
する文字列を検出した場合には、その検索結果45をホ
ストコンピュータ400に転送する。ホストコンピュー
タ400は検索者401に検索条件を満足する文字列や
数値を含む文書情報326を知らせる。
【0048】尚、数値検索装置300の構成として、図
示はしていないが、検索制御手段、複合条件判別手段な
どを加えることも考えられる。検索制御手段は、ホスト
コンピュータから検索条件を解析することなく受け付
け、自ら検索条件を解析して、文字列照合回路313に
対して検索制御情報321、範囲条件照合回路315に
対して検索制御情報324を振り分けるものである。ま
た、複合条件判別手段は、検索条件中の文字間の位置関
係等に関する複合条件に合致するかどうかを数値検索装
置300内で調べるものである。このように、数値検索
装置には種々の付加的な手段を含むことが可能である。
【0049】第1の発明の範囲条件照合回路315−1
の構成図を図4に示す。範囲条件照合回路315−1は
複数の分割条件照合回路901−i(i=1,…,3
k)から構成されている。この発明の範囲条件分割方式
では、範囲条件の下限値と上限値の桁数が2桁以上異な
る場合には範囲条件が3つに分割されるので、k個の分
割範囲条件(kは整数)を同時に検索する場合には、3
k個の分割条件照合回路901−iの並列構成となる。
【0050】検索者から指定された検索条件325に含
まれる範囲条件は、ホストコンピュータ400において
範囲条件を定める数値の桁数に応じて分割され、さら
に、分割された範囲条件に対応する検索制御情報324
が生成され、各分割条件照合回路901−iに転送され
る。そして、各分割条件照合回路901−iは並列に範
囲条件検索を行い、検索結果925−iを出力する。各
分割条件照合回路901−iからの検索結果925−i
はバッファ902にバッファリングされ、検索結果46
として、順番にホストコンピュータ400に転送され
る。
【0051】範囲条件照合回路315−1の実施例とし
て6個の分割条件照合回路901−i(i=1,…,
6)からなる範囲条件照合回路315−1を図5に示
す。本発明の範囲条件の分割方式を用いると、最低でも
2つの範囲条件を同時に検索できる。また、桁数ごとに
分割した範囲条件の数が6個以内の場合には、3つ以上
の範囲条件でも同時に検索することができる。例えば、
図5に示すように,範囲条件K1は上限値と下限値が2
桁以上異なり、範囲条件K2は上限値と下限値が1桁異
なり、範囲条件K3は上限値と下限値が同じ桁数の場合
には、分割した範囲条件が6個なので、K1からK3ま
での3つの範囲条件を同時に検索することが可能とな
る。
【0052】この場合、ホストコンピュータ400は、
範囲条件K1を、3つの条件、すなわち,範囲条件K1
−1,範囲条件K1−2,範囲条件K1−3に分割す
る。また、範囲条件K2については、2つの条件、範囲
条件K2−1、範囲条件K2−2に分割する。そして、
範囲条件K3はそのままとする。以上の6つに分割した
範囲条件に対応する検索制御情報324をそれぞれ分割
条件照合回路901−i(i=1,…,6)にロードし
て同時に検索する。
【0053】次に、本発明の分割条件照合回路901の
第1の実施例のブロック図を図6に示す。本実施例は、
最小値レジスタ91と範囲条件下限値レジスタ92から
なる下限値レジスタ201、範囲条件上限値レジスタ9
4と最大値レジスタ95とからなる上限値レジスタ20
2,大小一致判定比較回路44,および、状態遷移テー
ブル5とレジスタ6からなり,比較結果10に応じて状
態遷移する有限オートマトン16から構成されている。
【0054】範囲条件下限値レジスタ92には、分割さ
れた範囲条件の下限値が文字コードのままで一文字ずつ
格納してある。最小値レジスタ91には、範囲条件の下
限値と同じ桁数の最小値が文字コードのままで一文字ず
つ格納してある。たとえば、4桁の数値の場合は、“0
000”である。範囲条件上限値レジスタ94には、分
割された範囲条件の上限値が文字コードのままで一文字
ずつ格納してある。最大値レジスタ95には、分割範囲
条件の上限値と同じ桁数の最大値が文字コードのままで
一文字ずつ格納してある。たとえば、4桁の数値の場合
は、“9999”である。そして、有限オートマトン1
6はこれらの4種類のレジスタに格納されている文字コ
ードの中から、照合する数値の位置、すなわち、何桁目
の数値の照合を行うかに応じて、それに対応する数値を
読み出し、入力文字20列と比較照合する。
【0055】ここで、有限オートマトン16の状態遷移
テーブル5の状態遷移情報および、下限値レジスタ20
1,上限値レジスタ202に格納する数値は、ホストコ
ンピュータ400から検索制御情報324として転送さ
れる。この検索制御情報324に応じて有限オートマト
ン16は動作する。
【0056】以下、本発明の回路の動作を説明する。最
初は有限オートマトン16は状態0とする。状態0で
は、最小値レジスタ91,範囲条件下限値レジスタ9
2、範囲条件上限値レジスタ94,最大値レジスタ95
から、範囲条件の一文字目の照合に対応する文字列(数
値)を選択信号103で選択して読みだす。そして、最
小値レジスタ91,範囲条件下限値レジスタ92,範囲
条件上限値レジスタ94,最大値レジスタ95の出力と
文字20を大小一致判定比較回路44で比較する。比較
結果10に応じて有限オートマトン16は状態遷移し、
その状態に応じた下限値レジスタ201,または,上限
値レジスタ202を選択する。
【0057】そして、上記遷移を繰返し、文字列20を
読み出して範囲照合を行う。範囲条件を満たす数値列を
検出した場合には検索結果925を出力する。
【0058】次に、大小一致判定比較回路44の実施例
を図7に示す。大小一致判定比較回路44は4つの大小
一致判定可能な比較器87−i(i=1,2,3,4)
が並列に配置されており、同時に下限値レジスタ20
1,上限値レジスタ202の出力である最小値50,範
囲条件下限値51,範囲上限値52,最大値53と文字
20の比較照合を行っていて、最小限50と一致すると
min が選択され、範囲条件下限値51と一致するlower
が選択され、範囲条件上限値52と一致するとupper が
選択され、最大値53と一致するとmax が選択される。
また、最小値50より大きくて範囲条件下限値51より
小さい数値はAND回路88−1で検出できrange1 が
選択され、範囲条件下限値51より大きくて範囲条件上
限値52より小さい数値はAND回路88−2で検出で
きrange2 が選択され、範囲条件上限値52より大きく
て最大値53より小さい数値はAND回路88−3で検
出でき、range3 選択される。また、最小値50よりも
小さくて、最大値53より大きい文字コードはOR回路
89で検出されfailが選択される。比較照合結果10
は、min,lower,upper,max,range1,range2,rang
e3,fail から選択され、有限オートマトン16の状態
遷移に用いられる。
【0059】次に、本発明の分割条件照合回路901の
有限オートマトン16の状態遷移について説明する。
【0060】範囲条件を、 12≦K1≦35 とする。この状態遷移図を図8に示す。この状態遷移図
は、右に1つ遷移すると次の桁の数値との比較照合をす
ることを示す。縦方向に並んだ状態は同じ桁位置の数値
を検索する状態である。一番上が範囲条件の下限値と一
致している数値を検索する状態で、真中が範囲条件下限
値より大きく範囲条件上限値より小さい数値を検索して
いる状態で、一番下が範囲条件上限値と一致している数
値を検索している状態である。また、状態遷移図では省
略してあるが、数値以外の文字コードを検出した場合に
は、有限オートマトンは状態0に戻るものとする。
【0061】各状態では、この検索する桁の位置に応じ
た範囲情報50,51,52,53を範囲条件下限値レ
ジスタ92,範囲条件上限値レジスタ94,最小値レジ
スタ91,最大値レジスタ95から同時に読みだし、比
較照合する。
【0062】ここでは、範囲条件下限値レジスタ92,
範囲条件上限値レジスタ94,最小値レジスタ91,最
大値レジスタ95のアドレスは検索する数値の桁数の順
番になっているものとする。すなわち、各レジスタの0
番地の内容は、文字列の1文字目の数値照合用の文字コ
ードで1番地の内容は2文字目の数値照合用の文字コー
ドとする。
【0063】図9に最小値レジスタ91,範囲条件下限
値レジスタ92,範囲条件上限値レジスタ94,最大値
レジスタ95の内容を例としてしめす。範囲条件下限値
レジスタ92には、“1”,“2”が格納されていて、
1桁目の数値との照合には、番地0の“1”が選択さ
れ、2桁目の照合には、番地1の“2”が有限オートマ
トンの状態に応じて選択される。同様に範囲条件上限値
レジスタ94には、“3”,“5”が格納されていて、
最小値レジスタ91には、“0”,“0”が格納されて
いて、最大値レジスタ95には、“9”,“9”が格納
されている。
【0064】次に、状態遷移テーブル5の内容を図10
に示す。状態0は1桁目の数値との照合を行う状態であ
る。状態0で、範囲条件下限値と一致(lower)すると状
態1に遷移し、範囲条件下限値より大きく且つ、範囲条
件上限値より小さい場合(range2)には状態2に遷移
し、範囲条件上限値と一致(upper)するときは状態3に
遷移する。
【0065】状態1,状態2,状態3は2桁目の数値と
の照合を行う状態である。
【0066】状態1は、範囲条件下限値と一致している
数値を検索している状態である。この状態で、範囲条件
下限値と一致した数値(lower)を検出すると、状態4に
遷移し、範囲条件下限値より大きい数値を検出(range
2,upper,range3,max)すると状態5に遷移する。
【0067】状態2は、範囲条件下限値より大きくて範
囲条件上限値より小さい数値を検索している状態であ
る。この状態では、最小値から最大値までの数値すべて
(min,range1,lower,range2,upper,range3,ma
x)のいずれが検出されても状態5に遷移する。
【0068】状態3は、範囲条件上限値と一致している
数値を検索している状態である。この状態で、範囲条件
上限値と一致した数値を検出(upper)すると、状態6に
遷移し、範囲条件上限値より小さい数値を検出(min,r
ange1,lower,rnage2)すると状態5に遷移する。
【0069】状態4,状態5,状態6で数値以外の文字
列を検出すると範囲条件を満足したとして、その検索結
果925を出力し、状態0(図には2重丸で示してあ
る)に遷移する。
【0070】また、各状態で範囲外の数値を検出した場
合には、状態7により範囲外の数値の読み飛ばしを行っ
ている。
【0071】このように、本発明の範囲条件検索では、
各桁での数値との照合に高々3つの状態、すなわち、範
囲条件上限値と一致している数値を検索している状態、
範囲条件下限値と一致している数値を検索している状
態、範囲条件下限値より大きくて範囲条件上限値よりも
小さい数値を検索している状態を有して、各状態におい
て同時に最小値50,範囲条件下限値51,範囲条件上
限値52,最大値53と入力文字20列の文字との比較
結果10で状態遷移をすることによりオートマトンを実
現している。
【0072】次に,範囲条件検索の例2として 15≦K≦142 という条件について説明する。この例は範囲条件の下限
値と上限値が1桁異なる例である(すなわち,下限値は
2桁であるのに対し,上限値は3桁である)。この場合
範囲条件は、 15≦K1≦99(条件K1) 100≦K2≦142(条件K2) の2つに分割する。分割した状態遷移図を図11に示
す。また、この時の範囲条件下限値レジスタ92,範囲
条件上限値レジスタ94,最小値レジスタ91,最大限
レジスタ95の内容を図12,状態遷移テーブル5の内
容を図13および図14に示す。
【0073】まず、条件K1について説明する。
【0074】範囲条件下限値レジスタ92には、
“1”,“5"が格納され、範囲条件上限値レジスタ9
4には、“9”,“9”が格納され、最小値レジスタ9
1には、“0”,“0”が格納され、最大値レジスタ9
5には、“9”,“9”が格納されている。
【0075】状態0では、数値の1文字目の照合を行
う。文字20が“0”のときは状態0のままで、文字2
0が“1”のときは状態1に遷移し,“2”から“9”
のときは状態2に遷移する。
【0076】状態1では、2文字目の照合を行う。文字
20が“5”のときは状態3に遷移し、文字20が
“6”から“9”のときは状態4に遷移する。
【0077】状態2では、2文字目の照合を行う。文字
20が“0”から“9”のときは状態4に遷移する。
【0078】状態3,状態4は数値以外の文字を検索す
る。この検出により範囲条件K1を満たす数値列を検出
したことになり,検索結果925を得る。そして、状態
0にもどる。
【0079】条件K2について説明する。範囲条件下限
値レジスタ92には、“1”,“0”,“0”が格納さ
れ、範囲条件上限値レジスタ94には、“1”,
“4”,“2”が格納され、最小値レジスタ91には、
“0”,“0”,“0”が格納され、最大値レジスタ9
5には、“9”,“9”,“9”が格納されている。
【0080】状態0では、数値の1文字目の照合を行
う。文字列20の1文字目が“0”のときは状態0のま
まで、文字20が“1”のときは状態1に遷移する。
【0081】状態1では、2文字目の照合を行う。文字
20が“0”から“3”のときは状態2に遷移する。文
字20が“4”のときは状態3に遷移する。
【0082】状態2では、3文字目の数値の比較照合を
行う。文字20が“0”から“9”のときは状態4に遷
移する。
【0083】状態3では、3文字目の照合を行う。文字
20が“0”か“1”のときは状態4に遷移する。文字
20が“2”のときは状態5に遷移する。
【0084】状態4,5で数値以外の文字を検出すると
範囲条件K2を満たす数値列を検出したことになり,検
索結果925を出力して、状態0にもどる。
【0085】上記2つの条件K1およびK2に基ずく検
索が同時に並列に行われる。
【0086】次に,範囲条件検索の例3として 12≦K≦34567 という条件について説明する。この例は範囲条件の下限
値と上限値が2桁以上異なる例である。この場合範囲条
件は、 12≦K1≦99(条件K1) 100≦K2≦9999(条件K2) 10000≦K3≦34567(条件K3) の3つに分割する。分割した状態遷移図を図15に示
す。各状態では、この検索する桁の位置に応じた範囲情
報50,51,52,53を範囲条件下限値レジスタ9
2,範囲条件上限値レジスタ94,最小値レジスタ9
1,最大値レジスタ95から同時に読みだし、比較照合
する。また、状態遷移図では省略してあるが、数値以外
の文字コードを検出した場合には、有限オートマトンは
状態0に戻るものとする。
【0087】この時の範囲条件下限値レジスタ92,範
囲条件上限値レジスタ94,最小値レジスタ91,最大
値レジスタ95の内容を図16に示す。状態遷移テーブ
ル5の内容を図17から図19に示す。範囲条件下限値
レジスタ92,範囲条件上限値レジスタ94,最小値レ
ジスタ91,最大値レジスタ95の出力と,入力文字列
20との比較照合結果10に応じて状態遷移している。
【0088】まず、2桁の数値を検出する条件K1につ
いて説明する。
【0089】範囲条件下限値レジスタ92には、
“1”,“2”が格納され、範囲条件上限値レジスタ9
4には“9",“9”が格納され、最小値レジスタ91
には“0”,“0”が格納され、最大レジスタ95に
は、“9”,“9”が格納されている。この状態で検索
がスタートする。ここで、状態0が、1桁目の照合を行
う状態で、状態1,状態2が2桁目の照合を行う状態で
ある。
【0090】状態0では、数値の1文字目の照合を行う
ので、範囲条件下限値レジスタ92,範囲条件上限値レ
ジスタ94,最小値レジスタ91,最大値レジスタ95
から一文字目の情報を読みだして行う。入力文字列20
が“0”のときは状態0のままで、文字20が“1”の
ときは状態1に遷移し、文字20が“2”から“9”の
ときは状態2に遷移する。
【0091】状態1では、2文字目の照合を行う。文字
20が“2”のときには状態3に遷移し、文字20が
“3”から“9”のときは状態4に遷移する。
【0092】状態2でも、2文字目の照合を行う。文字
20が“0”から“9”のときは状態4に遷移する。
【0093】状態3,状態4は数値以外の文字列を検出
する。この検出により範囲条件K1を満たす数値列を検
出したことになり,検索結果925を出力すると同時
に、状態0にもどる。
【0094】3桁と4桁の数値を検索する条件K2につ
いて説明する。範囲条件下限値レジスタ92には、
“1",“0”,,“0”,“0”が格納され、範囲条
件上限値レジスタ94には、“9”,“9”,“9”,
“9”が格納され、最小値レジスタ91には、“0”,
“0”,“0”,“0”が格納され、最大値レジスタ9
5には、“9”,“9”,“9”,“9”が格納されて
いる。
【0095】状態0は、数値の1桁目の比較照合を行
い、状態1は2桁目の比較照合を行い、状態2は3桁目
の比較照合をおこない、状態3は4桁目の比較照合をお
こなう。
【0096】状態0では、数値の1文字目の照合を行
う。入力文字列20の1文字目が“0”のときは状態0
のままで、文字20が“1”から“9”のときは状態1
に遷移する。
【0097】状態1では、2文字目の照合を行う。入力
文字列20の2文字目が“0”から“9”のときは状態
2に遷移する。同様に状態3,状態4に遷移する。ここ
で、状態3で数値以外の文字を検出すると3桁の数値を
検出したことになり、状態4で、数値以外の文字を検出
すると4桁の数値を検出したことになり,検索結果92
5を出力する。そして、状態0にもどる。
【0098】5桁の数値を検索する条件K3について説
明する。範囲条件下限値レジスタ92には、“1”,
“0”,“0”,“0”,“0”が格納され、範囲条件
上限値レジスタ94には、“3”,“4”,“5”,
“6”,“7”が格納され、最小値レジスタ91には、
“0”,“0”,“0”,“0”,“0”が格納され、
最大値レジスタ95には、“9",“9”,“9”,
“9”,“9”が格納されている。
【0099】状態0は1桁目の比較照合をおこない、状
態1,状態2は2桁目の比較照合を行い、状態3,状態
4は3桁目の比較照合を行い、状態5,状態6は4桁目
の比較照合を行い、状態7,状態8は5桁目の比較照合
を行う。
【0100】状態0では、数値の1文字目の照合を行
う。
【0101】入力文字列20の1文字目が“0”のとき
は状態0のままで、文字20が“1”から“2”のとき
は状態1に遷移し、文字20が“3”のときは状態2に
遷移する。
【0102】状態1では、2文字目の照合を行う。文字
20が“0”から“9”のときは状態3に遷移する。
【0103】状態2では、2文字目の照合を行う。文字
20が“0”から“3”のときは状態3に遷移する。被
検索号文字20が“4”のときは状態4に遷移する。
【0104】状態3では、3文字目の照合を行う。文字
20が“0”から“9”のときは状態5に遷移する。
【0105】状態4では、3文字目の照合を行う。文字
20が“0”から“4”のときは状態5に遷移する。文
字20が“5”のときは状態6に遷移する。
【0106】状態5では、4文字目の照合を行う。文字
20が“0”から“9”のときは状態7に遷移する。
【0107】状態6では、4文字目の照合を行う。文字
20が“0”から“5”のときは状態7に遷移する。文
字20が“6”のときは状態8に遷移する。
【0108】状態7では、5文字目の照合を行う。文字
20が“0”から“9”のときは状態9に遷移する。
【0109】状態8では、5文字目の照合を行う。文字
20が“0”から“6”のときは状態9に遷移する。文
字20が“7”のときは状態10に遷移する。
【0110】状態9、10で数値以外の文字を検出する
と範囲条件を満たす数値列を検出したことになり,検索
結果925を出力する。そして、状態0にもどる。
【0111】上記3つの分割条件K1,K2,K3に基
ずく検索が同時に並列に行われる。
【0112】続いて、第1の発明の分割条件照合回路9
01の第2の実施例のブロック図を図20に示す。本実
施例は、範囲条件の数値の検索に加えて、その数値の前
後に付加する検索文字(セパレータ)を指定して検索可
能な範囲情報検索回路901の実施例である。これらの
セパレータを格納しておく検索記号レジスタ98と一致
判定比較回路99を加えた構成になっている。有限オー
トマトン16は、文字列20と範囲条件50,51,5
2,53との比較結果10と,検索記号レジスタ98の
出力である検索文字23との比較結果35とから状態遷
移を行う。
【0113】一致判定比較回路99の構成を図21に示
す。検索文字レジスタ98には、複数の検索文字に対応
する文字コードが記憶されている。検索文字レジスタ9
8の出力である検索文字23−i(i=0,…,n−
1)と文字20との比較照合を同時に行うために、一致
判定可能な比較器86−i(i=0,…,n−1)が並
列に配置されていて、各検索文字23−iと一致した検
索結果35−iが選択される。
【0114】数値の前後にセパレータを指定して検索す
る例を示す。範囲条件として、 昭和3年≦K≦昭和64年 という条件を設定した。この例は範囲条件の下限値と上
限値が1桁異なる例である。この場合範囲条件は、 昭和3年≦K1≦昭和9年 昭和10年≦K2≦昭和64年 の2つに分割する。分割した状態遷移図を図22にしめ
す。また、この時の範囲条件下限値レジスタ92,範囲
条件上限値レジスタ94,最小値レジスタ91,最大値
レジスタ95,検索記号レジスタ98の内容を図23
に,状態遷移テーブル5の内容を図24および図25に
示す。
【0115】まず、条件K1について説明する。範囲条
件下限値レジスタ92には、“3”が格納され、範囲条
件上限値レジスタ94には、“9”が格納され、最小値
レジスタ91には、“0”が格納され、最大値レジスタ
95には、“9”が格納され、検索記号レジスタ98に
は、“昭”,“和”,“年”が格納されている。この状
態で検索がスタートする。
【0116】状態0では“昭”を待つ。“昭”を検出す
ると状態1に遷移する。
【0117】状態1では“和”を待つ。“和”を検出す
ると状態2に遷移する。
【0118】状態2では、数値の1文字目の照合を行
う。文字20が“0”のときは状態2のままで、文字2
0が“3”から“9”のときは状態3に遷移する。
【0119】状態3では、“年”を待つ。“年”を検出
すると状態0に遷移する。この検出により範囲条件を満
たす数値列を検出したことになり,検索結果925を出
力する。
【0120】条件K2について説明する。
【0121】範囲条件下限値レジスタ92には、
“1”,“0"が格納され、範囲条件上限値レジスタ9
4には、“6”,“4”が格納され、最小値レジスタ9
1には、“0”,“0”が格納され、最大値レジスタ9
5には、“9”,“9”が格納され、検索記号レジスタ
10には、“昭”,“和”,“年”が格納されている。
この状態で検索がスタートする。
【0122】状態0では“昭”を待つ。“昭”を検出す
ると状態1に遷移する。
【0123】状態1では“和”を待つ。“和”を検出す
ると状態2に遷移する。
【0124】状態2では、数値の1文字目の照合を行
う。文字20が“1”から“5”のときは状態3に遷移
し、文字20が“6”のときは状態4に遷移する。
【0125】状態3では、2文字目の照合を行う。文字
20が“0”から“9”のときに状態5に遷移する。
【0126】状態4では、2文字目の照合を行う。文字
20が“0”から“3”のときは状態5に遷移し、文字
20が“4”のときは状態6に遷移する。
【0127】状態5,状態6では、“年”を待つ。
“年”を検出すると状態0に遷移する。この検出により
範囲条件を満たす数値列を検出したことになり,検索結
果925を出力する。
【0128】次に、第2の発明の範囲条件照合回路31
5−2の一実施例のブロック図を図26に示す。本発明
の範囲条件照合回路315−2は、範囲情報メモリ3,
並列比較回路4、状態遷移テーブル5,,レジスタ6か
らなる有限オートマトン16から構成されている。
【0129】まず、ホストコンピュータ400は、範囲
条件に応じて生成した状態遷移情報324−1を有限オ
ートマトン16の状態遷移テーブル5に転送する。ま
た、各状態ごとに、1つの状態から複数の状態に遷移す
るときの各状態遷移条件(上限値と下限値)324−2
を範囲情報メモリ3に転送する。そして、転送終了後、
範囲条件照合回路315−2は、検索スタート状態とな
る。
【0130】状態遷移テーブル5とレジスタ6で構成さ
れる有限オートマトン16は、現在の状態106に応じ
た複数の状態遷移条件11を範囲情報メモリ3から読み
だし,文字列記憶装置312から転送される文字列20
と,複数の状態遷移条件11を同時に比較して、その比
較結果10を状態遷移テーブル5に入力する。現状態1
06と比較結果10に応じて有限オートマトン16は状
態遷移する。
【0131】そして、文字列20の入力ごとに、比較照
合,状態遷移を繰り返す。検索途中で範囲条件を満足し
た文字列を検出した状態に遷移すると、検索結果46出
力する。
【0132】範囲情報メモリ3の例を図29に示す。範
囲情報メモリ3の入力アドレスは状態遷移テーブル5で
制御され、現状態106ごとに状態遷移条件の上限値お
よび下限値を遷移先ごとに登録しておき、状態遷移条件
11はこの現状態106に応じて読み出される。
【0133】たとえば、有限オートマトン16の状態が
0のときに数値が「0」から「5」の時に状態2に遷移
して、「6」から「9」の時に状態3に遷移する時に
は、範囲情報メモリ3の状態0に、状態遷移条件11−
0として「0」、「5」、状態遷移条件11−1として
「6」、「9」を登録しておく。
【0134】次に、並列比較回路4の構成例を図27に
示す。並列比較器4は比較器21−i(i=0、……、
n)とプライオリティーエンコーダ24とから構成され
ている。範囲情報メモリ3から並列に読み出された状態
遷移条件の上限値11−i−0および下限値11−i−
1と文字列20とを比較器21−iで比較して、文字列
20が所定の範囲(下限値と一致か、下限値から上限の
間、上限値と一致)の時に比較器21−iの出力30−
iがハイになる。以上の比較照合結果30−iをプライ
オリティーエンコーダ24でエンコードして、比較結果
10を出力する。この比較結果10によって有限オート
マトンが状態遷移する。また、登録された状態遷移条件
11を満足しない場合は、プライオリティーエンコーダ
24の入力31が選択され、この結果を比較結果10に
出力する。
【0135】図28に状態遷移テーブル5を示す。次状
態108は,現状態106と比較結果10で決定する。
比較結果10が0からnまでは,登録した状態遷移条件
11と一致した場合に選択される。また,文字列20が
登録した条件の範囲外の場合には比較結果10はn+1
となる。範囲条件を満足する数値を検出した場合には,
検索結果46に1を設定しておく。
【0136】以下,本発明の動作を範囲条件として 15≦K≦142 を例に説明する。この範囲条件を実現する有限オートマ
トンは図3に示したものと同じである。
【0137】状態0では,文字列20が“1”のときは
状態1に遷移し、文字列20が“2”から“9”のとき
は状態2に遷移する。
【0138】状態1で文字列20が“0”から“3”の
ときは状態3に遷移し、“4”のときは状態4に遷移
し、“5”から“9”のときは状態5に遷移する。
【0139】状態2で文字列20が“0”から“9”の
ときは状態5に遷移する。
【0140】状態3で文字列20が“0”から“9”の
ときは状態5に遷移する。
【0141】状態4で文字列20が“0”から“2”の
ときは状態5に遷移し,“3”から“9”のときは状態
6に遷移する。
【0142】状態5で,数値以外の文字列を検出する
と,状態0(2重丸で示した状態0)に遷移して,検索
結果46を出力する。そして,次の文字列を検索を続け
る。また,状態5で数値を検出すると状態6に遷移す
る。状態6では、検出した数値を範囲条件外の数値と判
断し、残りの数値文字列を読み飛ばす処理をしている。
【0143】15≦K≦142を範囲条件とした場合の
範囲情報メモリ3の具体的な内容の一例を図30に示
す。ここで,状態遷移条件11の数は0から4までの5
通りとしたが,本発明では,5通りに限定するものでは
ない。
【0144】状態0では状態遷移図に応じて、状態遷移
条件11の下限値と上限値のペアを順番に(0,0),
(1,1),(2,9)とした。
【0145】状態1では(0,3),(4,4),
(5,9),状態2,3では(0、9),状態4では,
(0,2)、(3,9),状態5,6では(0、9)と
した。誤動作を防止するためには,未設定の状態遷移条
件のメモリ領域にダミーデータとして,下限値が上限値
より大きくなるような文字コードを登録しておけば良
い。図30に示した範囲情報メモリ3に対応する状態遷
移テーブル5を図31に示す。次状態108は,現状態
106と比較結果10で決定する。比較結果10が0か
ら4までは,登録した状態遷移条件11と一致した場合
に選択される。また,文字列20が登録した条件の範囲
外の場合には,比較結果10は5となる。範囲条件を満
足する数値を検出した場合には,検索結果46に1を出
力する。
【0146】次に、図26に示した第2の発明の範囲条
件照合回路315−2における並列比較回路22,範囲
情報メモリ3、状態遷移テーブル5などの他の構成例を
図32から図34に示す。尚、以下の説明も先に示した
15≦K≦142を範囲条件としたもので行なう。この
範囲条件を実現する有限オートマトンは図3に示したも
のと同様である。
【0147】範囲情報メモリ3の具体的な内容の他の例
を図33に示す。範囲条件を桁数ごとに分けて、各桁ご
とに上限値と下限値をとると、 15 99 100 142 となる。そして、各状態において、照合する数値の桁数
に対応した値から、状態遷移条件に応じて必要な数値を
選択して、範囲情報メモリ3に登録する。1桁目の数値
を照合する状態では、“1”,“9”、2桁目の数値を
照合する状態では、“0”,“4”,“5”,“9”、
3桁目の数値を照合する場合には、“0”,“2”から
選択する。ただし、範囲外の数値の読み飛ばしが必要な
場合には、さらに最小値の“0”および最大値の“9”
も範囲情報メモリ3に登録する。
【0148】1文字目の照合の状態0では状態遷移図に
応じて、“1”,“9”を登録する。
【0149】2文字目の照合の状態1では、“0”,
“4”,“5”,“9”を登録し、状態2では、
“0”,“9”を登録する。
【0150】3文字目の照合の状態3では、“0”,
“9”を登録し、状態4では“0”,“2”,“9”を
登録し、状態5では、“0”,“9”を登録する。
【0151】また、範囲外の数値を読み飛ばす状態6で
は、“0”,“9”を登録し、数値を読み飛ばはせるよ
うにした。
【0152】そして、各状態とも、最後に文字コードに
最大値(MAX)を登録して、範囲外の文字コードを読
み飛ばせるようにする。
【0153】次に並列比較器4の他の実施例を図32に
示す。並列比較器4は複数個の大小一致判定比較器20
2−i(i=0,1,2,…n)とANDゲート203
−i(i=0,1,2,…n−1)からなる。ここで範
囲情報11’−0から範囲情報11’−nのコードの大
きさの関係は、 範囲情報11’−0≦範囲情報11’−1≦…… ……≦範囲情報11’−n である。
【0154】範囲情報11’をソートして設定してある
ので、ANDゲート203−0は範囲情報11’−0と
範囲情報11’−1の間のコードを検出する。同様に、
ANDゲート203−n−1は範囲情報11’−(n−
1)と範囲情報11’−nの間のコードを検出する。
【0155】並列比較器4で文字列20と比較した結
果、文字列20のコードによりrange−hit0がイネーブ
ルとなるのは範囲情報11’−0より小さい値を検出し
たことを示し、range−hit1がイネーブルとなるのは範
囲情報11’−0と一致したことを示し、range−hit2
がイネーブルになるのは範囲情報11’−0と範囲情報
11’−1の間の記号列を検出したことを示す。
【0156】同様に、range−hit2nがイネーブルとな
るのは範囲情報11’−(n−1)と範囲情報11’−
nの間の記号列を検出したことを示し、range−hit2n
+1がイネーブルとなるのは範囲情報11’−nと一致
したことを示し、range−hit2n+2がイネーブルにな
るのは範囲情報11’−nより大きい値を検出したこと
を示す。
【0157】図33の範囲情報メモリ3に対応する状態
遷移テーブル5を図34に示す。各状態ごとに遷移条件
に従って、遷移先を指定する。たとえば、状態3から状
態5に遷移する場合には、遷移条件の下限値が“0”
で、上限値が“9”となる。そこで、下限値と一致した
場合(range−hit1)、下限値より大きくて上限値より
小さい場合(range−hit2)、上限値と一致した場合
(range−hit3)のそれぞれに、遷移先の状態5を登録
する。
【0158】更に、図32から図34で説明した範囲情
報メモリ3、並列比較器4、状態遷移テーブル5などの
他の構成例を,範囲条件が2つある場合を例にとり、図
35から図37を用いて説明を加える。尚、並列比較器
4の構成は図32と同様なので説明を省略する。
【0159】例えば、範囲条件が、 7≦K1≦60 85≦K2≦234 の場合の状態遷移図を図35に示す。2つの範囲条件を
1つの有限オートマトンで構成している。
【0160】まず、状態0では、文字列20が“0”の
ときは状態0のままで、文字列20が“1”のときは状
態1に遷移し、文字列20が“2”のときは状態2に遷
移し、文字列20が“3”から“5”のときは状態3に
遷移し、文字列20が“6”のときは状態4に遷移し、
文字列20が“7”のときは状態5に遷移し、文字列2
0が“8”のときは状態6に遷移し、文字列20が
“9”のときは状態7に遷移する。
【0161】同様に、状態2から状態8まで、範囲条件
を検出できるように有限オートマトンが構成されてい
る。状態9は範囲外の数値を読み飛ばす状態である。
【0162】この時の範囲情報メモリ3の内容を図36
に示す。各状態ごとに、比較照合結果10で状態遷移す
るように設定してある。
【0163】また、図36の範囲情報メモリ3に対応し
た状態遷移テーブル5の内容を図33に示す。比較照合
結果10により状態遷移先を指定してある。
【0164】第2の発明で、数値の前後に検索記号を指
定して検索可能な実施例を図38に示して説明する。図
26の実施例に加えて、複数の検索記号23を登録して
おく検索記号レジスタ98と検索記号23と文字列20
を比較する一致判定比較回路99を設けて、並列比較器
4の比較結果10と,一致判定比較回路99の比較結果
35で有限オートマトン16が遷移する構成とする。一
致判定比較回路99の実施例は,第1の発明で説明した
図21と同じもので良い。
【0165】次に“昭和”,“年”を数値の前後に設定
した範囲条件の例を示す。範囲条件が、 昭和3年≦K≦昭和64年 の場合の状態遷移図を図39に示す。
【0166】まず、状態0では“昭”の入力により状態
1に遷移する。
【0167】状態1では“和”の入力により状態2に遷
移する。
【0168】状態2では、文字列20が“0”のときは
状態2のままで、文字列20が“1”から“2”のとき
は状態3に遷移し、文字列20が“3”から“5”のと
きは状態4に遷移し、文字列20が“6”のときは状態
5に遷移し、文字列20が“7”から“9”のときは状
態6に遷移する。
【0169】同様に、範囲条件を満足するように状態遷
移し、最後に“年”を検出すると、検索結果46を出力
する。
【0170】この場合の範囲情報メモリ3と検索記号レ
ジスタ98の内容を図40に示す。また、範囲情報メモ
リ3に対応した状態遷移テーブル5の内容を図341示
す。比較結果10,35により次状態108が決定す
る。
【0171】また、図40に対応して、数値の前後に検
索記号を指定した場合の範囲情報メモリ3と検索記号レ
ジスタ98の他の構成例を図42に、図41に対応し
て、状態遷移テーブル5の他の構成例を図43に示す。
【0172】次にアルファベットに関して範囲条件検索
を行う例を示す。アルファベットは“△”(空白)で区
切られているものとする。範囲条件が ABC≦K≦EFG の場合の状態遷移図を図44に示す。この範囲条件は、 ABC〜ABZ ACA〜AZZ BAA〜DZZ EAA〜EEZ EFA〜EFG のどれかの条件を満足する記号列を検索することを意味
する。
【0173】まず、状態0では空白を待つ。
【0174】状態1では、文字列20が“A”のときは
状態2に遷移し、文字列20が“B”から“D”のとき
は状態3に遷移し、文字列20が“F”のときは状態4
に遷移する。同様に状態2から状態8まで、範囲条件に
従い状態遷移する。状態8において、空白を検出する
と、検索結果46を出力する。
【0175】この場合の範囲情報メモリ3と検索記号レ
ジスタ98の内容を図45に示す。各状態ごとに、状態
遷移条件11を範囲で指定してある。範囲情報メモリ3
に対応した状態遷移テーブル5の内容を図46に示す。
比較結果10,35により状態遷移先を指定してある。
【0176】また、図45に対応して、アルファベット
に関するの範囲情報メモリ3と検索記号レジスタ98の
他の構成例を図47に、図41に対応して、状態遷移テ
ーブル5の他の構成例を図48に示す。
【0177】以上のように、アルファベットに関して範
囲条件検索を行っても、状態遷移条件を範囲で指定して
あるので状態遷移条件は,高々数個ですむ。
【0178】上記の実施例において1文字の文字列を照
合するときに、状態遷移テーブル5をアクセスしてか
ら、範囲情報メモリ3をアクセスする。このため、1文
字の照合ごとにメモリアクセスが2回必要になり、照合
時間が長くなる。
【0179】そこで、第2の発明の範囲条件照合回路3
15−2の他の実施例として、図49に有限オートマト
ン16の状態遷移テーブル5と範囲情報メモリ3のアク
セスを並列に行う実施例を示す。本実施例では、各状態
ごとに同一の文字列に対して状態遷移条件を変えて再度
照合するかどうか指定する再判定ビット記憶手段である
バッファ13を備え、有限オートマトン16の現状態1
06と比較結果10,35に応じて状態遷移すると同時
に、範囲情報メモリ3からも有限オートマトン16の現
状態106と比較結果10,35で次状態の照合に必要
な範囲情報11を読みだす。この結果、1回のメモリサ
イクルで状態遷移できるため高速な検索が可能となる。
【0180】但し、本実施例では、範囲情報メモリ3の
内容を先読みするために、範囲情報メモリ3は、各状態
ごとに比較結果10,35に対応する全ての範囲情報1
1を格納しておく必要があり、このため範囲情報メモリ
3の容量が増加するという問題もある。
【0181】本実施例の動作例として、範囲条件が、 昭和3年≦K≦昭和64年 の場合について説明する。状態遷移図は図39に示した
ものと同じである。また、状態遷移テーブル5も図43
と同じになる。ただし、範囲情報メモリ3は先読みされ
るためその構造が異なる。
【0182】この場合の範囲情報メモリ3の内容を図5
0に示す。各状態で、各比較結果10,35ごとに範囲
情報11’を格納してある。たとえば、状態1で、
“和”を検出すると、状態2で必要な範囲情報11’
を、状態1の比較照合結果35−1に対応する場所に登
録しておき、状態1で“和”を検出すると、状態2に遷
移すると同時に、状態2の範囲情報11’も範囲情報メ
モリ3から読みだせるようになっている。この構成によ
り高速化を実現している。
【0183】次に、第3の発明の範囲条件照合回路31
5−3の構成の一例を図51に示す。この範囲条件照合
回路315−3は数値検出回路501、バッファ50
2、範囲判定回路503から構成されている。
【0184】まず、ホストコンピュータ400は、使用
する文字コードの種類(ASCIIコードなど)に応じ
て、数値のコード情報324−1を数値検出回路501
に転送する。また、検索する数値の範囲条件324−2
を範囲判定回路503に転送する。転送終了後、数値検
出回路501、範囲判定回路503は検索スタート状態
となる。
【0185】数値検出回路501は文字列記憶装置31
2から転送される文字列20が数値文字列かどうか判定
する。そして数値文字列の場合はその数値文字列をバッ
ファ502に書き込む。連続する数値文字列が途切れた
ら、1つの数値が終了したと判断し、次の数値との区別
するのために区切り記号をバッファ502に書き込む。
数値が区切り記号と共にバッファ2に書き込まれると、
バッファ502はレディになる。範囲判定回路503は
バッファ502がレディーになると、バッファ502に
格納した数値文字列を区切り記号まで読み出し、その数
値が指定された範囲条件を満たしているかどうか判定す
る。そして、満足している場合には、検索結果46を出
力する。
【0186】図52に数値検出回路501の第1の実施
例を示す。数値検出回路501は文字列判定回路506
およびバッファ502への書き込みクロックを生成する
フリップフロップ513、NORゲート514、51
5、ORゲート516から構成されている。文字列判定
回路506は数値の上限値をセットするレジスタ50
8、数値の下限値をセットするレジスタ509、文字列
20が数値の上限値と等しいか、または上限値よりも小
さいことを判定する比較器510、文字列20が数値の
下限値と等しいか、または下限値よりも大きいことを判
定する比較器511および比較器510と比較器511
との判定結果から文字列20が数値の上限値と等しい
か、数値の下限値と等しいか、数値の上限値と下限値と
の間にあることを判定するAND回路512から構成さ
れている。
【0187】ここで、文字列20として、「AB△12
3△456△」が入力された場合を用いて数値検出回路
501のタイミング図を図53に示し説明する。ここ
で,「△」は空白文字である。数値検出信号Aは文字列
20が「123」、「456」のときに1になる。信号
Aを1クロック遅らせて反転させた信号Bをフリップフ
ロップ513で生成し、NORゲート514を用いて信
号Aおよび信号Bがローの部分からパルス信号Cを生成
する。すなわち、パルス信号Cは信号Aの立ち下がりの
タイミングで生成される。そして、信号Aと信号Cとの
論理和をORゲート515で取り、この期間だけバッフ
ァ502に文字列20を書き込む。これにより、数値お
よび数値の次の1文字(区切り文字)をバッファ502
に書き込むことができる。
【0188】図54にバッファ502に書き込まれた数
値情報を示す。バッファ502はFIFO(First in f
irst out)形式のメモリ、2ポートRAMメモリなどの
ように数値検出回路501と範囲判定回路503が同時
にアクセス可能なものが好ましいが、普通のメモリでも
良い。バッファ502には、1番目に検出された数値
「123△」と、2番目に検出された数値「456△」
が順番に格納されている。
【0189】次に、範囲判定回路503について説明す
る。この発明では、数値検出回路501は、高速で動作
しなければならないが、数値検出回路501において、
不要な文字列(数値以外の文字列)を除去してしまうた
め、範囲判定回路503で処理するデータ量は格段に少
なくなり、範囲判定回路503は比較的ゆっくり処理す
れば良いことになる。このため、たとえばマイコンなど
が使用できる。
【0190】マイコンを使用した範囲判定回路503の
第1の実施例を図55に示す。まず、ホストコンピュー
タ400からマイコン540に範囲条件324−2が転
送される。この検索条件に従って、数値検出回路501
が検出した数値をバッファ502から読み出しチェック
する。範囲条件を満たす数値を検出したときは、検索結
果46を出力する。
【0191】次に、マイコン540の処理のシーケンス
を説明する。たとえば、範囲条件が、15≦K≦142
の場合について説明する。今、図54に示したデータが
バッファ502に格納されているとすると、最初の「1
23」は範囲条件を満たすので、検索結果46としてホ
ストコンピュータ400に知らせる。また、2番目の数
値「456」は範囲条件を満たさないので、読み飛ばさ
れる。このようにして、マイコン540は数値検出回路
501が検出した数値が範囲条件を満たすかどうか判定
する。
【0192】図56に数値検出回路501の第2の実施
例の文字列判定回路506を示す。この数値検出回路5
01は文字コードの上位ビットで数値と数値以外の文字
とを判定でき、下位ビットで数値の0から9のどれかを
区別できる文字コードに関して適用可能である。たとえ
ば、ASCIIコードでは、上位4ビットが3の場合が
数値を表し、そのときの下位4ビットが各数値に対応し
ている。
【0193】数値検出回路501の第2の実施例は、数
値の上位ビットを格納しておくレジスタ517、文字列
20の上位ビットとレジスタ507の出力とを比較する
比較器518から構成され、レジスタ507の出力と文
字列20の上位ビットとが一致したとき、その文字列を
数値と判断する。本実施例は、コンパクトな回路であ
り、LSI化に適した回路構成である。
【0194】図57に数値検出回路501の第3の実施
例の文字列判定回路506を示す。この文字列判定回路
506は文字コードから数値を検出するRAM560で
構成されており、文字列20が数値の場合に、数値検出
信号Aがイネーブルになるように、ホストコンピュータ
400からRAM560にコード情報324−1をセッ
トしておく。ここでは、ASCIIコードのRAMテー
ブルの例を示す。上位4ビットが3の場合が数値を表し
ている。
【0195】また、扱う文字コードが固定の場合には、
ROMで構成することもできる。
【0196】図58に数値検出回路501の第4の実施
例を示す。これは,第3の発明の範囲照合回路315−
3で,数値の前後の文字を指定した範囲条件検索を行な
う例である。図58に示すように,数値検出回路501
が,検出した数値だけでなく、数値の前後の文字も一緒
にバッファ502に書き込むようにする。
【0197】この数値検出回路501は、文字列判定回
路506および検出信号Aをクロック550に同期して
遅らせるシフトレジスタ519、数値の前の文字数を指
定するレジスタ523、数値検出信号を選択するための
AND回路524、NOR回路525、バッファ書き込
みクロック生成用のOR回路516、文字列20を遅ら
せるシフトレジスタ526、バッファ502に書き込む
数値の前の文字数を指定するレジスタ521、バッファ
502に書き込むデータを選択するセレクタ522から
構成されている。
【0198】まず、バッファ502に書き込む数値の前
の文字数をレジスタ521に指定する。1文字のときは
1をセットする。また、レジスタ523には、ビット0
から、数値の前と後ろの文字数を加算した数だけ1が立
つようにセットする。たとえば、数値の前に1文字で、
後ろに1文字のときは、ビット0、1に1をセットし、
数値の前に2文字で、後ろに1文字のときは、ビット
0、1、2に1をセットする。
【0199】本実施例の動作を図59で説明する。ここ
では、レジスタ521に2をセットし、レジスタ523
はビット0、1、2に1をセットする。すなわち、数値
の前の2文字と後ろに1文字をバッファ502に書き込
む例である。また、文字列20としては、「……は昭和
60年に開始され……」を用いる。
【0200】数値が検出されるのは、「60」を入力し
たときで、信号Aが1になる。レジスタ523のビット
0、1、2がセットされているので、ANDゲート52
4−1、2、3の出力が選択され、バッファ書き込み期
間としては、信号Aとレジスタ519−1、2、3の出
力のORしたものになる。すなわち、信号Aと信号Aが
3クロック分遅らされた期間にバッファ502にデータ
が書き込まれることになる。この例では、2+3の5ク
ロックサイクルの間にバッファ502にデータが書き込
まれる。
【0201】次に、データの転送タイミングについて説
明する。文字列20をそのままバッファ502に書き込
むと、「昭和」を伴わずに,「60年に開始」がバッフ
ァに書き込まれてしまう。このため、文字列を数値の前
の文字数分遅らせるシフトレジスタ526を配置する。
レジスタ521にゼロがセットされると文字列20がそ
のまま選択され、1以上の場合にはその数値に対応する
クロック数だけ遅れて出力される。今、数値の前の文字
列は2文字なので、レジスタ521に2が書き込まれ、
文字列20より2クロック分遅れたデータ、すなわちレ
ジスタ526−2の出力がセレクタ522で選択される
ようにする。これにより、「昭和60年」がバッファ5
02に書き込まれる。この例を図56に示す。この結
果、範囲判定回路503において、バッファ502のデ
ータを読み出すと、「昭和」、「年」にはさまれた数値
の中から範囲条件を満たす数値を検索できる。
【0202】次に、図61に数値検出回路501の第5
の実施例を示す。この数値検出回路501は、検出した
数値の文字コードをバイナリに変換してからバッファ5
02に書き込む回路である。本実施例は、図56に示し
た文字列判定回路506、数値を10倍にする乗算器5
30、バイナリの数値を加算する加算器531、加算結
果を保持するレジスタ532、533、レジスタ532
のクリア信号を生成するOR回路534、レジスタ53
2、533の値をアップデートするインバータ536、
OR回路535、バッファ502への書き込みクロック
を生成するフリップフロップ537、OR回路538、
516から構成されている。
【0203】この動作例を図62で説明する。文字列2
0は「△123△」とする。数値以外の文字列を検出し
たときは、OR回路534の出力信号で、レジスタ53
2はクリアされる。そして、文字列判定回路506で数
値「1」が検出されると、その「1」に対応したバイナ
リ数(文字コードの下位ビット)が加算器531に入力
される。最初は、レジスタ532の内容は0なので、検
出した数値がそのままレジスタ532に格納される。数
値「2」を検出すると、レジスタ532の値を乗算器5
30で10倍したものと、検出した数値「2」に対応し
たバイナリ数と加算した結果、すなわち、12(バイナ
リ数)をレジスタ532に格納する。ここで、レジスタ
533にもレジスタ532と同じ値が格納される。さら
に、数値「3」を検出すると、同様にレジスタ532に
123(バイナリ数)が格納される。
【0204】次に、「△」を検出すると、フリップロッ
プ537とORゲート538によって数値が終了したこ
とを判定し、このタイミングでレジスタ533のバイナ
リ数をバッファ502に格納する。バッファ502の内
容を図63に示す。同時にレジスタ532をクリアし
て、次に検出する数値のバイナリ数を計算できるように
する。本実施例では、レジスタ532、レジスタ533
のビット幅が広くなり、加算器531、乗算器530も
必要になるが、バッファ502の容量は少なくて済み、
検出した数値が範囲条件にあるかどうかの比較判定はマ
イコン540のコンペア命令だけで行なうことができる
ので、マイコン540の処理は非常に簡単になる。
【0205】また、本実施例では図56に示した文字列
判定回路506で説明したが、図57に示した文字列判
定回路506のRAM560によって、検出した数値を
バイナリに変換してもよい。
【0206】次に、範囲判定回路503の第2の実施例
として有限オートマトンを用いた例を図64に示す。有
限オートマトンを用いると1文字の検索を1マシンサイ
クルで実現できるため、比較的高速な検索が可能であ
る。有限オートマトンは状態遷移テーブル541とレジ
スタ542とで構成されている。ホストコンピュータ4
00で範囲条件に対応した有限オートマトンを生成し、
その状態遷移情報データが状態遷移テーブル541に格
納される。そして、1文字ずつバッファ502からデー
タを読み出し、その数値に応じて状態遷移して、範囲条
件を満たす数値かどうか判定する。範囲条件を満たす場
合には、検索結果46を出力する。
【0207】この場合にも、数値検出回路501で不要
なデータを除去しているために、文字列の読み出しクロ
ックが50nsと高速であったとしても、有限オートマトン
のマシンサイクルは200ns程度でよいので、回路設計が
簡単になる。さらに、高速で高価な状態遷移テーブル用
のメモリを使用する必要がないため、安価なハードウエ
アで実現できるという利点もある。
【0208】範囲判定回路503の第3の実施例とし
て、図61に示した数値検出回路501、すなわち検出
した数値をバイナリに変換する数値検出回路501と組
み合わせた例を示す。この場合は、範囲判定回路503
は図52に示した文字列判定回路506と同じ回路構成
で実現できる。すなわち、範囲条件のバイナリに変換し
た上限値をレジスタ508に格納し、下限値をレジスタ
509に格納し、それぞれ比較器510、511でバイ
ナリに変換された数値と比較照合し、範囲条件を満たし
ている場合には、ANDゲート512が1になる。この
ANDゲート512の出力信号を検索結果46とする。
【0209】この回路構成により、バッファ502は不
要となり、範囲判定回路503も簡単なハード構成で実
現可能となる。また、複数の範囲条件を同時に検索する
場合には、範囲判定回路503を並列に範囲条件の数だ
け配置し、それぞれのレジスタ508、509に範囲条
件の上限値および下限値を設定する。この結果、範囲条
件照合回路315の回路構成が簡単になり、簡単にLS
I化することが可能となる。
【0210】第4の発明の数値検索装置および範囲条件
照合回路の実施例について説明する。
【0211】まず,この発明に係る数値検索装置300
の構成を図65に示す。検索者401は検索条件325
をホストコンピュータ400に入力する。ホストコンピ
ュータ400は検索条件325を解析して、検索条件3
25の数値(範囲条件)の部分に関しては、範囲条件照
合回路315−4に検索制御情報324を転送し、検索
条件325の文字列の部分に関しては、文字列照合回路
313−2に検索制御情報321を転送する。文字列照
合回路313−2と範囲条件照合回路315−4とは並
列に動作して、文字列記憶装置312から文字列20を
1文字ずつ読み出して検索を行なう。範囲条件照合回路
315−4において、文字列20の中に検索条件を満足
する数値を検出した場合には、その数値検出信号101
を文字列照合回路313−2に転送し、文字列照合回路
313−2において、検索条件を満足する文字列を検出
した場合には、文字列検出信号100を範囲条件照合回
路315−4に転送する。そして、数値および文字列か
らなる検索文字列を検出すると、その組合せに応じて、
範囲条件照合回路315−4または文字列照合回路31
3−2から、その検索結果45または46をホストコン
ピュータ400に転送する。ホストコンピュータ400
は検索者401に検索条件を満足する文字列を含む文書
情報326を知らせる。
【0212】ここで、同期回路500によって、範囲条
件照合回路315−4と文字列照合回路313−2−2
とが同期して同じ文字列20の検索を行なうことで、範
囲条件照合回路315−4と文字列照合回路313−2
との間での通信を待ち時間無しで高速に行なうことを可
能としている。
【0213】具体的に検索条件325が文字列と数値と
から構成されている例における範囲条件照合回路315
−4と文字列照合回路313−2との間での信号のやり
取りのシーケンスについて説明する。
【0214】まず、検索文字列が「文字列+数値」の場
合の範囲条件照合回路315−4と文字列照合回路31
3−2との間での信号のやり取りのシーケンスについて
説明する。検索条件325が『「摂氏10」から「摂氏
30」のまでの記述のある文書を検索』の場合がこの例
に当たる。まず、文字列照合回路313−2で文字列の
検索を行ない、「摂氏」を検出すると、文字列検出信号
100を範囲条件照合回路315−4に発行する。範囲
条件照合回路315−4は検索文字列で指定した範囲に
ある数値「10」から「30」を検索し、この範囲内の
数値を検出すると、検索結果46を出力する。
【0215】次に、検索文字列が「数値+文字列」の場
合の範囲条件照合回路315−4と文字列照合回路31
3−2との間での信号のやり取りのシーケンスについて
説明する。検索条件325が『「10kHz」から「1
00kHz」までの記述のある文書の検索』のときがこ
の例に当たる。まず、範囲条件照合回路315−4で
「10」から「100」までの数値の検索を行ない、こ
の範囲にある数値を検索すると、文字列検出信号101
を文字列照合回路313−2に発行する。文字列照合回
路313−2は「kHz」を検索し、この文字列を検出
すると、検索結果45を出力する。
【0216】次に、検索文字列が「文字列A+数値+文
字列B」のように文字列と数値から構成されている場合
の検索例を示す。検索条件325が『「昭和3年」から
「昭和64年」までの記述のある文書の検索』の場合が
これに当たる。まず、文字列照合回路313−2が「昭
和」を検出して文字列検出信号100を発行し、範囲条
件照合回路315−4は文字列検出信号100を受信す
る。そして、範囲条件照合回路315−4は検索を開始
して「3」から「64」までの数値を検出すると、数値
検出信号101を発行する。文字列照合回路313−2
は、数値検出信号101を受信すると、「年」を検索
し、「年」を検出すると、検索結果45を出力する。
【0217】このように、文字列照合回路313−2と
範囲照合回路315−4とがそれぞれ文字列、数値を検
索し、互いに検索結果を通信し合いながら検索を行な
い、文字列と数値とから構成される検索文字列を検索す
る。
【0218】次に、図65に示した数値検索装置300
の範囲条件照合回路315−4、文字列照合回路313
−2の一例を図66に示す。文字列照合回路313−2
は文字列検索用有限オートマトンから構成され,外オー
トマトンはその状態遷移情報を格納しておく状態遷移テ
ーブル1、レジスタ2から構成され、範囲条件照合回路
315−4は数値検出用有限オートマトンの情報を格納
しておく状態遷移テーブル5とレジスタ6から構成され
るオートマトンと、状態遷移条件に相当する検索数値の
上限値および下限値などの数値を文字コードのまま格納
しておく範囲情報メモリ3、範囲情報メモリ3の出力と
文字列の比較照合を行なう並列比較器4から構成されて
いる。
【0219】まず、文字列照合回路313−2の状態遷
移テーブル1の一例を図67に示す。入力アドレスは現
状態105、数値検出信号101、文字列20で構成さ
れていて、出力データは次状態107、検索結果45、
文字列検出信号100で構成されている。すなわち、所
定の状態で数値検出信号101と文字列20とに応じて
状態遷移する。さらに、各状態で検索文字列の部分文字
列(たとえば、「昭和50年」の「昭和」)を検出した
場合には、文字列検出信号100を出力して、検索文字
列の最後の文字列(たとえば、「昭和50年」の
「年」)と一致した文字列を検出した場合には、検索結
果45を出力する。
【0220】次に、範囲条件照合回路315−4の状態
遷移テーブル5の一例を図68に示し説明する。入力ア
ドレスは現状態106、文字列検出信号100、範囲情
報メモリ3の出力11と文字列20の比較結果10で構
成されていて、出力データは次状態108、検索結果4
6、数値検出信号101、範囲情報メモリ3から比較す
る数値文字列の位置を指定する選択信号103で構成さ
れている。すなわち、所定の状態から文字列検出信号1
00および範囲情報メモリ3の出力11と文字列20の
比較結果とに応じて状態遷移する。さらに、検索文字列
の部分文字列(たとえば、「昭和50年」の「50」)
を検出した場合には、数値検出信号100を出力して、
検索文字列の最後の数値(たとえば、「摂氏50」の
「50」)を検出した場合には、検索結果46を出力す
る。
【0221】ここで、範囲情報メモリ3の構成は,範囲
条件照合回路315の第2の発明で説明した図25と同
じ構成でよい。並列比較器4も図26と同じ構成でよ
い。
【0222】以下、範囲条件が「昭和3年≦K≦昭和6
4年」の場合を例に取り、文字列照合回路313−2、
範囲条件照合回路315−4の検索シーケンスを説明す
る。この検索例は検索条件が「文字列A+数値+文字列
B」に相当し、文字列Aは「昭和」、数値は「3」から
「64」、文字列Bは「年」になる。
【0223】文字列照合回路313−2の状態遷移図を
図69に示す。
【0224】まず、状態0では、「昭」を待ち、「昭」
を検出すると、状態1に遷移する。状態1では、「和」
を待ち、「和」検出すると、状態2に遷移する。状態2
に遷移する場合には、範囲条件照合回路315−4に
「昭和」を検出したことを知らせる文字列検出信号10
0を発行する。状態2では、範囲条件照合回路315−
4が「3」から「64」までの数値を検出したことを知
らせる数値検出信号101を待つ。そして、数値検出信
号101と「年」を同時に検出すると、検出結果45を
出力する。各状態で「昭」を検出すると状態1に遷移し
て、新たに文字列の先頭から検索を続ける。
【0225】以上の状態遷移に対応する状態遷移テーブ
ル1を図70に示す。入力アドレスは現状態105、数
値検出信号101、文字列20で構成されていて、出力
データは次状態107、検索結果45、文字列検出信号
100で構成されている。各状態遷移テーブルに記述さ
れている入力信号以外の信号を検出した場合には、状態
0に遷移するものとする。
【0226】次に、範囲条件照合回路315−4の動作
を説明する。図71に範囲条件照合回路315−4の状
態遷移図を示す。数値以外の文字列20を検出した場合
には状態0に遷移するが、この状態遷移パスは省略して
ある。
【0227】まず、状態0では、文字列照合回路313
−2で「昭和」を検出したことを知らせる文字列検出信
号100を待つ。文字列検出信号100と文字列20と
を同時に判定して状態遷移する。状態0において、文字
列20が「0」の場合には、状態1に遷移して、文字列
20が「1」から「2」の場合には状態2に遷移し、文
字列20が「3」から「5」の場合には状態3に遷移
し、文字列20が「6」の場合には状態4に遷移し、数
値が「7」から「9」の場合には状態0に遷移する。
【0228】状態1から状態4でも同様に文字列20に
応じて状態遷移する。そして、範囲条件を満足する数値
を検出すると、数値列が本当に終わっているかどうかは
確認せずに、数値検出信号101を出力している。これ
に対して、文字列照合回路313−2は範囲条件照合回
路315−4と同期して動作しているので、数値検出信
号101を受信するのと同じタイミングで次の文字の比
較照合を行なうことができる。この結果、次の文字が
「年」であれば、文字列照合回路313−2で検索文字
列を検出したことになる。また、数値が続いている場合
には、文字列照合回路313−2は「年」を検出するま
で待つ。範囲条件照合回路315−4は範囲条件を満足
する数値を検出した後は、状態0に遷移して非数値文字
列検出信号100を待つ。
【0229】このように、文字列照合回路313−2と
範囲条件照合回路315−4とが同期して動作している
ので、文字列照合回路313−2と範囲条件照合回路3
15−4とが通信中でも文字列20を待たせることが無
く、高速な検索が可能となる。
【0230】上記の状態遷移を実現する範囲情報メモリ
3を図72に示し、状態遷移テーブル5を図73および
図74に示す。本例に示した範囲情報メモリ3には、5
組の状態遷移条件が登録できるようになっているが、こ
の発明はこの登録数に特定されるものではない。
【0231】まず、範囲情報メモリ3について説明す
る。本例では、状態が4までなので,状態0から4まで
に状態遷移条件が登録されている。状態0,1では状態
遷移条件が0、1から2、3から5、6、7から9の5
通りなので、この5通りの状態遷移条件を登録する。状
態2、3では状態遷移条件が0から9,状態4では状態
遷移条件が0から4、の1通りを登録する。
【0232】これらと文字列20の比較を並列比較器4
で行なうと、状態0に関しては、文字列20が「0」の
ときの比較結果10は0となり、文字列20が「1」か
ら「2」のときの比較結果10は1となり、文字列20
が「3」から「5」のときの比較結果10は2となり、
文字列20が「6」のときの比較結果10は3となり、
文字列20が「7」から「9」のときの比較結果10は
4となり、それ以外の文字のときは比較結果10は5に
なる。状態2以降も同様である。
【0233】次に、図73および図74に示した状態遷
移テーブル5の内容について説明する。状態遷移条件1
1と文字列20の比較結果10および文字列照合回路3
13−2からの文字列検出信号100に応じて状態遷移
先、数値検出信号101、検索結果46を状態遷移テー
ブル5に登録してある。
【0234】範囲条件照合回路315−4では、各状態
で範囲条件を満足する数値を検出すると、それが連続す
る数値の途中であるかどうかに関係なく、数値検出信号
101を発行する。たとえば、状態0で「5」を検出し
た場合、「5」は範囲条件を満たしているので、次の文
字列が数値であるかにかかわらず数値検出信号101を
出力する。そして、本当に数値が終了したかどうかは、
文字列照合回路313−2が数値検出信号101を受信
すると同時に次の文字列を検索して、判定する。本例で
は、非数値文字列で終了する検索文字列を検出する例な
ので、検索結果46は出力していないが、数値で終わる
文字列を検出する場合、たとえば「摂氏10」から「摂
氏50」の記述のある文書を検索する場合には、範囲条
件照合回路315−4で数値の次の文字まで判定して数
値文字列の終了を確認して、範囲条件を満足する数値を
検出したときに、検索結果46を出力する。
【0235】以下、文字列20が……昭和60年……の
順番に入力される場合を例にとり説明する。その時のタ
イミング図を図75に示す。
【0236】(1)文字列20が「昭」の場合 文字列照合回路313−2は「昭」を検出すると、状態
1に遷移する。
【0237】(2)文字列20が「和」の場合 文字列照合回路313−2は「和」を検出すると状態2
に遷移すると同時に、文字列検出信号100を発行す
る。
【0238】(3)文字列20が「6」の場合 範囲条件照合回路315−4は文字列検出信号100を
受信すると同時に、「6」を検出し、状態4に遷移す
る。そして、数値検出信号101を発行する。
【0239】(4)文字列20が「0」の場合 文字列照合回路313−2は数値検出信号101を受信
するが、「年」を検出できないので、状態2のままでい
る。
【0240】範囲条件照合回路315−4は「0」を検
出し、状態0に遷移して、数値検出信号101を発行す
る。
【0241】(5)文字列20が「年」の場合 文字列照合回路313−2は数値検出信号101と
「年」とを検出して、状態0に遷移すると同時に、検索
結果45を発行する。
【0242】以上のように文字列照合回路313−2と
範囲条件照合回路315−4とがそれぞれの検索結果を
通信することにより、数値の前後に文字列を指定した範
囲条件検索を実現している。
【0243】次にこの発明の数値検索装置の詳細ブロッ
ク図を図76に示し説明する。ホストコンピュータ40
0は,CPU410,主メモリ405,CRTディスプ
レイ403,キーボード404,通信アダプタ402か
ら構成されていてる。検索者は,キーボード404から
検索キーワードを入力する。主メモリ405には,オー
トマトンの生成プログラム406と検索制御プログラム
407が格納されている。オートマトンの生成プログラ
ム406はCPU410で実行され,検索キーワードに
応じたオートマトンを生成する。
【0244】次に,検索制御プログラム407がCPU
410で実行され,範囲条件照合回路315および文字
列照合回路313に,通信アダプタ402を介して,オ
ートマトンの状態遷移情報を転送する。そして,数値検
索装置300の記憶装置制御回路311に起動をかけ
る。記憶装置制御回路311は,複数のディスクから構
成される文字列記憶装置312から所定のディスクを選
択して,そのディスクから文字列を読み出し,範囲条件
照合回路315および文字列照合回路313に転送す
る。範囲条件照合回路315および文字列照合回路31
3は数値および文字列を検索して,それを,CPU41
0に知らせる。CPU410は検索した文書をCRTデ
ィスプレイ403に表示する。
【0245】図77にこの数値検索装置の外観図を示
す。ホストコンピュータ400はパソコンやワークステ
ーションを用いるのが好ましい。その他の部分は,小型
のラックに実装するのが好ましい。
【0246】以上の実施例では、数値検索装置300
は、ホストコンピュータ400からオートマトンの状態
遷移情報を受け取る形で独立した装置として説明してき
たが、文字列照合回路313、範囲条件照合回路31
5、記憶装置制御回路311などをホストコンピュータ
内に組み込んで構成したり、ホストコンピュータを使わ
ず専用機として独立して構成することも可能である。
【0247】また、本明細書中、数値を含む文字列を検
索する装置を数値検索装置という表現をしているが、数
値のみの検索に限定されるわけでなく、他の文字列検索
を行なうことができるのは今まで説明してきた種々の実
施例より明らかであることを付記しておく。
【0248】
【発明の効果】以上説明したように、この発明に係る数
値検索装置においては、コード表現された記号で構成さ
れる被検索文字列中から、特定の文字列と特定の範囲内
にある数値とから構成される検索文字列を検索する数値
検索装置において、特定の文字列を検索する文字列照合
手段と、文字列中から特定の範囲内の数値を検出する範
囲条件照合手段とを設けているから、文字列と数値を同
時に検索することができる。
【0249】第1の発明によれば,数値を検索するオー
トマトンを作成する場合に,数値の範囲で指定された検
索条件を,数値の桁数毎に分割して、分割した検索条件
毎にオートマトンを生成するので,それぞれのオートマ
トンを簡単に生成でき、オートマトン生成時間を短くす
ることが可能となる。オートマトンが簡単になるので、
状態遷移数が少なくなり、範囲条件照合手段の状態遷移
テーブルの容量が少なくてすむ。さらに、ホストコンピ
ュータから範囲条件照合手段にオートマトンの状態遷移
情報を転送する時間も短くできる。
【0250】この場合に、桁数ごとに分割した範囲条件
ごとに数値の検索回路を設けて、これらを並列に検索さ
せる構成により、高速な検索が可能となる。
【0251】また,第1の発明の範囲条件照合手段にお
いて,文字列を記憶するレジスタと,被検索文字列とレ
ジスタに記憶した文字列を比較する比較器を設ければ,
数値の前または後ろの文字列を指定した検索が可能とな
る。
【0252】第2の発明によれば,数値を検索するオー
トマトンを作成する場合に,所定の状態から他の複数の
状態へ遷移する条件をそれぞれ文字コードの範囲(上限
値と下限値)で指定するので、状態遷移パス数が少なく
なり、状態遷移テーブルの容量が少なくなる。加えて、
状態遷移情報が少なくなるので、状態遷移情報を生成す
るホストコンピュータから範囲条件検索手段に状態遷移
情報を転送する時間が短くなる。この結果,高速な検索
が可能となる。
【0253】さらに,状態遷移条件を範囲で指定するの
で,数値以外にも文字コードが順序良く割り付けられて
いるアルファベット,ひらがな,片仮名等の文字コード
に関しても範囲条件検索が可能となる。
【0254】また,第2の発明の範囲条件照合手段にお
いて,文字列を記憶するレジスタと,被検索文字列とレ
ジスタに記憶した文字列を比較する比較器を設ければ,
数値の前後の文字列を指定した検索が可能となる。
【0255】第3の発明による範囲条件照合手段におい
て,文字列中から数値を検出する数値検出手段と、数値
検出手段で検出した数値が特定の範囲内にある数値かど
うか判定する範囲判定手段とを設けているから、数値の
検索と数値の判定とを高速に行なうことができるので、
検索を高速で行なうことができる。
【0256】この場合、数値検出手段で検出した数値を
バッファリングする数値記憶手段を設ければ、範囲判定
手段として処理速度の小さいものを用いることができる
から、装置が安価になる。 また、第3の発明の範囲条
件照合手段において,数値検出手段で検出した数値の少
なくとも1文字前、少なくとも1文字後の少なくとも一
方の文字列を一時記憶しておくシフトレジスタを設けれ
ば、特定の文字列と特定の範囲内の数値とを同時に検索
することができるから、数値の前後の文字列を指定した
検索が可能となる。
【0257】さらに、数値検出手段で検出した数値のコ
ードをバイナリコードに変換するバイナリ変換手段を設
ければ、範囲判定手段として回路構成がより簡単なもの
を用いることができるから、装置が安価になる。
【0258】また、範囲判定手段をマイコンで構成すれ
ば、範囲判定回路が安価となるため、数値検索装置が安
価となる。
【0259】さらに、上記範囲判定手段を有限オートマ
トンで構成すれば、1文字の検索を1マシンサイクルで
実現できるから、高速な検索が可能である。
【0260】第4の発明によれば,特定の文字列を検索
する文字列照合手段と、文字列中から特定の範囲内の数
値を検出する範囲条件照合手段とを設けているから、数
値の前後の文字列を指定した検索が可能となる。
【0261】この場合、文字列検出信号を範囲条件照合
手段に送信する第1の通信手段を文字列照合手段に設
け、数値検出信号を文字列照合手段に送信する第2の通
信手段を範囲条件照合手段に設ければ、範囲条件照合手
段と文字列照合手段との通信における待ち時間をなくす
ことができるから、検索を高速で行なうことができる。
また、文字列照合手段と範囲条件照合手段との同期手段
を設ければ、範囲条件照合手段と文字列照合手段との通
信における待ち時間をなくすことができるから、検索を
高速で行なうことができる。
【0262】このように、この発明の効果は顕著であ
る。
【図面の簡単な説明】
【図1】本発明の数値検索装置の構成図である。
【図2】従来の文字列検索装置の構成図である。
【図3】数値を検索する一実施例の状態遷移図である。
【図4】第1の発明の範囲条件照合回路の構成を示すブ
ロック図である。
【図5】図4の範囲条件照合回路の第1の実施例のブロ
ック図である。
【図6】図4に示した分割条件照合回路の第1の実施例
の構成図である。
【図7】図6に示した大小一致判定比較回路の構成図で
ある。
【図8】図6に示した分割条件照合回路の実行例1の状
態遷移図である。
【図9】図8の状態遷移図の実行例の最小値レジスタ,
最大値レジスタ,範囲条件下限値レジスタ,範囲条件上
限値レジスタの設定値を示した図である。
【図10】図8の状態遷移図の実行例の状態遷移テーブ
ルの設定値を示した図である。
【図11】図6に示した分割条件照合回路の実行例2の
状態遷移図である。
【図12】図11の状態遷移図の実行例の最小値レジス
タ,最大値レジスタ,範囲条件下限値レジスタ,範囲条
件上限値レジスタの設定値を示した図である。
【図13】図11の状態遷移図の実行例の状態遷移テー
ブルの設定値を示した図である。
【図14】図11の状態遷移図の実施例の状態遷移テー
ブルの設定値を示した図である。
【図15】図6に示した分割条件照合回路の実行例3の
状態遷移図である。
【図16】図15の状態遷移図の実行例の最小値レジス
タ,最大値レジスタ,範囲条件下限値レジスタ,範囲条
件上限値レジスタの設定値を示した図である。
【図17】図15の状態遷移図の実行例の状態遷移テー
ブルの設定値を示した図である。
【図18】図15の状態遷移図の実行例の状態遷移テー
ブルの設定値を示した図である。
【図19】図15の状態遷移図の実行例の状態遷移テー
ブルの設定値を示した図である。
【図20】第1の発明の分割条件照合回路の第2の実施
例の構成図である。
【図21】図20で示した一致判定比較回路の構成図で
ある。
【図22】図20の分割条件照合回路の実行例1の状態
遷移図である。
【図23】図20の分割条件照合回路の実行例1の最小
値レジスタ,最大値レジスタ,範囲条件下限値レジス
タ、範囲条件上限値レジスタと検索記号レジスタの設定
値を示した図である。
【図24】図20に示した分割条件照合回路の実行例1
の状態遷移テーブルの設定値を示した図である。
【図25】本発明の図20に示した分割条件照合回路の
実行例1の状態遷移テーブルの設定値を示した図であ
る。
【図26】第2の範囲条件照合回路の構成を示すブロッ
ク図である。
【図27】図26に示した範囲条件照合回路の並列比較
回路の構成図である。
【図28】図26に示した範囲条件照合回路の状態遷移
テーブルの構成を示す図である。
【図29】図26に示した範囲条件照合回路の範囲情報
メモリの構成を示す図である。
【図30】図3の状態遷移図の実行例の範囲情報メモリ
の設定値を示した図である。
【図31】図3の状態遷移図の実行例の状態遷移テーブ
ルの設定値を示した図である。
【図32】図26に示した範囲条件照合回路の並列比較
器の他の構成図である。
【図33】図26に示した範囲条件照合回路の範囲情報
メモリの他の構成を示す図である。
【図34】図26に示した範囲条件照合回路の状態遷移
テーブルの他の構成を示す図である。
【図35】範囲条件が2つある場合の状態遷移図であ
る。
【図36】図26に示した範囲条件照合回路の範囲情報
メモリの他の構成を示す図である。
【図37】図27に示した範囲条件照合回路の状態遷移
テーブルの他の構成を示す図である。
【図38】第2の範囲条件照合回路の他の実施例の構成
を示すブロック図である。
【図39】図38の範囲条件照合回路の一実施例の実行
例の状態遷移図である。
【図40】図39の状態遷移図の実行例の範囲情報メモ
リの設定値を示した図である。
【図41】図39の状態遷移図の実行例の状態遷移テー
ブルの設定値を示した図である。
【図42】図40に対応して数値の前後に検索記号を指
定した場合の範囲情報メモリの他の構成例を示した図で
ある。
【図43】図41に対応して数値の前後に検索記号を指
定した場合の状態遷移テーブルの他の構成例を示した図
である。
【図44】図38の範囲条件照合回路の一実施例の他の
実行例の状態遷移図である。
【図45】図44の状態遷移図の実行例の範囲情報メモ
リの設定値を示した図である。
【図46】図44の状態遷移図のの実行例の状態遷移テ
ーブルの設定値を示した図である。
【図47】図45に対応してアルファベットに関する範
囲情報メモリの他の構成例を示した図である。
【図48】図46に対応してアルファベットに関する状
態遷移テーブルの他の構成例を示した図である。
【図49】第2の発明の範囲条件照合回路の他の実施例
の構成を示すブロック図である。
【図50】図49に示した範囲情報メモリの設定値を示
した図である。
【図51】第3の発明の範囲条件照合回路の構成図であ
る。
【図52】図51に示した範囲条件照合回路の数値検出
回路の第1の実施例を示す図である。
【図53】図52に示した数値検出回路を用いたときの
タイミング図である。
【図54】図52に示した数値検出回路を用いたときの
バッファの内容を示す図である。
【図55】図51に示した範囲条件照合回路の範囲判定
回路の第1の実施例を示す図である。
【図56】図51に示した範囲条件照合回路の数値検出
回路の第2の実施例を示す図である。
【図57】図51に示した範囲条件照合回路の数値検出
回路の第3の実施例を示す図である。
【図58】図51に示した範囲条件照合回路の数値検出
回路の第4の実施例を示す図である。
【図59】図58に示した数値検出回路を用いたときの
タイミング図である。
【図60】図58に示した数値検出回路を用いたときの
バッファの内容を示す図である。
【図61】図51に示した範囲条件照合回路の数値検出
回路の第5の実施例を示す図である。
【図62】図61に示した数値検出回路を用いたときの
タイミング図である。
【図63】図61に示した数値検出回路を用いたときの
バッファの内容を示す図である。
【図64】図51に示した範囲条件照合回路の範囲判定
回路の第2の実施例を示す図である。
【図65】第4の発明に係る数値検索装置の構成を示す
ブロック図である。
【図66】図65に示した数値検索装置の文字列照合回
路、範囲条件照合回路の実施例の構成図である。
【図67】図66に示した文字列照合回路の状態遷移テ
ーブルの構成を示す図である。
【図68】図66に示した範囲条件照合回路の状態遷移
テーブルの構成を示す図である。
【図69】図66に示した文字列照合回路の状態遷移図
である。
【図70】図66に示した文字列照合回路の状態遷移テ
ーブルの内容を示す図である。
【図71】図66に示した範囲条件照合回路の状態遷移
図である。
【図72】図66に示した範囲条件照合回路の範囲情報
メモリの内容を示す図である。
【図73】図66に示した範囲条件照合回路の状態遷移
テーブルの内容を示す図である。
【図74】図66に示した範囲条件照合回路の状態遷移
テーブルの内容を示す図である。
【図75】図66に示した文字列照合回路、範囲条件照
合回路を実行したときのタイミング図である。
【図76】本発明の数値検索装置の詳細構成図である。
【図77】本発明の数値検索装置の外観図である。
【符号の説明】
3…範囲情報メモリ、4…並列比較器、5…状態遷移テ
ーブル、6…レジスタ、16…有限オートマトン、44
…大小一致判定比較回路、91…最小値レジスタ、92
…範囲条件下限値レジスタ、94…範囲条件上限値レジ
スタ、95…最大値レジスタ、98…検索記号レジス
タ、99…一致判定比較回路、100…文字列検出信
号、101…数値検出信号、201…下限値レジスタ、
202…上限値レジスタ、311…記憶装置制御回路、
312…文字列記憶装置、313…文字列照合回路、3
15…範囲条件照合回路、400…ホストコンピュー
タ、500…同期回路、501…数値検出回路、502
…バッファ、503…範囲判定回路、526…シフトレ
ジスタ、530…乗算器、531…加算器、540…マ
イコン、901−i…分割条件照合回路、902…バッ
ファ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 畠山 敦 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 秋沢 充 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (56)参考文献 特開 平1−92835(JP,A) 特開 平2−159618(JP,A) 特開 平4−223566(JP,A) 特開 昭63−311530(JP,A) 米国特許4241402(US,A) 米国特許5138669(US,A) MERRILL E.ISENMAN and DENNIS E.SHAS HA,”Performance an d Architectural Is seues for String M atching”,IEEE TRAN SACTIONS ON COMPUT ERS.VOL.39,NO.2(FEB RUARY 1990),PP.238−250 Kwang−I Yu,Shi−Pi ng Hsu,Peggy Otsub o,”THE FAST DATA F INDER − AN ARCHITE CTURE FOR VERY HIG H SPEED DATA SEARC H AND DISSEMINATIO N”,PROC.IEEE Int.C onf.Data Eng.Los A ngeles CA(Apr.1984)p p.167−174 (58)調査した分野(Int.Cl.7,DB名) G06F 17/30 170 G06F 17/30 415

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】コード表現された記号で構成される被検索
    文字列中から、特定の範囲内にある数値を検索する範囲
    条件照合手段を備えた数値検索装置であって、 上記範囲条件照合手段は、 検索する数値範囲の上限値と下限値の桁数が2桁以上異
    なる場合には、数値の範囲を、 (a)下限値から下限値と同じ桁数の最大の数値まで、 (b)下限値より1桁大きい数値の最小の数値から上限
    値より1桁小さい数値の最大の数値まで、 (c)上限値と同じ桁数の最小の数値から上限値まで、 分割し、 1桁異なる場合には、上記(a)(c)の2つの数値の
    範囲に分割し、 上限値と下限値の桁数が同じ場合には、そのままの数値
    の範囲で、それぞれの範囲ごとに検索を行なう手段を備
    えたことを特徴とする数値検索装置。
  2. 【請求項2】コード表現された記号で構成される被検索
    文字列中から、特定の範囲内にある数値を検索する数値
    検索方法であって、 検索する数値範囲の上限値と下限値の桁数が2桁以上異
    なる場合には、数値の範囲を、 (a)下限値から下限値と同じ桁数の最大の数値まで、 (b)下限値より1桁大きい数値の最小の数値から上限
    値より1桁小さい数値の最大の数値まで、 (c)上限値と同じ桁数の最小の数値から上限値まで、 分割し、 1桁異なる場合には、上記(a)(c)の2つの数値の
    範囲に分割し、 上限値と下限値の桁数が同じ場合には、そのままの数値
    の範囲で、それぞれの範囲ごとの範囲条件検索を並列に
    行なうことを特徴とする数値検索方法。
  3. 【請求項3】コード表現された記号で構成される被検索
    文字列中から、特定の範囲内にある数値を検索する数値
    検索方法であって、 検索する数値範囲の上限値と下限値の桁数の相違に応じ
    て範囲条件を分割し、分割されたそれぞれの範囲ごとに
    検索を行なうことを特徴とする数値検索方法。
  4. 【請求項4】コード表現された記号で構成される被検索
    文字列中から、有限オートマトンを用いて特定の範囲内
    にある数値を検索する数値検索方法であって、 上記有限オートマトンの状態ごとに少なくとも1つ以上
    の状態に状態遷移するときの各状態遷移条件をそれぞれ
    記号コードの上限値と下限値とを保持しておき、 上記被検索文字列と上記状態遷移条件の大小一致の判定
    を行い、 上記被検索文字列を入力し、上記大小一致判定手段の判
    定結果に基づいて状態遷移し、検索結果を保持している
    状態に遷移した場合には上記検索結果を出力することを
    特徴とする数値検索方法。
  5. 【請求項5】コード表現された記号で構成される被検索
    文字列中から、有限オートマトンを用いて特定の範囲内
    にある数値を検索する数値検索方法であって、 上記被検索文字列の照合結果に応じて、上記有限オート
    マトンが所定の状態から少なくとも一つ以上の状態へ遷
    移するとき、各状態遷移条件をそれぞれの記号のコード
    の範囲で指定することを特徴とする数値検索方法。
  6. 【請求項6】コード表現された記号で構成される被検索
    文字列中から、有限オートマトンを用いて特定の範囲内
    にある数値または文字を検索する数値検索方法であっ
    て、 上記被検索文字列の照合結果に応じて、上記有限オート
    マトンが所定の状態から少なくとも一つ以上の状態へ遷
    移するとき、各状態遷移条件をそれぞれの記号のコード
    範囲で保持し、 上記有限オートマトンの状態に応じた状態遷移条件を読
    み出し、 その状態遷移条件と被検索文字を比較し、 その結果により状態遷移先を決定して検索を行なうこと
    を特徴とする数値検索方法。
JP03158078A 1990-06-29 1991-06-28 数値検索装置およびその方法 Expired - Fee Related JP3141428B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP03158078A JP3141428B2 (ja) 1990-06-29 1991-06-28 数値検索装置およびその方法

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
JP16974790 1990-06-29
JP17521390 1990-07-04
JP2-169747 1990-07-04
JP2-175213 1990-07-04
JP17520890 1990-07-04
JP2-175208 1990-07-04
JP03158078A JP3141428B2 (ja) 1990-06-29 1991-06-28 数値検索装置およびその方法

Publications (2)

Publication Number Publication Date
JPH04348472A JPH04348472A (ja) 1992-12-03
JP3141428B2 true JP3141428B2 (ja) 2001-03-05

Family

ID=27473520

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03158078A Expired - Fee Related JP3141428B2 (ja) 1990-06-29 1991-06-28 数値検索装置およびその方法

Country Status (1)

Country Link
JP (1) JP3141428B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180287260A1 (en) * 2015-07-31 2018-10-04 At&T Intellectual Property I, L.P. Radial antenna and methods for use therewith

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06215041A (ja) * 1993-01-18 1994-08-05 Canon Inc 文書検索装置及びその方法
JP2010211388A (ja) * 2009-03-09 2010-09-24 Canon Inc 検索装置及び検索方法
JP5904045B2 (ja) * 2012-07-24 2016-04-13 住友電気工業株式会社 情報処理装置および情報処理プログラム
IN2015DN01932A (ja) * 2012-09-28 2015-08-07 Ericsson Telefon Ab L M
US11106740B2 (en) * 2017-04-25 2021-08-31 Mitsubishi Electric Corporation Search device, search system, search method, and computer readable medium

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Kwang−I Yu,Shi−Ping Hsu,Peggy Otsubo,"THE FAST DATA FINDER − AN ARCHITECTURE FOR VERY HIGH SPEED DATA SEARCH AND DISSEMINATION",PROC.IEEE Int.Conf.Data Eng.Los Angeles CA(Apr.1984)pp.167−174
MERRILL E.ISENMAN and DENNIS E.SHASHA,"Performance and Architectural Isseues for String Matching",IEEE TRANSACTIONS ON COMPUTERS.VOL.39,NO.2(FEBRUARY 1990),PP.238−250

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180287260A1 (en) * 2015-07-31 2018-10-04 At&T Intellectual Property I, L.P. Radial antenna and methods for use therewith

Also Published As

Publication number Publication date
JPH04348472A (ja) 1992-12-03

Similar Documents

Publication Publication Date Title
US5140644A (en) Character string retrieving system and method
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
US4748439A (en) Memory apparatus and method for retrieving sequences of symbols including variable elements
US5138669A (en) Range-conditional character string retrieving method and system
JP2986865B2 (ja) データ検索方法および装置
US5081608A (en) Apparatus for processing record-structured data by inserting replacement data of arbitrary length into selected data fields
US4531201A (en) Text comparator
JP3141428B2 (ja) 数値検索装置およびその方法
JP3213244B2 (ja) データ圧縮方法およびデータ処理システム
JPH024026B2 (ja)
JPH05101102A (ja) 検索装置
JPH0666050B2 (ja) ソート処理方法
Lee et al. HYTREM-a hybrid text-retrieval machine for large databases
JP2880199B2 (ja) 記号列検索方法および検索装置
JPH0315221B2 (ja)
JPH1027183A (ja) データ登録方法および装置
EP0468402B1 (en) Character string retrieving system and method
JP2825009B2 (ja) 記号列検索方法および装置
JP2880192B2 (ja) 文字列検索方法及び装置
JPH04308B2 (ja)
JPH0746362B2 (ja) 文字列照合方法
JP2682448B2 (ja) 索引検索方式
JP2961888B2 (ja) 用語辞書による文書検索システム
EP0649106B1 (en) Compactly stored word groups
JP3021224B2 (ja) 辞書検索装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071222

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20081222

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20081222

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20091222

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20101222

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees