JPH1139344A - 2次元配列コードを用いた文字列検索方法 - Google Patents
2次元配列コードを用いた文字列検索方法Info
- Publication number
- JPH1139344A JPH1139344A JP9209932A JP20993297A JPH1139344A JP H1139344 A JPH1139344 A JP H1139344A JP 9209932 A JP9209932 A JP 9209932A JP 20993297 A JP20993297 A JP 20993297A JP H1139344 A JPH1139344 A JP H1139344A
- Authority
- JP
- Japan
- Prior art keywords
- character
- condition
- code
- type
- character string
- 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.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
索性能を高速化する文字検索方法を提供する。 【解決手段】条件種別を行方向と、文字種別を列方向の
添え字とする2次元配列を備え、列方向添字の先頭に
は、対応する条件文字種別コードが格納され、複数指定
の場合、列方向の添え字の次の要素に、順次、文字種別
の該当フラグによりコード化し、比較対象文字について
該比較対象文字種別の該当フラグによりコード値を前記
2次元配列の前記文字種別に対応する添字に格納された
コードと比較することにより、文字の検索を行う。
Description
関し、特に、コンピュータを用いた文字列検索方法に関
する。
データと条件文字列を比較する文字検索方法として、比
較対象文字列の先頭1文字と条件文字列の先頭1文字と
を比較し、合致した場合には、以降それぞれの文字列の
次の文字同士の比較を順次行い、条件文字列全体と一致
するか否かを判断する。条件文字列中の文字としては、
通常の文字のほかに、特殊な文字として、任意の1文字
を表すもの、任意の文字(または文字列)を表すもの、
さらに該当する文字の羅列や範囲を指定して複数の文字
を表すもの(この指定の仕方を「複数指定」という)な
どがある。
には、その指定によって条件に該当する全ての文字
(「該当文字群」という)の情報を保持し、比較対象の
文字と個々に比較する必要がある。
して以下に説明する。従来の方式では、条件文字列10
1に対してコード化処理102を行い、条件文字コード
103のように、該当文字群の情報を1文字ごとに配列
の1要素に格納しているため、比較対象文字列105と
の比較処理104では比較回数が増えてしまう。
上記従来の文字検索方法は下記記載の問題点を有してい
る。
が著しく低下する、ということである。
は、指定該当文字数をnとすると、比較対象となる文字
列データごとに、比較対象文字が該当文字列にない場合
には、n回、該当文字列にある場合でも、平均して、
((1+n)/2)回になり、比較回数は、該当文字数
や、特に文字列データが増えるにしたがって増大するか
らである。
の情報を格納するために必要な個々の文字を保持する配
列の大きさ(要素の個数)を決めるための適当な方法が
ない、ということである。
部分での該当文字群の情報を格納する配列の大ささは、
(条件文字数×許される文字数)個であるが、通常、複
数指定は、条件文字列中、せいぜい1〜2文字程度であ
り、また該当文字数も、平均すれば、使用可能な文字数
全体に比べ、かなりの割合であることが考えられるた
め、ほとんどが無駄な配列となる、可能性がある。
意すると、指定によっては、用意した配列の大きさ以上
の大きさが必要となり、いわゆる配列外参照を起こして
しまう可能性がある。
合でも比較回数を減らし、検索性能を高速化する文字検
索方法を提供することにある。
の情報を格納するために必要な配列の大きさについて、
さほど無駄にならず、かつ、一意に決まるようにする文
字検索方法を提供することにある。
め、本発明は、その概要を述べれば、条件文字列を2次
元配列を用いてコード化するものである。本発明の文字
検索方法は、条件指定による文字列の検索において、条
件文字を文字種別と、該文字種別内該当文字フラグを表
す2次元の配列を用いてコード化し、前記コードと複数
指定条件文字を含む比較対象文字とを比較することを特
徴とする。
字種別を列方向の添え字とする2次元配列を備え、列方
向添字の先頭には、対応する条件文字種別コードが格納
され、複数指定の場合、列方向の添え字の次の要素に、
順次、文字種別の該当フラグによりコード化し、比較対
象文字について該比較対象文字種別の該当フラグにより
コード値を前記2次元配列の前記文字種別に対応する添
字に格納されたコードと比較することにより、文字の検
索を行うことを特徴とする。
字ごとに文字種別ごとの該当文字フラグの情報を格納す
る配列と、これらの配列を条件文字すべてについて管理
する配列からなっている。
て図面を参照して説明する。
めの図であり、文字列データ4の中から与えられた条件
文字1を満たす文字列を検索し、一致データファイル6
に格納するシステムである。このシステムでの比較処理
5にあたっては、条件文字1をコード処理(図1の2)
により得た条件文字コード3を使って比較を行ってい
る。
字コード3の詳細について、図2を参照して説明する。
字列1を条件文字ごとに分け、配列の1次元目の格納番
号(「1次の添字」という)を与える。さらに、その文
字を条件種別にわけ、2次元目の格納番号(「2次の添
字」という)の先頭に種別番号を代入し、特に、複数指
定であった場合には、文字種別ごとに、該当データ群を
フラグとして、対応する2次の添字の要素に対応させて
格納し(図2の7)、条件文字コードコード3とする。
するためのフローチャートである。本発明の実施の形態
の動作について、図3を参照して説明する。
文字列を分類処理し(ステップSll)、文字列全体が
一意指定か前方一致であるかを判定する(ステップS1
2)。一意指定または前方一致の場合、処理が増えるた
め、標準関数等を用いて、比較する(ステップS1
4)。
o分岐)、構成する条件文字ごとに条件種別にわけ、複
数指定であった場合には文字種別ごとに該当データ群を
フラグ化し、各配列の要素に格納する(ステップS1
3)。
象文字を取得し(ステップS15)、文字列データが終
了しているか否かの判断を行う(ステップS16)。
ごとの比較処理を行い(ステップS17)、最終一致判
定処理を行い(ステップS18)、文字列が一致するか
どうかを判定し(ステップS19)、一致していれば、
一致文字列データを書き込んで(ステップS20)、次
の文字列データを読み込む(ステップS15)。ステッ
プS15〜S20の処理は、文字データファイル内のす
べての文字列データについて行われる。
の比較処理の処理フローを示すフローチャートである。
図4を参照して、比較対象文字列との比較処理について
説明する。
る条件文字コードの2次の添え字について先頭の要素を
基に、複数指定文字かどうかを判断し(ステップS4
2)、複数指定文字以外の場合には、処理が増えるた
め、従来の条件種別に応じた比較処理を行う(ステップ
S44)。
タの(i+1)文字目について文字種別を判断し、該当
する文字種別についてのみコード化する(ステップS4
3)。
条件文字コードの文字種別の要素(フラグ)で論理積を
とることにより比較を行う(ステップS45)。
かどうかを判断する(ステップS46)。具体的には、
ステップS45での結果が0以外の場合には一致、0の
場合には不一致となる。
列データを読み込む(図1のステップS15)。
字、比較対象文字に移すためにカウンタ(i)を増やす
(ステップS47)。ここで、比較文字列が終了してい
た場合には最終一致判定処理へ移る(図1のステップS
18)。
からS48までの処理を繰り返す。なお、上記各ステッ
プの処理は、コンピュータ上で実行されるプログラム制
御により実現することができる。
使用する文字は以下のものとし、それぞれ以下のような
文字種別とする。
種類があるものとし、それぞれ以下のような条件種別番
号に対応するものとする。
から1文字を指定する。
の任意の1文字を表す。
は文字列を表す。
文字を指定するもの(文字の羅列や範囲指定などがあ
る)。
字種別の1から3の順に連続しているものとして指定が
可能であるものとする。
?*[5−CX]について考える。
が、5,6,7,8,9,A,B,C,Xである3文字
以上の文字列であることを表す。
数は4文字であるので、文字コードは5×5の行列とな
る。
図5を参照して詳細に説明する。
ードの配列の値は、条件コード52のように、2次の添
え字の先頭には、対応する条件文字種別コードが入り、
複数指定(D[n][0]=3)の場合、その1次の添
え字の次の要素(D[n][1],D[n][2],
…)に、順次、文字種別の該当フラグを格納する。な
お、条件コード52の他の要素のデータは、条件文字列
51に対しては使用しないが、D[0][0]=0は条
件種別0、D[1][0]=1は条件種別1、D[2]
[0]=2は条件種別2を示している。
[5−CX]のコード化について、図6を参照して説明
する。
当文字について条件文字種別ごとの番号を付け、その番
号に対応する要素に文字があるかないかを0と1で表
す。以下各文字種別ごとに説明する。
であるピリオドは含まれていない。そこで、D[3]
[1]に0を格納する(図6の61)。
するため、それらに該当する部分のフラグを1にし、こ
れを0から9まで順に並べたもの(図6の62)を2進
数と見なし、D[3][2]に格納する。なお、以降こ
の2進数を10進化して説明する。
を行い(図6の63)、データをD[3][3]に格納
する。
詳細に説明する。なお、複数条件文字以外の比較処理に
ついては従来の処理で行うため、説明は複数条件文字と
の比較部分に絞って説明する(図4のステップS43と
ステップS45)。
X]、比較の対象となる文字の例として”6”を考え
る。まず”6”の文字種別は2であり、”6”について
条件文字と同様の方法でコード化を行い、64を得る
(図7の71)。
の対応するコード(D[3][2])との論理積をと
る。その結果として64となり、論理積が0でないこと
から一致するという結果を得る。
の比較を行うと”E”の文字種別と順番から(図7の7
3)のようになり、条件文字コード72中の対応コード
(D[3][3])との論理積の結果である0、すなわ
ち不一致という結果を得る。
1を参照して詳細に説明する。
コードを使って表現すると、図11(B)の111のよ
うになる。ここで、1次の添え字3と13の括
弧([,])は複数条件の該当文字データの開始と終了
を表すものとする。
4、本実施例によるコードでは25と従来のコードの方
が少ないが、文字列データあたりの複数条件部分での比
較回数については、従来の9回(=該当文字数)に比
べ、本実施例によるコードでは1回と少ない。
としてA?−*[5−X]を考えると、従来の条件コー
ドでは36となり、本実施例によるコードの25よりも
多くなる。また、文字列データあたりの複数指定部分の
比較回数は、従来のコードでの31回に比べて1回とか
なり少ない。このように、本実施例によるコードでは条
件文字数が同じであればどのような指定をしても配列の
要素数は変わらず、また、複数指定部分の比較は常に1
回になる。
数は条件文字列によって変わるものの、配列外参照が起
こらないようにするために必要な配列の要素数は、条件
文字を4文字とした場合には、4×{(文字種別1の文
字数)+(文字種別2の文字数)+(文字種別3の文字
数)}=4×(1+10+26)=148となる。
照して説明する。入力ファイル81を記憶装置83に格
納する際に、予めデータ内のキーワードを基に、上位索
引ファイル87からデータ種別を分類し、そのキーワー
ドとデータファイル87へのポインタに関するデータを
データ種別ごとに格納する索引ファイル89で構成され
るシステムでの検索方式がある。
トデータの検索を行っていたが、本発明の実施の形態で
は、上位索引ファイル83内に、データ種別ごとに属す
るキーワードに番号を付けそれらを管理することで(図
9の91)、検索の際に、検索データ84を上位索引フ
ァイル83の情報を基に、データ種別ごとにフラグ化す
る。なお、図9において、上位検索ファイル91とデー
タ種別1との対応を92で示す。データ種別ごとの索引
ファイルとの比較においては、ファイル内の各データを
同様にフラグ化して入力条件コードの該当データ種別と
の論理積をとりその値で一致するかどうかで判断でき
る。
記記載の効果を奏する。
とされていた複数指定を使った際の検索性能の低下を解
消し、検索性能を高速化する、ということである。
は複数条件文字部分のデータ化を検索処理の先頭で行う
ため、比較回数が文字列データごとに1回となる、ため
である。
を格納する配列についての無駄や配列外参照の発生の可
能性を回避することができる、ということである。
群の情報を格納するために必要な配列の大きさを使用可
能文字数から文字種別数にすることで、各条件文字コー
ドごとに全情報を持たせても、さほど大きくならないか
らである。
る。
明するための図である。
チャートである。
処理フローを示すフローチャートである。
条件文字全体のコードの例を示す図である。
複数指定文字部分についてのコードの例を示す図であ
る。
複数指定文字と比較対象文字との比較方法についての例
を示す図である
る。
示す図である。
る。
である。
ードである。
表 72 条件文字列51の条件コード中の複数指定データ
部 73 比較対象文字”E”の文字種別3に関するコード
表 81 入力ファイル 82 入力装置 83 記憶装置 84 検索データ 85 検索装置 86 一致データ格納ファイル 87 データファイル 88 上位検索ファイル 89 データ種別ごとの検索ファイル 91 上位検索ファイル88の一例 92 データ種別1に関するコード表の例 101 従来のコードによる条件文字列51のコード 111 条件文字列の例 112 従来のコードによる条件文字列111のコード 113 本発明のコードによる条件文字列111のコー
ド
Claims (3)
- 【請求項1】条件指定による文字列の検索において、 条件文字を文字種別と、該文字種別内該当文字フラグを
表す2次元の配列を用いてコード化し、 前記コードと複数指定条件文字を含む比較対象文字とを
比較することを特徴とする文字列検索方法。 - 【請求項2】条件種別を行方向と、文字種別を列方向の
添え字とする2次元配列を備え、 列方向添字の先頭には、対応する条件文字種別コードが
格納され、 複数指定の場合、列方向の添え字の次の要素に、順次、
文字種別の該当フラグによりコード化し、 比較対象文字について該比較対象文字種別の該当フラグ
によりコード値を前記2次元配列の前記文字種別に対応
する添字に格納されたコードと比較することにより、文
字の検索を行うことを特徴とする文字列検索方法。 - 【請求項3】条件種別を行方向、文字種別を列方向の添
え字とする2次元配列の列方向添字の先頭には、対応す
る条件文字種別コードが格納され、複数指定の場合、列
方向の添え字の次の要素に、順次、文字種別の該当フラ
グによりコード化してなる前記2次元配列を参照して、
比較対象文字について該比較対象文字種別の該当フラグ
によりコード値を前記2次元配列の前記文字種別に対応
する添字に格納されたコードと比較することにより、文
字の検索を行う、処理をコンピュータ上で行うプログラ
ムを記録した記録媒体。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP09209932A JP3129248B2 (ja) | 1997-07-18 | 1997-07-18 | 2次元配列コードを用いた文字列検索方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP09209932A JP3129248B2 (ja) | 1997-07-18 | 1997-07-18 | 2次元配列コードを用いた文字列検索方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH1139344A true JPH1139344A (ja) | 1999-02-12 |
| JP3129248B2 JP3129248B2 (ja) | 2001-01-29 |
Family
ID=16581052
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP09209932A Expired - Lifetime JP3129248B2 (ja) | 1997-07-18 | 1997-07-18 | 2次元配列コードを用いた文字列検索方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3129248B2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012234343A (ja) * | 2011-04-28 | 2012-11-29 | Fujitsu Ltd | 類似文字コード群検索支援方法、類似候補抽出方法、類似候補抽出プログラムおよび類似候補抽出装置 |
| CN102810088A (zh) * | 2011-06-03 | 2012-12-05 | 银河联动信息技术(北京)有限公司 | 复合文本码校验方法 |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0891390A (ja) * | 1994-09-26 | 1996-04-09 | Hanano Yamato:Kk | 手提げタイプの包装用容器 |
| DE112011104620T5 (de) * | 2010-12-28 | 2013-10-02 | International Business Machines Corporation | Vorrichtung und Verfahren zum Verarbeiten einer Datenelementsequenz |
-
1997
- 1997-07-18 JP JP09209932A patent/JP3129248B2/ja not_active Expired - Lifetime
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012234343A (ja) * | 2011-04-28 | 2012-11-29 | Fujitsu Ltd | 類似文字コード群検索支援方法、類似候補抽出方法、類似候補抽出プログラムおよび類似候補抽出装置 |
| US9442901B2 (en) | 2011-04-28 | 2016-09-13 | Fujitsu Limited | Resembling character data search supporting method, resembling candidate extracting method, and resembling candidate extracting apparatus |
| CN102810088A (zh) * | 2011-06-03 | 2012-12-05 | 银河联动信息技术(北京)有限公司 | 复合文本码校验方法 |
| CN102810088B (zh) * | 2011-06-03 | 2016-09-28 | 银河联动信息技术(北京)有限公司 | 复合文本码校验方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3129248B2 (ja) | 2001-01-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4785400A (en) | Method for processing a data base | |
| US5953723A (en) | System and method for compressing inverted index files in document search/retrieval system | |
| US4064489A (en) | Apparatus for searching compressed data file | |
| US5870756A (en) | Interchangeable storage medium containing program for processing data files thereupon to match a data file format to a computer system | |
| US20020059281A1 (en) | Method for creating an index and method for searching an index | |
| CN1531692A (zh) | 用于处理大量字符的高效排序元素结构 | |
| CN1254424A (zh) | 存储器访问保护 | |
| KR0147355B1 (ko) | 그래픽 영상 데이타 압축 방법 | |
| JP2693914B2 (ja) | 検索システム | |
| JP3129248B2 (ja) | 2次元配列コードを用いた文字列検索方法 | |
| US20010032073A1 (en) | Coding and storage of phonetical characteristics of strings | |
| CN119128042A (zh) | 基于字典树的AI大模型Tensor索引和保存方法、系统及应用 | |
| US6237002B1 (en) | Method for processing computerized date data which spans centuries | |
| CN1117334C (zh) | 用于减小所需存储容量以及创建数据库的方法及装置 | |
| JP5041003B2 (ja) | 検索装置および検索方法 | |
| JPH06215044A (ja) | 情報検索処理装置 | |
| JPS62287350A (ja) | インデツクス一括更新方式 | |
| JP2000076255A (ja) | 検索システムおよび検索方法 | |
| JP2722684B2 (ja) | ファイルシステムの検索装置 | |
| JPH04232570A (ja) | キーワード検索方法 | |
| JPS6143338A (ja) | 連想技術を使用して稀薄なデータベースをサーチする方法 | |
| JPH11282758A (ja) | 不揮発性メモリへのデータ書き込み装置及び方法 | |
| JP3456481B2 (ja) | 情報処理装置 | |
| JP2827658B2 (ja) | 図形解析装置及び図形検索装置 | |
| JP2582355B2 (ja) | 数値分布比較検索方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20000620 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20001017 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071117 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081117 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081117 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091117 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091117 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101117 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111117 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111117 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121117 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121117 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131117 Year of fee payment: 13 |
|
| EXPY | Cancellation because of completion of term |