JPH1031681A - 情報検索方法及び装置 - Google Patents

情報検索方法及び装置

Info

Publication number
JPH1031681A
JPH1031681A JP8187867A JP18786796A JPH1031681A JP H1031681 A JPH1031681 A JP H1031681A JP 8187867 A JP8187867 A JP 8187867A JP 18786796 A JP18786796 A JP 18786796A JP H1031681 A JPH1031681 A JP H1031681A
Authority
JP
Japan
Prior art keywords
record
search
information
index
search target
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
Application number
JP8187867A
Other languages
English (en)
Other versions
JP3564590B2 (ja
Inventor
Nobuo Muto
信夫 武藤
Hiroaki Karasawa
裕明 唐沢
Kotaro Shinkawa
晃太郎 新川
Masayoshi Sasaki
優美 佐々木
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP18786796A priority Critical patent/JP3564590B2/ja
Publication of JPH1031681A publication Critical patent/JPH1031681A/ja
Application granted granted Critical
Publication of JP3564590B2 publication Critical patent/JP3564590B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 シーク時間が長い記憶装置に適用しても、階
層構造を有するデータが高速に検索でき、かつデータ容
量が少ない情報検索方法及び装置を提供する。 【解決手段】 本発明は、一部または、全部のレコード
に配下に属する下部レコードを有し、また、該下部レコ
ードも配下に属する下部レコードを有する階層構造を有
する検索対象レコードを、最上位レコードと下部レコー
ドのキーを組み合わせたキーワードで検索する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、情報検索方法及び
装置に係り、特に、ディレクトリ、電話帳の企業掲載等
のように、トリー状の階層構造を有するデータベースに
おいて、効率的な検索と検索結果の編集を実現するため
の情報検索方法及び装置に関する。
【0002】詳しくは、CD−ROMのようにシーク時
間が読み出し時間に比べて大きいデータベース等の情報
検索方法及び装置に関する。
【0003】
【従来の技術】従来の情報検索について階層構造を有す
るデータベースを、電話帳データベースの例を用いて説
明する。表1は、従来の電話帳データベースの例であ
る。
【0004】
【表1】
【0005】表1に示すように、電話帳データは、○○
会社の配下に、本社と新宿支店があり、本社の配下に総
務部と営業部があるというように、階層構造を有するデ
ータがある。従来は、このような電話帳データを「○○
会社」、または、「○○会社お客様窓口」等のキーワー
ドで検索するためには、図9に示すように、検索対象レ
コードに上位のレコードへポインタ情報を格納して、上
位の階層構造情報を参照する方式や、表2に示すよう
に、各検索対象レコードの上位の階層構造情報を格納す
る方式等が採用されている。
【0006】
【表2】
【0007】
【発明が解決しようとする課題】しかしながら、上記従
来の方式には、以下のような問題がある。図9に示す方
式では、表3に示すように、最上位のレコードのキー
(名義)と下部レコードのキーを組み合わせたインデッ
クスを作成し、インデックスを検索して該当するポイン
タ情報(レコード番号)を取得し、図9の検索対象レコ
ードを得る。例えば、「○○会社お客様窓口」で検索し
た場合、表3のインデックスからポインタ情報としてレ
コード番号6を取得する。図9の6番目のレコードを検
索して、「お客様窓口03−1YYY−XXXX新宿区
新宿」を得る。
【0008】
【表3】
【0009】しかし、このレコードだけでは、どの会社
のどの支店かは分からないので、上位へのポインタを辿
って5番目の「新宿支店」、さらに、1番目の「○○会
社」上位を得る必要がある。つまり、図9に示す方式で
は、検索されたレコード毎に上位の階層構造情報を検索
するため、検索時間が長くなり、特に、CD−ROM等
のようにランダムアクセスが遅い記憶装置に格納してい
る場合、極端に検索時間が長くなる欠点がある。
【0010】また、表2の方式でも、表3のようなイン
デックスを設け、ポインタ情報から該当レコードを検索
する。この方式では、各レコードに階層構造情報として
上位の名称を持つので、図9の方式のような上位のポイ
ンタは不要である。しかし、上位の名称を各レコードで
重複して持つことになり、データ量が大きくなる。
【0011】つまり、表2に示す方式では、上位の階層
構造情報を検索する必要がない分だけ、高速に検索でき
るが、上位の階層構造情報を各レコードに持つため、デ
ータ容量が大きくなる欠点がある。本発明は、上記の点
に鑑みなされたもので、CD−ROM等のシーク時間が
長い記憶装置に適用しても、階層構造を有するデータが
高速に検索でき、かつデータ容量が少ない情報検索方法
及び装置を提供することを目的とする。
【0012】
【課題を解決するための手段】本発明は、一部または、
全部のレコードに配下に属する下部レコードを有し、ま
た、該下部レコードも配下に属する下部レコードを有す
る階層構造を有する検索対象レコードを、最上位レコー
ドと下部レコードのキーを組み合わせたキーワードで検
索する。
【0013】図1は、本発明の原理を説明するための図
である。本発明は、検索するためのキーワードと該当す
る検索対象レコードへの実ポインタ情報と、該検索対象
レコードの最上位レコードへのトップポインタ情報を組
にして持つ索引レコードからなるインデックスデータか
ら索引レコードを検索し(ステップ1)、検索された索
引レコードのポインタ情報に基づいて、検索対象レコー
ドを階層構造を保って一次元に配列された検索本体デー
タから検索対象レコードを検索し(ステップ2)、検索
した検索対象レコードを階層構造に従って編集する(ス
テップ3)。
【0014】本発明は、索引レコードを取得する際に、
検索した索引レコードをトップポインタ情報と実ポイン
タ情報の昇順にソートし、重複したポインタ情報をもつ
索引レコードを削除する。また、本発明は、検索対象レ
コードを編集する際に、取得した索引レコードのトップ
ポインタから該索引レコードの実ポインタまで、検索本
体データの検索対象レコードを取得し、実ポインタが指
し示す検索対象レコードの上位の階層構造情報を逐次取
得して編集する。
【0015】また、本発明は、索引レコードを検索した
際に得られたポインタ情報の順序で、トップポインタ情
報が同一の索引レコードに対して、トップポインタ情報
で取得される検索対象レコードから該索引レコードの実
ポインタ情報を指す検索対象レコードまでの上位の階層
構造情報を保存し、逐次検索対象レコードを取得する毎
に、階層構造情報を更新し、次の索引レコードが指す検
索対象データを取得し、編集する際に、階層構造情報を
用いて、上位の階層情報を編集する。
【0016】また、本発明は、検索された索引レコード
が指し示す検索対象レコードが階層構造上、下部レコー
ドとして包含関係にある場合に、下部レコードを検索デ
ータとして編集しないで、下部レコードを持つ検索対象
データに下部レコードを有することを示す情報を編集す
る。
【0017】本発明の情報検索装置は、一部または、全
部のレコードに配下に属する下部レコードと、該下部レ
コードも配下に属する下部レコードを有する階層構造を
有する検索対象レコードを、最上位レコードと下部レコ
ードのキーを組み合わせたキーワードで検索する検索手
段を有する。
【0018】図2は、本発明の原理構成図である。本発
明は、検索対象レコードを階層構造を保って一次元に配
列した検索対象レコードからなる検索本体データ10
と、検索対象レコードへの実ポインタ情報と、該検索対
象レコードの最上位レコードへのトップポインタ情報を
組にして持つ索引レコードからなるインデックスデータ
20と、キーワードと該当するインデックスデータ20
の索引レコードを検索するインデックス検索手段30
と、インデックス検索手段30により取得した索引レコ
ードのポインタ情報に基づいて検索本体データ10の検
索対象レコードを検索する検索対象レコード検索手段3
5と、検索対象レコード検索手段35により検索された
検索対象レコードを階層構造に従って編集する検索レコ
ード編集手段40とを含む。
【0019】また、上記のインデックス検索手段30
は、検索した索引レコードをトップポインタ情報と実ポ
インタ情報の昇順にソートするソート手段と、重複した
ポインタ情報をもつ索引レコードを削除する重複索引レ
コード削除手段とを含む。また、上記の検索対象レコー
ド検索手段35は、索引レコード検索手段30において
取得した索引レコードのトップポインタから該検索レコ
ードの実ポインタまで、検索本体データから検索対象レ
コードを取得する手段を有し、検索データ編集手段40
は、実ポインタが指し示す検索対象レコードの上位の階
層構造情報を逐次取得して編集する手段を有する。
【0020】また、本発明は、索引レコードを検索した
際に得られたポインタ情報の順序で、トップポインタ情
報が同一の索引レコードに対して、トップポインタ情報
で取得される検索対象レコードから該索引レコードの実
ポインタ情報を指す検索対象レコードまでの上位の階層
構造情報を保存する階層構造情報保持手段と、逐次検索
対象レコードを取得する毎に、階層構造情報を更新する
階層構造情報更新手段と、次の索引レコードが指す検索
対象レコードを取得すると、階層構造情報を用いて、上
位の階層情報を編集する階層情報編集手段を有する。
【0021】また、上記の階層情報編集手段は、検索さ
れた索引レコードが指し示す検索対象レコードが階層構
造上、下部レコードとして包含関係にある場合に、下部
レコードを検索データとして編集せずに、下部レコード
を持つ検索対象レコードに下部レコードを有することを
示す情報を編集する手段を含む。
【0022】上記のように、本発明では、検索対象レコ
ードの階層構造は、レコードの配列により表現されるた
め、検索本体データに上位へのポインタや上位の情報を
重複してもつ必要がない。また、インデックスデータ
に、最上位の検索対象レコードを指すポインタを併せて
持つことにより、最上位の検索対象レコードから配列の
順に順次検索するため、ランダムなアクセスを行わず
に、階層構造情報を取得し、編集することが可能とな
る。
【0023】また、検索された索引レコードをソートし
て、検索対象レコードを検索することにより、配列の近
い順にアクセスでき、シーク時間が短縮できる。
【0024】
【発明の実施の形態】図3は、本発明の情報検索装置の
構成を示す。同図に示す情報検索装置は、検索本体デー
タファイル(検索本体データ)10、インデックスデー
タファイル(インデックスデータ)20、インデックス
検索部30、検索データ編集部40、表示部50及び検
索キー入力部60から構成される。
【0025】検索本体データファイル10の検索対象レ
コードは、階層構造を保って一次元に配列されている。
インデックスデータファイル20の索引レコードは、検
索対象レコードへの実ポインタ情報と当該検索対象レコ
ードの最上位レコードへのトップポインタ情報を組して
持つ。
【0026】インデックス検索部30は、検索キー入力
部60より入力されたキーワードと該当するインデック
スデータの索引レコードを検索する。検索データ編集部
40は、検索された索引レコードのポインタ情報に基づ
いて、検索本体データファイル10の検索対象レコード
を検索し、検索された検索対象レコードを階層構造に従
って編集する。
【0027】表示部50は、検索データ編集部40によ
り編集された検索結果を表示する。キー入力部60は、
インデックス検索部30において索引レコードを検索す
るためのキーワードを入力する。図4は、本発明の検索
データ編集部における索引レコード毎の編集処理のフロ
ーチャートである。
【0028】ステップ101) 検索本体データファイ
ル10を検索するレコード番号を格納する読み出しレジ
スタに、トップポインタの情報を設定する。 ステップ102) 読み出しレジスタの示す検索対象レ
コードを取得する。 ステップ103) 上位階層情報を保存するスタックの
最上位(スタックトップ)と比較する。当該スタックに
何もない場合には、ステップ104に移行し、それ以外
の場合には、ステップ105に移行する。
【0029】ステップ104) 検索対象レコードをス
タックにプッシュし、ステップ106に移行する。 ステップ105) 同一階層の名称が出るまでポップ
し、検索対象レコードをプッシュし、ステップ106に
移行する。
【0030】ステップ106) 読み出しレジスタに格
納されたレコード番号をインクリメントし、ステップ1
02に移行する。 ステップ107) ステップ102において、読み出し
レジスタと実ポインタが一致する場合には、スタックの
保存された上位レコードの名称を付けて検索結果を編集
出力する。
【0031】ステップ108) 1つの検索対象レコー
ド分の処理が終了する。
【0032】
【実施例】以下、本発明の実施例と共に説明する。以下
の実施例は、表4に示す検索本体データファイル10の
内容及び、表5に示すインデックスデータファイル20
の内容に基づいて説明する。
【0033】
【表4】
【0034】
【表5】
【0035】[第1の実施例]最初に、第1の実施例で
は、インデックス検索部30において検索された索引レ
コードのトップポインタ情報をソートし、トップポイン
タ情報が同一の索引レコードに対して、トップポインタ
情報で取得される検索対象レコードから索引レコードの
実ポインタ情報を指す検索対象レコードまでの上位の階
層構造情報を保持しておく。そして、逐次検索対象レコ
ードを取得する毎に階層構造情報を更新する。また、検
索データ編集部40において、次の索引データが指す検
索対象データを取得し、編集する際に、階層構造情報を
用いて、上位の階層情報を編集する例を説明する。
【0036】具体的には、最上位の名称(表1に示す、
○○会社、○□電気)を必須のキーとして、下部名義
(例では、営業部、新宿支店等)でも検索できるよう
に、キー項目を最上位名称と下部名称を組み合わせて索
引レコードを構成した表4に示すインデックスデータフ
ァイル20を用いて説明する。また、表4に示すよう
に、「○○会社新宿支店お客様窓口」の検索対象レコー
ド(レコード番号6)の索引レコードは、キー項目が
「○○会社」と「お客様窓口」を持ち、最上位のレコー
ドを指すトップポインタは、「○○会社」の検索対象レ
コード(レコード番号1)を示し、実ポインタは、「○
○会社新宿支店お客様窓口」の検索対象レコード(レコ
ード番号6)を示す。
【0037】表4に示すインデックスデータ20は、一
般的には検索の高速化から検索キー項目に関してソート
されているため、索引レコードの順序は、検索対象レコ
ードの配列順とは一致しない。ここで、「○○会社のお
客様窓口」を検索する場合を例に、動作を説明する。検
索キーは、「○○会社」と「お客様窓口」を組み合わせ
たキー情報により、インデックス検索部30では、イン
デックスデータ20(表4)のキー項目と一致する検索
レコードを検索する。この例では、「○○会社」と「お
客様窓口」のキー項目を有する3番目の検索レコードが
得られる。
【0038】次に、検索編集部40は、インデックス検
索部30で得られた索引レコードのトップポインタと実
ポインタの情報に基づいて、検索本体データを検索し、
検索結果を表示部50に表示する。以下に、検索データ
編集部40における検索データの編集処理について説明
する。
【0039】検索データ編集部40の読み出しレジスタ
(図示せず)にトップポインタの情報として、レコード
番号1を設定する(ステップ101)。次に、検索デー
タ編集部40は、読み出しレジスタの示す検索対象レコ
ードとして、「○○会社」のレコードを取得する。実ポ
インタ情報(レコード番号6)と、読み出しレジスタの
内容が、一致しないので、ステップ103に移行する
(ステップ102)。
【0040】上位階層情報を保存するスタックの最上位
(スタックトップ)を比較する(ステップ103)。こ
の例では、スタックには何もないので、ステップ104
に移行し、当該検索対象レコードの情報をスタックにプ
ッシュする(ステップ104)。
【0041】読み出しレジスタのレコード番号をインク
リメントし、ステップ102に移行する(ステップ10
6)。次の検索対象レコード(レコード番号2の「本
社」)を取得する(ステップ102)。実ポインタのレ
コード番号6を取得するまでは、ステップ103に移行
することになる。レコード番号2の「本社」は、スタッ
クトップの「○○会社」の下位の検索対象レコードであ
るので、「本社」をプッシュする(ステップ104)。
同様に、「総務部」のレコードもスタックにプッシュさ
れ、スタックは図5(A)の状態となる。
【0042】次の「営業部」の検索対象レコードでは、
スタックトップにある「総務部」と同一階層にあるの
で、ステップ105に移行し、「総務部」をポップして
「営業部」をプッシュするので、スタックは、図5
(B)の状態となる。また、次の「新宿支店」の検索対
象レコードでは、スタックトップの「営業部」とは階層
関係にないので、ステップ105に移行し、「新宿支
店」と同一階層の「本社」までポップして、「新宿支
店」をプッシュし、スタックは図5(C)の状態となる
(ステップ105)。
【0043】次に、読み出しレジスタのレコード番号を
インクリメントすることにより、読み出しレジスタの内
容が次の「お客様窓口」の検索対象レコードを示す
「6」となり、ステップ102に移行する(ステップ1
06)。レコード番号6の「お客様窓口」の検索対象レ
コードを読み出し、読み出しレジスタの内容が実ポイン
タの情報(レコード番号6)と一致するのでステップ1
07に移行する(ステップ102)。検索データ編集部
40は、図5に示すスタックの情報に基づいて以下に示
す検索結果を最上位の名称から編集して表示部50に表
示する。
【0044】○○会社 新宿支店 お客様窓口 03−1YYY−XXXX 上記の例において、検索データ編集部40に使用した図
5に示すようなスタックは、上位の階層構造情報を保存
し、逐次検索対象レコードを取得する毎に、階層構造情
報を更新する手段の一例である。検索本体データ10が
階層構造を表すように配列されているので、最上位のレ
コードから逐次処理することで同様な編集は可能であ
る。
【0045】[第2の実施例]本実施例では、図3に示
す構成において、ソート機能を有するインデックス検索
部30について説明する。表6に、検索本体データ10
の例を示す。
【0046】
【表6】
【0047】上記の表6を例に、「○□電気の営業」の
条件で検索する場合を説明する。この場合、「○□電
気」には、「営業」で始まる下部名称は、「本社営業本
部」と「新宿営業所営業部」の2件が該当する。従っ
て、インデックスデータ20から表7に示す索引レコー
ドが該当しているため、検索される。
【0048】
【表7】
【0049】インデックスデータ20の並びは、検索本
体データ10の並びと同一ではない。そこで、インデッ
クス検索部30において、トップポインタと実ポインタ
をキーにしてソートすることにより、索引レコードは、
検索本体データ10と同じ並び(配列)になる。従っ
て、トップポインタが同じ索引レコードについて、図4
に示す処理フローにより検索結果を編集することで、検
索本体データ10の配列順序で連続的に読み出すことに
より、以下のような検索結果の編集が可能となる。
【0050】 ○□電気 本店 営業本部 03−2YYY−XXXX 千代田区内幸町 新宿営業所 03−2YYY−XXXX 新宿区西新宿 営業部 03−2YYY−XXXX 新宿区西新宿 また、表5に示す検索本体データ10の「営業本部」を
「営業センタ」でも検索できるように、表8に示すよう
に、インデックスデータに「○□電気/営業センタ」を
追加した場合を説明する。
【0051】
【表8】
【0052】「○□電気の営業」の条件で検索する場
合、3件の検索対象レコードが該当し、「○□電気/営
業センタ」と「○□電気/営業本部」は、同じトップポ
インタと実ポインタを持ち、検索されたどちらかの検索
レコードは不要である。インデックス検索部30におい
て検索された索引レコードをポインタ情報でソートし、
連続する索引レコードのポインタ情報を比較し、重複す
るポインタ情報を一意にする機能により、不要な索引レ
コードを削除する。
【0053】[第3の実施例]本実施例は、表1の検索
本体データ10を名称と住所から検索する場合の例を説
明する。名称と住所から検索するためには、表9のよう
に、キー情報に住所を加えたインデックスデータにより
実現できる。表9は、表1の「○○会社」、「本社」等
の住所を持たないレコードに対しても、住所による検索
ができるように、下位組織の住所をキー情報に付加して
作成している。この例は、表9のレコード番号2,5,
8が該当し、下位組織の住所が複数ある表1の「○○会
社」「○□電気」の場合は、索引レコードを作成しない
ようにしている。
【0054】
【表9】
【0055】「新宿区西新宿の○で始まるレコード」を
検索する場合について、図3の構成に基づいて説明す
る。インデックス検索部30により、表9のインデック
スデータ20を、「新宿区西新宿」と「○%」(%は、
ワイルドカードでどの文字でも可能である意味)のAN
D条件で、検索すると、表10の索引レコードを取得す
る。表11の索引レコードをトップポインタと実ポイン
タでソートすると、表11となる。
【0056】
【表10】
【0057】
【表11】
【0058】図6は、本発明の第3の実施例における検
索データ編集部の処理のフローチャートである。 ステップ200) インデックスデータ20の索引レコ
ードを読み出し、全て処理済であれば、処理を終了し、
そうでなければ、前トップポインタと現在のトップポイ
ンタが一致するかを判定し、一致する場合には、ステッ
プ202に移行し、不一致の場合にはステップ201に
移行する。
【0059】ステップ201) 読み出しレジスタにト
ップポインタの内容を設定する。 ステップ202) 読み出しレジスタのレコード番号の
検索対象レコードを取得する。 ステップ203) 取得した検索対象レコードの名称と
スタックトップの名称の階層を比較する。下位の名称ま
たは、スタックに何もなければ、ステップ204に移行
し、それ以外は、ステップ205に移行する。
【0060】ステップ204) 検索対象レコードをス
タックにプッシュし、読み出しレジスタと実ポインタの
値が不一致の場合には、ステップ206に移行し、一致
した場合には、スタックに出力マークの有無をチェック
し、ある場合にはステップ209に移行し、ない場合に
は、ステップ207に移行する。
【0061】ステップ205) 同一階層の名称が出現
するまでポップし、検索対象レコードをプッシュし、読
み出しレジスタと実ポインタの値が不一致の場合には、
ステップ206に移行し、一致した場合には、スタック
に出力マークの有無をチェックし、ある場合にはステッ
プ209に移行し、ない場合には、ステップ207に移
行する。
【0062】ステップ206) 読み出しレジスタのレ
コード番号をインクリメントし、ステップ202に移行
する。 ステップ207) スタックに保存された上位のレコー
ド名称と下位組織の有無を付加して編集出力する。
【0063】ステップ208) スタックトップに出力
マークを設定する。 ステップ209) 前回のトップポインタに現在のトッ
プポインタを保存し、読み出しレジスタのアドレスをイ
ンクリメントし、ステップ200に移行する。上記のフ
ローチャートに沿って、本実施例を具体的に説明する。
【0064】まず、インデックスデータ20から表11
の索引レコードを順次取り出し、表11の「○○会社/
本社」の索引レコードが取り出され、最初のレコードで
あるので、ステップ201に移行する(ステップ20
0)。読み出しレジスタ=1となり(ステップ20
1)、「○○会社」の検索対象レコードが取得される
(ステップ202)。前述の第1の実施例で説明したよ
うに、ステップ203、ステップ204の処理が実行さ
れ、このとき、スタックの状態は、図7(A)となる
(ステップ203、204)。
【0065】次に、読み出しレジスタのレコード番号を
インクリメントし(ステップ206)、次の「本社」の
検索対象レコードを取得する(ステップ202)。同様
に、ステップ203、204が処理され、読み出しレジ
スタの内容と実ポインタが一致し、スタックに出力マー
クがないので、ステップ207に移行する(ステップ2
03、204)。スタックは、図7(B)の状態とな
り、下位組織を有するので、下位組織有りの記号を付加
して、図8に示すように編集出力する(ステップ20
7)。
【0066】次に、スタックトップ(「本社」のエント
リ)に、図8に示すように、出力マーク(同図におい
て、出力マークは、網かけ部分)を設定する。次に、前
トップポインタに現在処理中の索引レコードのトップポ
インタの内容「レコード番号1」を保存し、読み出しレ
ジスタ=3として、ステップ200に移行する(ステッ
プ209)。
【0067】さらに、次の索引レコード(「○○会社/
総務部」)、トップポインタ=1、実ポインタ=3)を
取得する。前トップポインタと現在のトップポインタが
共に「1」で一致するので、ステップ202に移行する
(ステップ200)。これにより、「○○会社/総務
部」の検索対象レコードを取得して、ステップ203、
ステップ204に移行する(ステップ200)。これに
より、スタックは、図7(C)の状態となる(ステップ
203、204)。
【0068】また、読み出しレジスタと実ポインタが一
致し、かつスタックに出力マークが付加された「本社」
のエントリがあるので、ステップ209に移行し、前回
のトップポインタとして現在のトップポインタを保持
し、読み出しレジスタをインクリメントし、ステップ2
00に移行する(ステップ204)。
【0069】そして、次の索引レコード(「○□電気/
新宿営業所」、トップポインタ=7、実ポインタ=1
1)を取得する(ステップ200)。前トップポインタ
=1で、現在のトップポインタと一致しないので、ステ
ップ201に移行し、トップポインタを設定して、読み
出しレジスタ=7となる。ステップ202において、レ
コード番号7の「○□電気」の検索対象レコードを取得
し、ステップ203、ステップ205に進み、スタック
は、図7(E)の状態となる。
【0070】以降の処理は、同様にして図8に示す編集
結果を取得する。なお、本発明は、上記の実施例におい
て、電話帳の例を用いて説明したが、この例に限定され
ることなく、階層構造を有し、一次元に配列されたデー
タの検索に広く適用可能である。
【0071】また、ポインタ情報は、レコード番号とし
た場合を例として説明したが、ファイルのバイトアドレ
ス等も同様に利用可能であることは言うまでもない。な
お、本発明は、上記の実施例に限定されることなく、特
許請求の範囲内で種々変更・応用が可能である。
【0072】
【発明の効果】上述のように、本発明の情報検索方法及
び装置によれば、企業組織、ファイルディレクトリ等の
トリー状の階層構造をもつ情報を、電話帳リストのよう
に階層構造をインデント(字下げ)により表し、一次元
に配列されたデータを検索する場合に、インデックスデ
ータに検索対象レコードを指すポインタ情報を持つこと
により、本体データには、新たな情報を付加する必要が
ない。かつ、検索対象レコードへのポインタのみでな
く、当該レコードの最上位レコードを指すポインタをイ
ンデックスデータに持つことにより、一次元に配列され
た階層構造をシーケンシャル(連続的)にアクセスでき
るため、CD−ROMのように、シーケンシャルアクセ
スが高速であるがランダムアクセスが遅い媒体に、検索
対象データを格納した場合、階層構造の高速な検索及
び、検索結果の表示が可能である。
【0073】検索対象レコードに対して複数のキーを派
生させたり、1項目(カラム)に複数のキーをもつ場合
に、1検索対象レコードに対して、複数のインデックス
レコードが必要となる。この場合、検索条件に該当する
同一の検索対象レコードを指す複数のインデックスレコ
ードが該当することがある。本発明では、インデックス
データにポインタ情報を格納するため、冗長なレコード
をポインタ情報のソートの際に、簡単に一意にすること
ができる。
【図面の簡単な説明】
【図1】本発明の原理を説明するための図である。
【図2】本発明の原理構成図である。
【図3】本発明の情報検索装置の構成図である。
【図4】本発明の第1の実施例の検索データ編集部にお
ける索引レコード毎の編集処理のフローチャートであ
る。
【図5】本発明の第1の実施例のスタックの状態を示す
図である。
【図6】本発明の第3の実施例における検索編集部の処
理のフローチャートである。
【図7】本発明の第3の実施例のスタックの状態を示す
図である。
【図8】本発明の第3の実施例の検索結果の出力例であ
る。
【図9】従来の階層構造を有するデータの構成例であ
る。
【符号の説明】
10 検索本体データファイル(検索本体データ) 20 インデックスデータファイル(インデックスデー
タ) 30 インデックス検索部、インデックス検索手段 35 検索対象レコード検索手段 40 検索データ編集部、検索レコード編集手段 50 表示部 60 検索キー入力部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 佐々木 優美 東京都新宿区西新宿三丁目19番2号 日本 電信電話株式会社内

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 一部または、全部のレコードに配下に属
    する下部レコードを有し、また、該下部レコードも配下
    に属する下部レコードを有する階層構造を有する検索対
    象レコードを、最上位レコードと下部レコードのキーを
    組み合わせたキーワードで検索することを特徴とする情
    報検索方法。
  2. 【請求項2】 検索するためのキーワードと該当する検
    索対象レコードへの実ポインタ情報と、該検索対象レコ
    ードの最上位レコードへのトップポインタ情報を組にし
    て持つ索引レコードからなるインデックスデータから該
    索引レコードを検索し、 検索された前記索引レコードのポインタ情報に基づい
    て、検索対象レコードを階層構造を保って一次元に配列
    した検索本体データの検索対象レコードを検索し、 検索した前記検索対象レコードを階層構造に従って編集
    する請求項1記載の情報検索方法。
  3. 【請求項3】 前記索引レコードを取得する際に、 検索した前記索引レコードをトップポインタ情報と実ポ
    インタ情報の昇順にソートし、 重複したポインタ情報をもつ索引レコードを削除する請
    求項2記載の情報検索方法。
  4. 【請求項4】 前記検索対象レコードを編集する際に、 取得した前記索引レコードのトップポインタから該索引
    レコードの実ポインタまで、前記検索本体データの検索
    対象レコードを取得し、 前記実ポインタが指し示す検索対象レコードの上位の階
    層構造情報を逐次取得して編集する請求項2記載の情報
    検索方法。
  5. 【請求項5】 前記索引レコードを検索した際に得られ
    たポインタ情報の順序で、前記トップポインタ情報が同
    一の索引レコードに対して、前記トップポインタ情報で
    取得される検索対象レコードから該索引レコードの実ポ
    インタ情報を指す検索対象レコードまでの上位の階層構
    造情報を保存し、 逐次検索対象レコードを取得する毎に、階層構造情報を
    更新し、 次の索引レコードが指す検索対象レコードを取得し、編
    集する際に、前記階層構造情報を用いて、上位の階層情
    報を編集する請求項1記載の情報検索方法。
  6. 【請求項6】 前記検索された索引レコードが指し示す
    検索対象レコードが階層構造上、下部レコードとして包
    含関係にある場合に、前記下部レコードを検索データと
    して編集せずに、下部レコードを持つ検索対象レコード
    に下部レコードを有することを示す情報を編集する請求
    項5記載の情報検索方法。
  7. 【請求項7】 一部または、全部のレコードに配下に属
    する下部レコードと、該下部レコードも配下に属する下
    部レコードを有する階層構造を有する検索対象レコード
    を、最上位レコードと下部レコードのキーを組み合わせ
    たキーワードで検索する検索手段を有することを特徴と
    する情報検索装置。
  8. 【請求項8】 検索対象レコードを階層構造を保って一
    次元に配列した検索対象レコードからなる検索本体デー
    タと、 検索対象レコードへの実ポインタ情報と、該検索対象レ
    コードの最上位レコードへのトップポインタ情報を組に
    して持つ索引レコードからなるインデックスデータと、 前記キーワードと該当する前記インデックスデータの索
    引レコードを検索するインデックス検索手段と、 前記インデックス検索手段により取得した前記索引レコ
    ードのポインタ情報に基づいて前記検索本体データの検
    索対象レコードを検索する検索対象レコード検索手段
    と、 前記検索対象レコード検索手段により検索された前記検
    索対象レコードを前記階層構造に従って編集する検索レ
    コード編集手段とを含む請求項7記載の情報検索装置。
  9. 【請求項9】 前記インデックス検索手段は、 検索した前記索引レコードをトップポインタ情報と実ポ
    インタ情報の昇順にソートするソート手段と、 重複したポインタ情報をもつ索引レコードを削除する重
    複索引レコード削除手段とを含む請求項8記載の情報検
    索装置。
  10. 【請求項10】 前記検索対象レコード検索手段は、 前記索引レコード検索手段において取得した前記索引レ
    コードのトップポインタから該索引レコードの実ポイン
    タまで、前記検索本体データの検索対象レコードを取得
    する手段を有し、 前記検索データ編集手段は、 前記実ポインタが指し示す前記検索対象レコードの上位
    の階層構造情報を逐次取得して編集する手段を有する請
    求項8記載の情報検索装置。
  11. 【請求項11】 前記索引レコードを検索した際に得ら
    れたポインタ情報の順序で、前記トップポインタ情報が
    同一の索引レコードに対して、前記トップポインタ情報
    で取得される検索対象レコードから該索引レコードの実
    ポインタ情報を指す検索対象レコードまでの上位の階層
    構造情報を保存する階層構造情報保持手段と、 逐次検索対象レコードを取得する毎に、階層構造情報を
    更新する階層構造情報更新手段と、 次の索引レコードが指す検索対象レコードを取得する
    と、前記階層構造情報を用いて、上位の階層情報を編集
    する階層情報編集手段を有する請求項8記載の情報検索
    装置。
  12. 【請求項12】 前記階層情報編集手段は、 前記検索された索引レコードが指し示す検索対象レコー
    ドが階層構造上、下部レコードとして包含関係にある場
    合に、前記下部レコードを検索データとして編集せず
    に、下部レコードを持つ検索対象データに下部レコード
    を有することを示す情報を編集する手段を含む請求項1
    1記載の情報検索装置。
