(57)【要約】【課題】  ストリング急速対比サーチの電子装置及び方法の提供。【解決手段】  問合せストリングを受信後、先ず問合せストリングに対応する最小ストリング長、及び問合せストリングが使用する文字が形成するスペルコードソースを受け取り、スペルコードソースを逐一インデックステーブル内のスペルコード目標と対比し、スペルコードソースがスペルコード目標と符合し且つスペルコード目標が対応するストリング長が最小ストリング長と等しいかそれより大きい時にデータベース中よりこのスペルコード目標に対応する実際ターゲットストリングをキャプチャし問合せストリングと対比する。もし二つのストリングが符合すれば、電子装置がサーチ結果を表示する。本発明のインデックステーブルはビットワイズインデックス技術を運用して対比を行ない、ゆえに事前に条件に符合しないストリングを除去でき、検索効率を高めることができる。【選択図】        図７
2006004368.tif 000002
【特許請求の範囲】
【請求項１】
マイクロプロセッサ、入力モジュール、表示モジュール、インデックステーブル、及びデータベースで構成されたストリング急速対比サーチの電子装置であり、該入力モジュールは問合せストリングの入力に供され、該表示モジュールはデータ表示に供され、該インデックステーブルは複数の記録を保存し、各記録にはターゲットストリングの記録コード、ストリング長、及びスペルコード目標（ｓｐｅｌｌ  ｃｏｄｅ  ｄｅｓｔｉｎａｔｉｏｎ）が定義され、このスペルコード目標はターゲットストリングに使用される文字を保存し、該データベースは複数のターゲットストリングを保存し、且つ各ターゲットストリングはインデックステーブル中の一つの記録コードに対応する、上記ストリング急速対比サーチの電子装置において、
該電子装置が問合せストリングを受け取った時、マイクロプロセッサがこの問合せストリングに対応する最小ストリング長、及び問合せストリングに使用された文字が形成するスペルコードソース（ｓｐｅｌｌ  ｃｏｄｅ  ｓｏｕｒｃｅ）を分析し、並びにスペルコードソースをインデックステーブル中のスペルコード目標と一つずつ対比し、これによりスペルコードソースに対応するスペルコード目標を見つけ出し、且つスペルコード目標に対応するターゲットストリングのストリング長が最小ストリング長以上である時、データベース中よりそのターゲットストリングを取り出し、並びにそのターゲットストリングと問合せストリングを対比して相互に符合する時、このターゲットストリングを表示することを特徴とする、ストリング急速対比サーチの電子装置。
【請求項２】
請求項１記載のストリング急速対比サーチの電子装置において、スペルコード目標及びスペルコードソースがビットワイズ（ｂｉｔ−ｗｉｓｅ）インデックス技術に基づきビットマッピング（ｂｉｔ  ｍａｐｐｉｎｇ）フォーマットとして記録されたことを特徴とする、ストリング急速対比サーチの電子装置。
【請求項３】
ストリング急速対比サーチの方法において、
（Ａ）問合せストリングを受け取る。
（Ｂ）該問合せストリングに対応する最小ストリング長、及び該問合せストリングに使用された文字が形成するスペルコードソースを分析する。
（Ｃ）該スペルコードソースに符合するスペルコード目標を対比により見つけ出し、そのうち、スペルコード目標はインデックステーブル中の一つの記録に定義され、これにより、この記録に対応するターゲットストリングに使用される文字を指定する。
（Ｄ）インデックステーブルに基づき、この記録に対応するターゲットストリングのストリング長が最小ストリング長以上であるかを対比する。
（Ｅ）ストリング長が最小ストリング長以上であるターゲットストリングをデータベースより取り出す。
（Ｆ）取り出したターゲットストリングが問合せストリングと符合するかを対比する。
（Ｇ）問合せストリングと符合したターゲットストリングを表示する。
以上の（Ａ）から（Ｇ）のステップを具えたことを特徴とする、ストリング急速対比サーチの方法。
【請求項４】
請求項３記載のストリング急速対比サーチの方法において、スペルコード目標及びスペルコードソースがビットワイズ（ｂｉｔ−ｗｉｓｅ）インデックス技術に基づきビットマッピング（ｂｉｔ  ｍａｐｐｉｎｇ）フォーマットとして記録されたことを特徴とする、ストリング急速対比サーチの方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一種のストリング急速対比サーチの電子装置及び方法に係り、その適用範囲がワイルドカード（ｗｉｌｄｃａｒｄ）を利用してサーチを行なう電子装置への応用を含む、ストリング急速対比サーチの電子装置及び方法に関する。
【背景技術】
【０００２】
一般の使用者が電子装置を操作してデータ或いはファイルをサーチする時は、直接完全なデータストリングを入力してサーチを行なうほか、ワイルドカードの機能の補助により、入力した問合せストリングに符合するデータをサーチできる確率を高めることができる。
【０００３】
周知の広く使用されているワイルドカードは「？」及び「＊」を含み、そのうち、「？」は一つの文字を代表し、例えば問合せストリングが「？？ａａａ」である時、電子装置がサーチするターゲットストリングは５個の文字とされ、且つそのうちの第１及び第２の文字は限定されず、第３から第５の文字は「ａａａ」とされる。「＊」は任意文字或いは無文字を代表し、例えば問合せストリングが「＊ｂｂ＊」の時、電子装置がサーチしなければならない全てのストリング中に「ｂｂ」が含まれる。当然、使用者の必要に合わせてサーチを行なうため問合せストリング中で「？」及び「＊」が結合され得る。
【０００４】
周知の電子装置は通常問合せストリングに基づき直接データベース中にあって第１のキー文字より読み取り開始し対比を行なう。しかし、これはシステム負荷を増す。このため電子装置中にインデックステーブルのメカニズムを定義して、各ストリングが対応する記録コード及びストリング長を保存するのに用い、且つ各記録がデータベース中のある特定ストリングに対応するようにする方法が提供されている。図１に示されるインデックステーブル及び図２に示されるデータベースを参照されたい。例えばインデックステーブル中の第ｉの記録のストリング長が５であれば、即ちデータベース中より第ｉのストリングである「ｋｉｎｐｏ」を探し出すことができ、このほかもこれから類推されるとおりである。
【０００５】
使用者が周知の電子装置を使用してストリングサーチしたい時、図３のフローチャートも参照されたいが、もし受け取った問合せストリングが「＊ａｄｚ？」であれば（ステップＳ３０１）、電子装置は先ず問合せストリングと符合するターゲットストリング（ｔａｒｇｅｔ  ｓｔｒｉｎｇ）が具備する最小ストリング長（ｍｉｎｉｍｕｍ  ｌｅｎｇｔｈ）を計算し（ステップＳ３０２）、ワイルドカードの定義に基づき、問合せストリング「＊ａｄｚ？」に符合するターゲットストリングの最小ストリング長が「４」であると知る事ができる。こうして、電子装置はインデックステーブル中の第１の記録よりサーチ開始し（ステップＳ３０３）、これによりインデックステーブル中に記録されたストリング長が最小ストリング長「４」以上であるかを判断する（ステップＳ３０４）。もし最小ストリング長「４」以上であれば、電子装置は更にデータベースよりこの記録に対応するターゲットストリングを読み取り（ステップＳ３０５）、並びにターゲットストリングと問合せストリングを対比しそれらが符合する時（ステップＳ３０６）、該ターゲットストリングを表示する（ステップＳ３０７）。これにより、電子装置はインデックステーブル中の記録と最後の一つの記録との対比が終わるまで逐一対比を行なう（ステップＳ３０８及びステップＳ３０９）。
【０００６】
しかし、周知の電子装置のインデックステーブルは僅かにストリング長が問合せストリングの最小ストリング長と符合するかを対比するのみであり、更なるスクリーニングフィルタプロセスがなく、且つ後に逐一データベースより実際ターゲットストリングを読み取って対比を行なわねばならず、このような行ったり来たりする読み取り対比の過程でサーチ時間が増加し、並びにデータベース負荷が増し、十分に理想的とは言えない。これから分かるように、周知のストリング対比サーチの装置と機能には多くの欠点があり改善の必要がある。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の主要な目的は、一種のストリング急速対比サーチの電子装置及び方法を提供することにあり、それはインデックステーブル中にビットマッピング（ｂｉｔ  ｍａｐｐｉｎｇ）フィールドを設計し、ビットワイズ（ｂｉｔ−ｗｉｓｅ）インデックス技術を利用し、事前に不符合のストリングをフィルタリングして除去し、サーチ時間を短縮し、並びに問合せ効率を高める装置及び方法である。
【課題を解決するための手段】
【０００８】
請求項１の発明は、マイクロプロセッサ、入力モジュール、表示モジュール、インデックステーブル、及びデータベースで構成されたストリング急速対比サーチの電子装置であり、該入力モジュールは問合せストリングの入力に供され、該表示モジュールはデータ表示に供され、該インデックステーブルは複数の記録を保存し、各記録にはターゲットストリングの記録コード、ストリング長、及びスペルコード目標（ｓｐｅｌｌ  ｃｏｄｅ  ｄｅｓｔｉｎａｔｉｏｎ）が定義され、このスペルコード目標はターゲットストリングに使用される文字を保存し、該データベースは複数のターゲットストリングを保存し、且つ各ターゲットストリングはインデックステーブル中の一つの記録コードに対応する、上記ストリング急速対比サーチの電子装置において、
該電子装置が問合せストリングを受け取った時、マイクロプロセッサがこの問合せストリングに対応する最小ストリング長、及び問合せストリングに使用された文字が形成するスペルコードソース（ｓｐｅｌｌ  ｃｏｄｅ  ｓｏｕｒｃｅ）を分析し、並びにスペルコードソースをインデックステーブル中のスペルコード目標と一つずつ対比し、これによりスペルコードソースに対応するスペルコード目標を見つけ出し、且つスペルコード目標に対応するターゲットストリングのストリング長が最小ストリング長以上である時、データベース中よりそのターゲットストリングを取り出し、並びにそのターゲットストリングと問合せストリングを対比して相互に符合する時、このターゲットストリングを表示することを特徴とする、ストリング急速対比サーチの電子装置としている。
請求項２の発明は、請求項１記載のストリング急速対比サーチの電子装置において、スペルコード目標及びスペルコードソースがビットワイズ（ｂｉｔ−ｗｉｓｅ）インデックス技術に基づきビットマッピング（ｂｉｔ  ｍａｐｐｉｎｇ）フォーマットとして記録されたことを特徴とする、ストリング急速対比サーチの電子装置としている。
請求項３の発明は、ストリング急速対比サーチの方法において、
（Ａ）問合せストリングを受け取る。
（Ｂ）該問合せストリングに対応する最小ストリング長、及び該問合せストリングに使用された文字が形成するスペルコードソースを分析する。
（Ｃ）該スペルコードソースに符合するスペルコード目標を対比により見つけ出し、そのうち、スペルコード目標はインデックステーブル中の一つの記録に定義され、これにより、この記録に対応するターゲットストリングに使用される文字を指定する。
（Ｄ）インデックステーブルに基づき、この記録に対応するターゲットストリングのストリング長が最小ストリング長以上であるかを対比する。
（Ｅ）ストリング長が最小ストリング長以上であるターゲットストリングをデータベースより取り出す。
（Ｆ）取り出したターゲットストリングが問合せストリングと符合するかを対比する。
（Ｇ）問合せストリングと符合したターゲットストリングを表示する。
以上の（Ａ）から（Ｇ）のステップを具えたことを特徴とする、ストリング急速対比サーチの方法としている。
請求項４の発明は、請求項３記載のストリング急速対比サーチの方法において、スペルコード目標及びスペルコードソースがビットワイズ（ｂｉｔ−ｗｉｓｅ）インデックス技術に基づきビットマッピング（ｂｉｔ  ｍａｐｐｉｎｇ）フォーマットとして記録されたことを特徴とする、ストリング急速対比サーチの方法としている。
【発明の効果】
【０００９】
本発明はまずインデックステーブルのビットマッピング（ｂｉｔ  ｍａｐｐｉｎｇ）フォーマット設計に基づき、問合せストリングのスペルコードソースに符合するスペルコード目標を対比により見つけ出し、その後、データベースより対応するターゲットストリングを読み出して対比を行ない、こうして事前に条件に符合しないストリング或いはワードをフィルタリング除去して、データベース中よりデータを読み出す回数及びシステム負荷を減らし、確実に問合せ効率を高め、これによりサーチ速度を加速することができる。
【発明を実施するための最良の形態】
【００１０】
本発明のストリング急速対比サーチの電子装置は、マイクロプロセッサ、入力モジュール、表示モジュール、インデックステーブル、及びデータベースで構成されている。そのうち、入力モジュールは問合せストリングを入力するのに使用される。表示モジュールはデータを表示するのに用いられる。インデックステーブルは複数の記録を保存し、各記録にはターゲットストリングの記録コード、ストリング長、及びスペルコード目標（ｓｐｅｌｌ  ｃｏｄｅ  ｄｅｓｔｉｎａｔｉｏｎ）が定義され、このスペルコード目標はターゲットストリングに使用された文字を保存する。データベースは複数のターゲットストリングを保存し、且つ各ターゲットストリングはインデックステーブル中の一つの記録コードに対応する。これにより、本発明の電子装置が問合せストリングを受け取った時、マイクロプロセッサがこの問合せストリングに対応する最小ストリング長、及び問合せストリングに使用された文字が形成するスペルコードソース（ｓｐｅｌｌ  ｃｏｄｅ  ｓｏｕｒｃｅ）を分析し、並びにスペルコードソースをインデックステーブル中のスペルコード目標と一つずつ対比し、これによりスペルコードソースに対応するスペルコード目標を見つけ出し、且つスペルコード目標に対応するターゲットストリングのストリング長が最小ストリング長以上である時、データベース中よりそのターゲットストリングを取り出し、並びに該ターゲットストリングと問合せストリングを対比して相互に符合する時、このターゲットストリングを表示する。
【００１１】
本発明はまた、ストリング急速対比サーチの方法を提供し、それは上述の電子装置中に応用される。まず、問合せストリングを受け取り、続いて問合せストリングに対応する最小ストリング長、及びスペルコードソースを分析し、さらにこのスペルコードソースに符合するスペルコード目標を対比により見つけ出し、且つこのスペルコード目標に対応するターゲットストリングのストリング長が上述の最小ストリング長以上である時、データベースよりターゲットストリングをキャプチャし、並びにターゲットストリングと問合せストリングを対比して相互に符合する時、ターゲットストリングを表示する。
【００１２】
そのうち、本発明はビットワイズインデックス技術に基づき、スペルコード目標とスペルコードソースをビットマッピングフォーマットとして記録する。
【実施例１】
【００１３】
図４のブロック図を参照されたい。本実施例の電子装置１は、マイクロプロセッサ１１、入力モジュール１２、表示モジュール１３、インデックステーブル１４、及びデータベース１５で構成されている。使用者がワイルドカード（ｗｉｌｄｃａｒｄ）を使用して電子装置１に対して快速サーチを行なえるようにし、並びにシステム負荷を軽減するため、本実施例の電子装置１が定義するインデックステーブル１４は図５に示されるようであり、それには、データベース１５中に保存された各ターゲットストリング（ｔａｒｇｅｔ
ｓｔｒｉｎｇ）に対応する記録コード、ストリング長が保存されているほか、ターゲットストリングに対して一組のスペルコード目標（ｓｐｅｌｌ  ｃｏｄｅ  ｄｅｓｔｉｎａｔｉｏｎ）が構築され、インデックステーブル１４はビットワイズ（ｂｉｔ−ｗｉｓｅ）インデックス技術を運用するため、スペルコード目標はビットマッピング（ｂｉｔ  ｍａｐｐｉｎｇ）フォーマットとして記録され、即ち、ターゲットストリング中で使用される文字は、いずれもスペルコード目標中において「１」と記録され、その他の未使用の文字は「０」と記録される。例えばターゲットストリングが「ａｔ」の時、そのインデックステーブル１４中で対応するスペルコード目標は即ち文字「ａ」及び「ｔ」に対応する位置の記録が「１」とされ、その他は「０」とされ、これにより「１００００００００００００００００００１００００００」が形成される。注意すべきことは、本実施例のインデックステーブル１４に列記されたデータフィールド中、スペルコード目標のフィールド長は２６ビットに定義され、そのうち、各ビットは順にＡ〜Ｚのうちの一つの文字を代表する、ということである。当然ストリング長及びスペルコード目標のフィールド長は必要に応じて決定可能で、例えばターゲットストリングが数字を含む時は、スペルコード目標のフィールド長は３６ビットに拡充され得て、即ち２６個の英文字と「０」から「９」の合計１０個の数字を有するものとされうる。ターゲットストリングがその他の種類の文字を含む時もまた必要に応じてフィールド長を拡充できる。データベース１５中には複数のターゲットストリングが保存され、各ターゲットストリングはいずれもインデックステーブル１４中の記録コードに対応し、例えばインデックステーブル１４の記録コードが「１」の記録である時、データベース１５中より対応するターゲットストリング「ｉｎ」をキャプチャでき、そのほかもこれにより類推されるとおりである。
【００１４】
使用者が電子装置１を使用してストリングサーチを行なう時、図７のフローチャートも参照されたいが、本実施例では、使用者は入力モジュール１２を通して問合せストリング、例えば「＊ｉｎ？」を入力する（ステップＳ７０１）。そのうち、ユニバーサル文字「＊」は任意の文字或いは無文字を代表し、もう一つのユニバーサル文字「？」は一つの文字を代表する。これにより、マイクロプロセッサ１１は先ず問合せストリングに対応するターゲットストリングが具備する最小ストリング長（ｍｉｎｉｍｕｍ  ｌｅｎｇｔｈ）を「３」ビットと計算し（ステップＳ７０２）、即ち二つの文字「ｉ」及び「ｎ」、更に未知文字「？」を加えたものとし、並びに問合せストリングに対して一組のスペルコードソースを「００００００００１００００１００００００００００００」を構築する（ステップＳ７０３）。このスペルコードソースにおいて「ｉ」及び「ｎ」に対応する位置に「１」が設けられている。
【００１５】
これにより、マイクロプロセッサ１１はインデックステーブル１４中より第１の記録からサーチ対比し（ステップＳ７０４）、ビットワイズ（ｂｉｔ−ｗｉｓｅ）インデックス技術中のＡＮＤロジック演算ルールに基づき、スペルコードソースと第１の記録のスペルコード目標「１００００００００００００００００００１００００００」が符合しないことを知り（ステップＳ７０５）、これによりマイクロプロセッサ１１はこの記録がインデックステーブル１４の最後の記録であるかを判断し（ステップＳ７１０）、最後の記録でなければ、続けて次の記録をサーチする（ステップＳ７１１）。第２の記録にあって、そのスペルコード目標がスペルコードソースと符合し（ステップＳ７０５）すると、これにより続けて対応するターゲットストリング長が最小ストリング長「３」以上であるかを対比する（ステップＳ７０６）。しかし、この記録のターゲットストリング長は僅かに「２」であり、それは「３」より小さいため、マイクロプロセッサ１１は更に続けてインデックステーブル１４中の後続記録をサーチする（ステップＳ７１０）。
【００１６】
記録コードが「ｉ」である記録中、スペルコード目標とスペルコードソースが相互に符合する（ステップＳ７０５）ほか、そのターゲットストリング長「５」は最小ストリング長「３」より大きい（ステップＳ７０６）時、マイクロプロセッサ１１はデータベース１５よりこの記録に対応するターゲットストリング「ｋｉｎｐｏ」を読み取る（ステップＳ７０７）。並びにターゲットストリングが問合せストリング「＊ｉｎ？」のロジックに符合するか対比する（ステップＳ７０８）。注意すべきは、問合せストリング中、「ｉｎ」の後には僅かに一つの文字しか存在してはならず、これによりターゲットストリング「ｋｉｎｐｏ」は「ｉｎ」の後に更に二つの文字「ｐｏ」が接続されているため、問合せストリングの設定に符合せず、ゆえにマイクロプロセッサ１１が続けてインデックステーブル１４中のその他の記録をサーチする（ステップＳ７１０）ことである。問合せストリングと符合するターゲットストリングをサーチできれば、表示モジュール１３中に表示する（ステップＳ７０９）。当然、最後の記録に至っても問合せストリングに符合するターゲットストリングがない時は、表示モジュール１３はサーチ結果を表示しない。
【００１７】
以上の説明から分かるように、本発明はまずインデックステーブルのビットマッピング（ｂｉｔ  ｍａｐｐｉｎｇ）フォーマット設計に基づき、問合せストリングのスペルコードソースに符合するスペルコード目標を対比により見つけ出し、その後、データベースより対応するターゲットストリングを読み出して対比を行ない、こうして事前に条件に符合しないストリング或いはワードをフィルタリング除去して、データベース中よりデータを読み出す回数及びシステム負荷を減らし、確実に問合せ効率を高め、これによりサーチ速度を加速することができる。なお、以上の実施例は説明のために提示されたものであり、以上の実施例の説明及び図面に基づきなしうる細部の修飾或いは改変は、いずれも本発明の請求範囲に属するものとする。
【図面の簡単な説明】
【００１８】
【図１】周知のインデックステーブルの表示図である。
【図２】周知のデータベースの表示図である。
【図３】周知のストリング対比サーチのフローチャートである。
【図４】本発明の好ましい実施例のシステムブロック図である。
【図５】本発明の好ましい実施例のインデックステーブルの表示図である。
【図６】本発明の好ましい実施例のデータベースの表示図である。
【図７】本発明の好ましい実施例のストリング対比サーチの動作フローチャートである。
【符号の説明】
【００１９】
１  電子装置              １１  マイクロプロセッサ        １２  入力モジュール
１３  表示モジュール      １４  インデックステーブル      １５  データベース
【図１】
2006004368.tif 000003
【図２】
2006004368.tif 000004
【図３】
2006004368.tif 000005
【図４】
2006004368.tif 000006
【図５】
2006004368.tif 000007
【図６】
2006004368.tif 000008
【図７】
2006004368.tif 000009