JP18786796A 1996-07-17 1996-07-17 情報検索方法及び装置 Expired - Lifetime JP3564590B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18786796A JP3564590B2 (ja) 1996-07-17 1996-07-17 情報検索方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18786796A JP3564590B2 (ja) 1996-07-17 1996-07-17 情報検索方法及び装置

Publications (2)

Publication Number Publication Date
JPH1031681A true JPH1031681A (ja) 1998-02-03
JP3564590B2 JP3564590B2 (ja) 2004-09-15

Family

ID=16213613

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18786796A Expired - Lifetime JP3564590B2 (ja) 1996-07-17 1996-07-17 情報検索方法及び装置

Country Status (1)

Country Link
JP (1) JP3564590B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023211093A1 (ko) * 2022-04-24 2023-11-02 박종배 지식교차와 지식연결을 통한 연결지식 생성 방법 및 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05207150A (ja) * 1992-01-27 1993-08-13 Nippon Telegr & Teleph Corp <Ntt> 情報案内サービスシステム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05207150A (ja) * 1992-01-27 1993-08-13 Nippon Telegr & Teleph Corp <Ntt> 情報案内サービスシステム

Also Published As

Publication number Publication date
JP3564590B2 (ja) 2004-09-15

Similar Documents

Publication Publication Date Title
US6757675B2 (en) Method and apparatus for indexing document content and content comparison with World Wide Web search service
JP4542195B2 (ja) データベース照会システムおよび方法
US6330567B1 (en) Searching system for searching files stored in a hard disk of a personal computer
US7305385B1 (en) N-gram based text searching
JPH08235195A (ja) ディジタル・データ送信を記憶し検索する方法
JP3318834B2 (ja) データファイルシステム及びデータ検索方法
US20010048752A1 (en) Electronic-program-guide retrieval method and electronic-program-guide retrieval system
KR19990070838A (ko) 데이터 베이스 관리 시스템과 정보 검색의 밀결합을 위하여 서브 인덱스와 대용량 객체를 이용한 역 인덱스 저장 구조
WO2003098477A1 (en) Search and presentation engine
JPH11120203A (ja) データベースを合併する方法およびデータベースからドキュメントを検索する装置
CN111400323A (zh) 数据检索方法、系统、设备及存储介质
JPH09179872A (ja) 有限状態トランスデューサを用いてデータベースのインデックス付けを行う方法及び装置
US20060215298A1 (en) Information presentation apparatus, and information presentation method and program for use therein
JP2003173280A (ja) データベース生成装置、データベース生成方法及びデータベース生成プログラム
US20030023584A1 (en) Universal information base system
JPH06301732A (ja) 文書検索処理方法
JP2503333B2 (ja) 全文インデックス検索方法
EP1116137B1 (en) Database, and methods of data storage and retrieval
JP3564590B2 (ja) 情報検索方法及び装置
JPH07234879A (ja) 情報処理装置及びデータベース検索方法
JP3260706B2 (ja) パーソナルコンピュータのハードディスクに記憶されたファイルを検索する検索システム
US6738771B2 (en) Data processing method, computer readable recording medium, and data processing device
EP0743606B1 (en) Data unit group handling apparatus
WO2019163610A1 (ja) 情報処理システム及び情報処理方法
JP3471666B2 (ja) 複数テーブルにわたるキーワード検索方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040331

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040511

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20040512

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040524

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090618

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090618

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100618

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100618

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110618

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120618

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130618

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20140618

Year of fee payment: 10

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term