[go: up one dir, main page]

JP3564590B2 - Information retrieval method and device - Google Patents

Information retrieval method and device Download PDF

Info

Publication number
JP3564590B2
JP3564590B2 JP18786796A JP18786796A JP3564590B2 JP 3564590 B2 JP3564590 B2 JP 3564590B2 JP 18786796 A JP18786796 A JP 18786796A JP 18786796 A JP18786796 A JP 18786796A JP 3564590 B2 JP3564590 B2 JP 3564590B2
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.)
Expired - Lifetime
Application number
JP18786796A
Other languages
Japanese (ja)
Other versions
JPH1031681A (en
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.)
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/en
Publication of JPH1031681A publication Critical patent/JPH1031681A/en
Application granted granted Critical
Publication of JP3564590B2 publication Critical patent/JP3564590B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明は、情報検索方法及び装置に係り、特に、ディレクトリ、電話帳の企業掲載等のように、トリー状の階層構造を有するデータベースにおいて、効率的な検索と検索結果の編集を実現するための情報検索方法及び装置に関する。
【0002】
詳しくは、CD−ROMのようにシーク時間が読み出し時間に比べて大きいデータベース等の情報検索方法及び装置に関する。
【0003】
【従来の技術】
従来の情報検索について階層構造を有するデータベースを、電話帳データベースの例を用いて説明する。
表1は、従来の電話帳データベースの例である。
【0004】
【表1】

Figure 0003564590
【0005】
表1に示すように、電話帳データは、○○会社の配下に、本社と新宿支店があり、本社の配下に総務部と営業部があるというように、階層構造を有するデータがある。
従来は、このような電話帳データを「○○会社」、または、「○○会社お客様窓口」等のキーワードで検索するためには、図9に示すように、検索対象レコードに上位のレコードへポインタ情報を格納して、上位の階層構造情報を参照する方式や、表2に示すように、各検索対象レコードの上位の階層構造情報を格納する方式等が採用されている。
【0006】
【表2】
Figure 0003564590
【0007】
【発明が解決しようとする課題】
しかしながら、上記従来の方式には、以下のような問題がある。
図9に示す方式では、表3に示すように、最上位のレコードのキー(名義)と下部レコードのキーを組み合わせたインデックスを作成し、インデックスを検索して該当するポインタ情報(レコード番号)を取得し、図9の検索対象レコードを得る。例えば、「○○会社お客様窓口」で検索した場合、表3のインデックスからポインタ情報としてレコード番号6を取得する。図9の6番目のレコードを検索して、「お客様窓口03−1YYY−XXXX新宿区新宿」を得る。
【0008】
【表3】
Figure 0003564590
【0009】
しかし、このレコードだけでは、どの会社のどの支店かは分からないので、上位へのポインタを辿って5番目の「新宿支店」、さらに、1番目の「○○会社」上位を得る必要がある。
つまり、図9に示す方式では、検索されたレコード毎に上位の階層構造情報を検索するため、検索時間が長くなり、特に、CD−ROM等のようにランダムアクセスが遅い記憶装置に格納している場合、極端に検索時間が長くなる欠点がある。
【0010】
また、表2の方式でも、表3のようなインデックスを設け、ポインタ情報から該当レコードを検索する。この方式では、各レコードに階層構造情報として上位の名称を持つので、図9の方式のような上位のポインタは不要である。しかし、上位の名称を各レコードで重複して持つことになり、データ量が大きくなる。
【0011】
つまり、表2に示す方式では、上位の階層構造情報を検索する必要がない分だけ、高速に検索できるが、上位の階層構造情報を各レコードに持つため、データ容量が大きくなる欠点がある。
本発明は、上記の点に鑑みなされたもので、CD−ROM等のシーク時間が長い記憶装置に適用しても、階層構造を有するデータが高速に検索でき、かつデータ容量が少ない情報検索方法及び装置を提供することを目的とする。
【0012】
【課題を解決するための手段】
【0013】
図1は、本発明の原理を説明するための図である。
本発明は、一部または、全部のレコードに、配下に属する下部レコードを有し、また、該下部レコードも配下に属する下部レコードを有する階層構造を有する検索対象レコードをキーワードで検索する情報検索方法であって
検索するためのキーワードと該当する検索対象レコードへの実ポインタ情報と、該検索対象レコードの最上位レコードへのトップポインタ情報を組にして持つ索引レコードからなるインデックスデータから該索引レコードを検索し(ステップ1)、
検索された索引レコードのポインタ情報に基づいて、検索対象レコードを階層構造を保って一次元に配列した検索本体データの検索対象レコードを検索し(ステップ2)、
検索した検索対象レコードを階層構造に従って編集する(ステップ3)。
【0014】
本発明は、索引レコードを取得する際に、検索した索引レコードをトップポインタ情報と実ポインタ情報の昇順にソートし、重複したポインタ情報をもつ索引レコードを削除する。
また、本発明は、検索対象レコードを編集する際に、取得した索引レコードのトップポインタから該索引レコードの実ポインタまで、検索本体データの検索対象レコードを取得し、実ポインタが指し示す検索対象レコードの上位の階層構造情報を逐次取得して編集する。
【0015】
また、本発明は、索引レコードを検索した際に得られたポインタ情報の順序で、トップポインタ情報が同一の索引レコードに対して、トップポインタ情報で取得される検索対象レコードから該索引レコードの実ポインタ情報を指す検索対象レコードまでの上位の階層構造情報を保存し、
逐次検索対象レコードを取得する毎に、階層構造情報を更新し、
次の索引レコードが指す検索対象データを取得し、編集する際に、階層構造情報を用いて、上位の階層情報を編集する。
【0016】
また、本発明は、検索された索引レコードが指し示す検索対象レコードが階層構造上、下部レコードとして包含関係にある場合に、下部レコードを検索データとして編集しないで、下部レコードを持つ検索対象データに下部レコードを有することを示す情報を編集する。
【0018】
図2は、本発明の原理構成図である。
本発明は、一部または、全部のレコードに配下に属する下部レコードと、該下部レコードも配下に属する下部レコードを有する階層構造を有する検索対象レコードをキーワードで検索する情報検索装置であって、
検索対象レコードを階層構造を保って一次元に配列した検索対象レコードからなる検索本体データ10と、
検索対象レコードへの実ポインタ情報と、該検索対象レコードの最上位レコードへのトップポインタ情報を組にして持つ索引レコードからなるインデックスデータ20と、
キーワードと該当するインデックスデータ20の索引レコードを検索するインデックス検索手段30と、
インデックス検索手段30により取得した索引レコードのポインタ情報に基づいて検索本体データ10の検索対象レコードを検索する検索対象レコード検索手段35と、
検索対象レコード検索手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) 読み出しレジスタに格納されたレコード番号をインクリメントし、ステップ102に移行する。
ステップ107) ステップ102において、読み出しレジスタと実ポインタが一致する場合には、スタックの保存された上位レコードの名称を付けて検索結果を編集出力する。
【0031】
ステップ108) 1つの検索対象レコード分の処理が終了する。
【0032】
【実施例】
以下、本発明の実施例と共に説明する。
以下の実施例は、表4に示す検索本体データファイル10の内容及び、表5に示すインデックスデータファイル20の内容に基づいて説明する。
【0033】
【表4】
Figure 0003564590
【0034】
【表5】
Figure 0003564590
【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に移行する(ステップ106)。
次の検索対象レコード(レコード番号2の「本社」)を取得する(ステップ102)。実ポインタのレコード番号6を取得するまでは、ステップ103に移行することになる。レコード番号2の「本社」は、スタックトップの「○○会社」の下位の検索対象レコードであるので、「本社」をプッシュする(ステップ104)。同様に、「総務部」のレコードもスタックにプッシュされ、スタックは図5(A)の状態となる。
【0042】
次の「営業部」の検索対象レコードでは、スタックトップにある「総務部」と同一階層にあるので、ステップ105に移行し、「総務部」をポップして「営業部」をプッシュするので、スタックは、図5(B)の状態となる。
また、次の「新宿支店」の検索対象レコードでは、スタックトップの「営業部」とは階層関係にないので、ステップ105に移行し、「新宿支店」と同一階層の「本社」までポップして、「新宿支店」をプッシュし、スタックは図5(C)の状態となる(ステップ105)。
【0043】
次に、読み出しレジスタのレコード番号をインクリメントすることにより、読み出しレジスタの内容が次の「お客様窓口」の検索対象レコードを示す「6」となり、ステップ102に移行する(ステップ106)。
レコード番号6の「お客様窓口」の検索対象レコードを読み出し、読み出しレジスタの内容が実ポインタの情報(レコード番号6)と一致するのでステップ107に移行する(ステップ102)。検索データ編集部40は、図5に示すスタックの情報に基づいて以下に示す検索結果を最上位の名称から編集して表示部50に表示する。
【0044】
○○会社
新宿支店
お客様窓口 03−1YYY−XXXX
上記の例において、検索データ編集部40に使用した図5に示すようなスタックは、上位の階層構造情報を保存し、逐次検索対象レコードを取得する毎に、階層構造情報を更新する手段の一例である。検索本体データ10が階層構造を表すように配列されているので、最上位のレコードから逐次処理することで同様な編集は可能である。
【0045】
[第2の実施例]
本実施例では、図3に示す構成において、ソート機能を有するインデックス検索部30について説明する。
表6に、検索本体データ10の例を示す。
【0046】
【表6】
Figure 0003564590
【0047】
上記の表6を例に、「○□電気の営業」の条件で検索する場合を説明する。この場合、「○□電気」には、「営業」で始まる下部名称は、「本社営業本部」と「新宿営業所営業部」の2件が該当する。従って、インデックスデータ20から表7に示す索引レコードが該当しているため、検索される。
【0048】
【表7】
Figure 0003564590
【0049】
インデックスデータ20の並びは、検索本体データ10の並びと同一ではない。そこで、インデックス検索部30において、トップポインタと実ポインタをキーにしてソートすることにより、索引レコードは、検索本体データ10と同じ並び(配列)になる。従って、トップポインタが同じ索引レコードについて、図4に示す処理フローにより検索結果を編集することで、検索本体データ10の配列順序で連続的に読み出すことにより、以下のような検索結果の編集が可能となる。
【0050】
○□電気
本店
営業本部 03−2YYY−XXXX 千代田区内幸町
新宿営業所 03−2YYY−XXXX 新宿区西新宿
営業部 03−2YYY−XXXX 新宿区西新宿
また、表5に示す検索本体データ10の「営業本部」を「営業センタ」でも検索できるように、表8に示すように、インデックスデータに「○□電気/営業センタ」を追加した場合を説明する。
【0051】
【表8】
Figure 0003564590
【0052】
「○□電気の営業」の条件で検索する場合、3件の検索対象レコードが該当し、「○□電気/営業センタ」と「○□電気/営業本部」は、同じトップポインタと実ポインタを持ち、検索されたどちらかの検索レコードは不要である。
インデックス検索部30において検索された索引レコードをポインタ情報でソートし、連続する索引レコードのポインタ情報を比較し、重複するポインタ情報を一意にする機能により、不要な索引レコードを削除する。
【0053】
[第3の実施例]
本実施例は、表1の検索本体データ10を名称と住所から検索する場合の例を説明する。
名称と住所から検索するためには、表9のように、キー情報に住所を加えたインデックスデータにより実現できる。表9は、表1の「○○会社」、「本社」等の住所を持たないレコードに対しても、住所による検索ができるように、下位組織の住所をキー情報に付加して作成している。この例は、表9のレコード番号2,5,8が該当し、下位組織の住所が複数ある表1の「○○会社」「○□電気」の場合は、索引レコードを作成しないようにしている。
【0054】
【表9】
Figure 0003564590
【0055】
「新宿区西新宿の○で始まるレコード」を検索する場合について、図3の構成に基づいて説明する。
インデックス検索部30により、表9のインデックスデータ20を、「新宿区西新宿」と「○%」(%は、ワイルドカードでどの文字でも可能である意味)のAND条件で、検索すると、表10の索引レコードを取得する。表11の索引レコードをトップポインタと実ポインタでソートすると、表11となる。
【0056】
【表10】
Figure 0003564590
【0057】
【表11】
Figure 0003564590
【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に移行する(ステップ200)。
読み出しレジスタ=1となり(ステップ201)、「○○会社」の検索対象レコードが取得される(ステップ202)。前述の第1の実施例で説明したように、ステップ203、ステップ204の処理が実行され、このとき、スタックの状態は、図7(A)となる(ステップ203、204)。
【0065】
次に、読み出しレジスタのレコード番号をインクリメントし(ステップ206)、次の「本社」の検索対象レコードを取得する(ステップ202)。同様に、ステップ203、204が処理され、読み出しレジスタの内容と実ポインタが一致し、スタックに出力マークがないので、ステップ207に移行する(ステップ203、204)。スタックは、図7(B)の状態となり、下位組織を有するので、下位組織有りの記号を付加して、図8に示すように編集出力する(ステップ207)。
【0066】
次に、スタックトップ(「本社」のエントリ)に、図8に示すように、出力マーク(同図において、出力マークは、網かけ部分)を設定する。
次に、前トップポインタに現在処理中の索引レコードのトップポインタの内容「レコード番号1」を保存し、読み出しレジスタ=3として、ステップ200に移行する(ステップ209)。
【0067】
さらに、次の索引レコード(「○○会社/総務部」)、トップポインタ=1、実ポインタ=3)を取得する。前トップポインタと現在のトップポインタが共に「1」で一致するので、ステップ202に移行する(ステップ200)。これにより、「○○会社/総務部」の検索対象レコードを取得して、ステップ203、ステップ204に移行する(ステップ200)。これにより、スタックは、図7(C)の状態となる(ステップ203、204)。
【0068】
また、読み出しレジスタと実ポインタが一致し、かつスタックに出力マークが付加された「本社」のエントリがあるので、ステップ209に移行し、前回のトップポインタとして現在のトップポインタを保持し、読み出しレジスタをインクリメントし、ステップ200に移行する(ステップ204)。
【0069】
そして、次の索引レコード(「○□電気/新宿営業所」、トップポインタ=7、実ポインタ=11)を取得する(ステップ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 検索キー入力部[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an information search method and apparatus, and more particularly to a method for realizing efficient search and editing of search results in a database having a tree-like hierarchical structure such as a directory or a company listing in a telephone directory. The present invention relates to an information search method and apparatus.
[0002]
More specifically, the present invention relates to an information retrieval method and apparatus for a database or the like, such as a CD-ROM, in which a seek time is longer than a read time.
[0003]
[Prior art]
A conventional information retrieval database having a hierarchical structure will be described using an example of a telephone directory database.
Table 1 is an example of a conventional telephone directory database.
[0004]
[Table 1]
Figure 0003564590
[0005]
As shown in Table 1, the telephone directory data includes data having a hierarchical structure, such as a head office and a Shinjuku branch under company XX, and a general affairs department and a sales department under the head office.
Conventionally, in order to search for such telephone directory data using a keyword such as "XX company" or "XX company customer contact", as shown in FIG. A method of storing pointer information and referring to upper hierarchical structure information, a method of storing upper hierarchical structure information of each search target record as shown in Table 2, and the like are employed.
[0006]
[Table 2]
Figure 0003564590
[0007]
[Problems to be solved by the invention]
However, the above conventional method has the following problems.
In the method shown in FIG. 9, as shown in Table 3, an index is created by combining the key (name) of the uppermost record and the key of the lower record, the index is searched, and the corresponding pointer information (record number) is obtained. Then, the record to be searched is obtained as shown in FIG. For example, when the search is performed using “XX company customer contact”, record number 6 is acquired from the index in Table 3 as pointer information. The sixth record in FIG. 9 is searched to obtain “customer window 03-1YYY-XXXX Shinjuku-ku Shinjuku”.
[0008]
[Table 3]
Figure 0003564590
[0009]
However, since this record alone does not tell which branch of which company, it is necessary to obtain the fifth “Shinjuku branch” and the first “XX company” by following the pointer to the higher rank.
That is, in the method shown in FIG. 9, since the higher hierarchical structure information is searched for each searched record, the search time is long, and particularly, the information is stored in a storage device such as a CD-ROM where the random access is slow. In such a case, there is a disadvantage that the search time becomes extremely long.
[0010]
Also in the method of Table 2, an index as shown in Table 3 is provided, and a corresponding record is searched from the pointer information. In this method, since each record has a high-order name as the hierarchical structure information, a high-order pointer as in the method of FIG. 9 is unnecessary. However, each record has a higher-order name, and the data amount increases.
[0011]
That is, in the method shown in Table 2, the search can be performed at a high speed because the upper hierarchical structure information does not need to be searched. However, since each record has the upper hierarchical structure information, there is a disadvantage in that the data capacity is increased.
SUMMARY OF THE INVENTION The present invention has been made in view of the above points, and is applicable to a storage device such as a CD-ROM having a long seek time. And an apparatus.
[0012]
[Means for Solving the Problems]
[0013]
FIG. 1 is a diagram for explaining the principle of the present invention.
The present inventionAn information search method for searching for a search target record having a hierarchical structure in which some or all of the records have subordinate records belonging thereto and the lower records also have subordinate records belonging thereto, using a keyword.,
The index record is searched from index data including an index record having a set of a keyword to be searched, actual pointer information to the corresponding search target record, and top pointer information to the top record of the search target record ( Step 1),
On the basis of the pointer information of the searched index record, a search target record of search body data in which search target records are arranged one-dimensionally while maintaining a hierarchical structure is searched (step 2).
The searched record to be searched is edited according to the hierarchical structure (step 3).
[0014]
According to the present invention, when acquiring an index record, the searched index records are sorted in ascending order of the top pointer information and the actual pointer information, and the index records having duplicate pointer information are deleted.
Further, the present invention, when editing a search target record, from the top pointer of the obtained index record to the actual pointer of the index record, obtains the search target record of the search body data, the search of the search target record indicated by the real pointer Obtain and edit the upper hierarchical structure information sequentially.
[0015]
Further, according to the present invention, in the order of the pointer information obtained when the index record is searched, the index record having the same top pointer information is searched from the search target record acquired by the top pointer information. Stores the hierarchical structure information up to the record to be searched that points to the pointer information,
Each time a sequential search target record is acquired, the hierarchical structure information is updated,
When acquiring and editing the search target data indicated by the next index record, the hierarchical information is edited using the hierarchical structure information.
[0016]
Further, according to the present invention, when a search target record indicated by a searched index record has an inclusion relationship as a lower record in a hierarchical structure, the lower record is not edited as search data, and the lower record is added to the search target data having the lower record. Edit the information indicating that you have a record.
[0018]
FIG. 2 is a diagram illustrating the principle of the present invention.
The present inventionAn information search device that searches for a search target record having a hierarchical structure including lower records belonging to some or all records and lower records belonging to the lower records and lower records also belonging to the lower records, using a keyword,
Search body data 10 consisting of search target records in which search target records are arranged one-dimensionally while maintaining a hierarchical structure;
Index data 20 including an index record having a set of actual pointer information to the search target record and top pointer information to the highest record of the search target record;
An index search means 30 for searching for an index record of the index data 20 corresponding to the keyword;
A search target record search unit 35 for searching a search target record of the search body data 10 based on the pointer information of the index record acquired by the index search unit 30;
Search record editing means 40 for editing a search target record searched by the search target record search means 35 according to a hierarchical structure;And
[0019]
The index search means 30 includes a sort means for sorting the searched index records in ascending order of the top pointer information and the actual pointer information, and a duplicate index record deletion means for deleting an index record having duplicate pointer information. .
Further, the search target record search means 35 has means for obtaining a search target record from the search body data from the top pointer of the index record obtained by the index record search means 30 to the actual pointer of the search record,
The search data editing means 40
There is provided a means for sequentially acquiring and editing the hierarchical structure information of the upper level of the search target record indicated by the real pointer.
[0020]
Further, according to the present invention, in the order of the pointer information obtained when the index record is searched, the index record having the same top pointer information is searched from the search target record acquired by the top pointer information. Hierarchical structure information holding means for storing upper hierarchical structure information up to the search target record pointing to the pointer information,
A hierarchical structure information updating means for updating the hierarchical structure information each time a sequential search target record is acquired;
When a search target record pointed by the next index record is obtained, a hierarchical information editing unit for editing upper hierarchical information using the hierarchical structure information is provided.
[0021]
Further, the above-mentioned hierarchy information editing means,
If the search target record indicated by the searched index record has an inclusive relationship as the lower record in the hierarchical structure, the lower record must not be edited as search data and the lower record must be included in the search target record that has the lower record. Means for editing the indicated information.
[0022]
As described above, in the present invention, the hierarchical structure of the record to be searched is represented by an array of records, so that it is not necessary for the search body data to have a pointer to the higher rank and information of the higher rank to be duplicated.
Also, by having a pointer to the highest-level search target record in addition to the index data, it is possible to sequentially search in the order of the array from the highest-level search target record, so that hierarchical structure information can be obtained without performing random access. And edit it.
[0023]
Also, by sorting the searched index records and searching for the search target records, access can be made in the order of the closest array, and the seek time can be reduced.
[0024]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 3 shows the configuration of the information search device of the present invention.
The information search apparatus shown in FIG. 1 includes a search body data file (search body data) 10, an index data file (index data) 20, an index search unit 30, a search data editing unit 40, a display unit 50, and a search key input unit 60. Be composed.
[0025]
The search target records of the search body data file 10 are arranged one-dimensionally while maintaining the hierarchical structure.
The index record of the index data file 20 has a set of actual pointer information to the record to be searched and top pointer information to the highest record of the record to be searched.
[0026]
The index search unit 30 searches an index record of the index data corresponding to the keyword input from the search key input unit 60.
The search data editing unit 40 searches for a record to be searched in the search body data file 10 based on the pointer information of the searched index record, and edits the searched record to be searched according to a hierarchical structure.
[0027]
The display unit 50 displays the search result edited by the search data editing unit 40. The key input unit 60 inputs a keyword for the index search unit 30 to search for an index record.
FIG. 4 is a flowchart of an editing process for each index record in the search data editing unit of the present invention.
[0028]
Step 101) The information of the top pointer is set in a read register for storing a record number for searching the search body data file 10.
Step 102) Acquire the search target record indicated by the read register.
Step 103) Compare the upper layer information with the top (stack top) of the stack where the information is stored. If there is nothing in the stack, the process proceeds to step 104; otherwise, the process proceeds to step 105.
[0029]
Step 104) The search target record is pushed onto the stack, and the routine goes to Step 106.
Step 105) Pop until the name of the same hierarchy appears, push the search target record, and proceed to Step 106.
[0030]
Step 106) The record number stored in the read register is incremented, and the process proceeds to Step 102.
Step 107) If the read register matches the actual pointer in step 102, the search result is edited and output with the name of the upper record stored in the stack.
[0031]
Step 108) The processing for one search target record ends.
[0032]
【Example】
Hereinafter, a description will be given together with examples of the present invention.
The following embodiment will be described based on the contents of the search body data file 10 shown in Table 4 and the contents of the index data file 20 shown in Table 5.
[0033]
[Table 4]
Figure 0003564590
[0034]
[Table 5]
Figure 0003564590
[0035]
[First Embodiment]
First, in the first embodiment, the top pointer information of the index records searched by the index search unit 30 is sorted, and the search target record obtained by the top pointer information is obtained for the index records having the same top pointer information. To the search target record that points to the actual pointer information of the index record. Then, the hierarchical structure information is updated each time a record to be sequentially searched is acquired. Also, an example will be described in which the search data editing unit 40 obtains search target data pointed to by the next index data and edits higher-level information using hierarchical structure information when editing.
[0036]
Specifically, the top-level name (shown in Table 1, XX Company, XX Denki) is an indispensable key, and key items can be searched using the lower name (eg, Sales Department, Shinjuku Branch, etc.). Will be described with reference to an index data file 20 shown in Table 4 in which an index record is configured by combining a top name and a lower name. Further, as shown in Table 4, the index record of the search target record (record number 6) of “XX company Shinjuku branch customer window” has the key items “XX company” and “customer window” The top pointer indicating the record No. indicates the record to be searched for "XX company" (record number 1), and the real pointer indicates the record to be searched for "XX company Shinjuku branch customer contact" (record number 6).
[0037]
Since the index data 20 shown in Table 4 is generally sorted with respect to the search key items in order to speed up the search, the order of the index records does not match the arrangement order of the search target records.
Here, the operation will be described by taking as an example a case where "customer contact of company XX" is searched. As the search key, the index search unit 30 searches for a search record that matches the key item of the index data 20 (Table 4) based on key information obtained by combining “XX company” and “customer contact”. In this example, a third search record having key items of “XX company” and “customer contact” is obtained.
[0038]
Next, the search / editing unit 40 searches the search body data based on the information of the top pointer and the actual pointer of the index record obtained by the index search unit 30, and displays the search result on the display unit 50.
Hereinafter, a process of editing search data in the search data editing unit 40 will be described.
[0039]
A record number 1 is set as a top pointer information in a read register (not shown) of the search data editing unit 40 (step 101).
Next, the search data editing unit 40 acquires a record of “XX company” as a search target record indicated by the read register. Since the actual pointer information (record number 6) does not match the contents of the read register, the process proceeds to step 103 (step 102).
[0040]
The top (stack top) of the stack for storing the upper layer information is compared (step 103). In this example, since there is nothing in the stack, the process proceeds to step 104, and the information of the search target record is pushed onto the stack (step 104).
[0041]
The record number of the read register is incremented, and the process proceeds to Step 102 (Step 106).
The next search target record (record number 2 “head office”) is acquired (step 102). Until the record number 6 of the real pointer is obtained, the process proceeds to step 103. Since "head office" of record number 2 is a search target record under "xx company" at the top of the stack, "head office" is pushed (step 104). Similarly, the record of “General Affairs Department” is also pushed onto the stack, and the stack is in the state of FIG.
[0042]
In the next record to be searched for “sales department”, since it is on the same level as “general affairs department” at the top of the stack, the process proceeds to step 105, where “general affairs department” is popped and “sales department” is pushed. The stack is in the state shown in FIG.
In the next record to be searched for “Shinjuku Branch”, since there is no hierarchical relationship with the “Sales Department” at the top of the stack, the process proceeds to Step 105 and pops up to “Headquarters” in the same hierarchy as “Shinjuku Branch”. , "Shinjuku branch" is pushed, and the stack is in the state of FIG. 5C (step 105).
[0043]
Next, by incrementing the record number of the read register, the content of the read register becomes “6” indicating the record to be searched for the next “customer window”, and the process proceeds to step 102 (step 106).
The search target record of the “customer window” of the record number 6 is read, and the contents of the read register match the information of the actual pointer (record number 6), so that the process proceeds to step 107 (step 102). The search data editing unit 40 edits the following search results based on the stack information shown in FIG.
[0044]
○○ company
Shinjuku branch
Customer Service 03-1YYY-XXXX
In the above example, the stack used in the search data editing unit 40 as shown in FIG. 5 is an example of a unit that stores upper hierarchical structure information and updates the hierarchical structure information every time a record to be searched is sequentially acquired. It is. Since the search body data 10 is arranged so as to represent a hierarchical structure, similar editing is possible by sequentially processing from the top record.
[0045]
[Second embodiment]
In the present embodiment, an index search unit 30 having a sort function in the configuration shown in FIG. 3 will be described.
Table 6 shows an example of the search body data 10.
[0046]
[Table 6]
Figure 0003564590
[0047]
Using the above Table 6 as an example, a description will be given of a case where a search is performed under the condition of “business of ○ □ electricity”. In this case, the lower names starting with "sales" correspond to two cases of "Headquarters Sales Headquarters" and "Shinjuku Sales Office Sales Department" for "○ □ Electric". Therefore, since the index record shown in Table 7 corresponds to the index data 20, it is searched.
[0048]
[Table 7]
Figure 0003564590
[0049]
The arrangement of the index data 20 is not the same as the arrangement of the search body data 10. Therefore, the index search unit 30 sorts the index records using the top pointer and the real pointer as keys, so that the index records have the same arrangement (array) as the search body data 10. Therefore, by editing the search results for the index records having the same top pointer according to the processing flow shown in FIG. 4, the following search results can be edited by successively reading out the search body data 10 in the arrangement order. It becomes.
[0050]
○ □ Electric
Head office
Sales Division 03-2YYY-XXXX Uchisaiwai-cho, Chiyoda-ku
Shinjuku Sales Office 03-2YYY-XXXX Nishi-Shinjuku, Shinjuku-ku
Sales Department 03-2YYY-XXXX Nishi-Shinjuku, Shinjuku-ku
In addition, as shown in Table 8, a case where “○ □ Electrical / Sales Center” is added to the index data so that “Sales Headquarters” of the search body data 10 shown in Table 5 can be searched for in “Sales Center” as well. I do.
[0051]
[Table 8]
Figure 0003564590
[0052]
When searching under the condition of “○ □ electricity sales”, three search target records are applicable, and “xx electricity / sales center” and “xx electricity / sales headquarters” use the same top pointer and real pointer. It is not necessary to have either one of the search records.
The index records searched by the index search unit 30 are sorted by pointer information, pointer information of consecutive index records is compared, and unnecessary index records are deleted by a function of making duplicated pointer information unique.
[0053]
[Third embodiment]
In the present embodiment, an example in which the search body data 10 in Table 1 is searched from a name and an address will be described.
Searching from the name and the address can be realized by index data in which the address is added to the key information as shown in Table 9. Table 9 is created by adding the address of the subordinate organization to the key information so that even records having no address such as “XX company” and “Head office” in Table 1 can be searched by address. I have. In this example, record numbers 2, 5, and 8 in Table 9 correspond to the case where "XX company" and "XX electric" in Table 1 have a plurality of subordinate organization addresses. I have.
[0054]
[Table 9]
Figure 0003564590
[0055]
A case of searching for "records starting with N in Shinjuku-ku Nishi-Shinjuku" will be described based on the configuration of FIG.
When the index search unit 30 searches the index data 20 of Table 9 under an AND condition of “Shinjuku-ku Nishi-Shinjuku” and “○%” (% means that any character can be used with a wild card), Table 10 is obtained. Get the index record for. Table 11 is obtained by sorting the index records of Table 11 by the top pointer and the actual pointer.
[0056]
[Table 10]
Figure 0003564590
[0057]
[Table 11]
Figure 0003564590
[0058]
FIG. 6 is a flowchart of the processing of the search data editing unit according to the third embodiment of the present invention.
Step 200) The index records of the index data 20 are read out. If all the records have been processed, the processing is terminated. Otherwise, it is determined whether the previous top pointer matches the current top pointer. , The process proceeds to step 202, and if not, the process proceeds to step 201.
[0059]
Step 201) The contents of the top pointer are set in the read register.
Step 202) Acquire the record to be searched for the record number of the read register.
Step 203) Compare the acquired search target record name with the stack top name hierarchy. If there is nothing in the lower name or the stack, the process proceeds to step 204, and otherwise, the process proceeds to step 205.
[0060]
Step 204) The search target record is pushed onto the stack. If the value of the read register does not match the value of the actual pointer, the process proceeds to step 206. If the value matches, the presence or absence of an output mark is checked on the stack. In step 209, the process proceeds to step 207. Otherwise, the process proceeds to step 207.
[0061]
Step 205) Pop until the name of the same hierarchy appears, push the record to be searched, and when the value of the read register and the actual pointer do not match, proceed to Step 206, and when they match, output to the stack. The presence / absence of a mark is checked. If there is, the process proceeds to step 209. If not, the process proceeds to step 207.
[0062]
Step 206) The record number of the read register is incremented, and the process proceeds to Step 202.
Step 207) Edit and output by adding the name of the upper record stored in the stack and the presence or absence of the lower organization.
[0063]
Step 208) An output mark is set on the stack top.
Step 209) The current top pointer is stored in the previous top pointer, the read register address is incremented, and the routine goes to step 200.
The present embodiment will be specifically described with reference to the above flowchart.
[0064]
First, the index records of Table 11 are sequentially extracted from the index data 20, and the index record of “XX company / head office” in Table 11 is extracted. Since this is the first record, the process proceeds to Step 201 (Step 200).
The read register becomes 1 (step 201), and a search target record of “XX company” is obtained (step 202). As described in the first embodiment, the processing of steps 203 and 204 is executed. At this time, the state of the stack is as shown in FIG. 7A (steps 203 and 204).
[0065]
Next, the record number of the read register is incremented (step 206), and the next record to be searched for “head office” is obtained (step 202). Similarly, steps 203 and 204 are processed, and since the contents of the read register match the actual pointer and there is no output mark on the stack, the process proceeds to step 207 (steps 203 and 204). Since the stack is in the state of FIG. 7B and has a subordinate organization, a symbol indicating that there is a subordinate organization is added and edited and output as shown in FIG. 8 (step 207).
[0066]
Next, as shown in FIG. 8, an output mark (in FIG. 8, the output mark is a hatched portion) is set at the stack top (the entry of “head office”).
Next, the content "record number 1" of the top pointer of the currently processed index record is stored in the previous top pointer, and the read register is set to 3, and the process proceeds to step 200 (step 209).
[0067]
Further, the next index record (“XX company / general affairs department”), top pointer = 1, actual pointer = 3) is acquired. Since both the previous top pointer and the current top pointer match at "1", the process proceeds to step 202 (step 200). As a result, the search target record of “XX company / general affairs department” is acquired, and the process proceeds to step 203 and step 204 (step 200). As a result, the stack enters the state shown in FIG. 7C (steps 203 and 204).
[0068]
Also, since there is an entry of “head office” in which the read register matches the real pointer and the output mark is added to the stack, the process proceeds to step 209, where the current top pointer is held as the previous top pointer, and the read register Is incremented, and the process proceeds to step 200 (step 204).
[0069]
Then, the next index record (“○ Denki / Shinjuku Sales Office”, top pointer = 7, actual pointer = 11) is acquired (step 200). Since the previous top pointer is 1 and does not match the current top pointer, the process proceeds to step 201, where the top pointer is set, and the read register becomes 7. In step 202, the search target record of “○ □ electricity” of the record number 7 is acquired, and the process proceeds to step 203 and step 205, and the stack is in the state of FIG.
[0070]
In the subsequent processing, the editing result shown in FIG. 8 is obtained in the same manner.
Although the present invention has been described using the example of a telephone directory in the above-described embodiment, the present invention is not limited to this example, and has a hierarchical structure, and is widely applicable to retrieval of one-dimensionally arranged data. It is possible.
[0071]
Also, the case where the pointer information is a record number has been described as an example, but it goes without saying that the byte address of the file and the like can also be used.
It should be noted that the present invention is not limited to the above-described embodiment, but can be variously modified and applied within the scope of the claims.
[0072]
【The invention's effect】
As described above, according to the information search method and apparatus of the present invention, information having a tree-like hierarchical structure such as a corporate organization and a file directory is represented by indenting the hierarchical structure like a telephone directory list (indentation). In addition, when searching data arranged one-dimensionally, it is not necessary to add new information to the main data by providing the index data with the pointer information indicating the record to be searched. In addition, since the index data has not only a pointer to the record to be searched but also a pointer to the top record of the record in the index data, a one-dimensionally arranged hierarchical structure can be accessed sequentially (continuously). When data to be searched is stored in a medium such as a ROM that has a high speed of sequential access but a low speed of random access, high-speed search of a hierarchical structure and display of search results are possible.
[0073]
When deriving a plurality of keys for a search target record or having a plurality of keys in one item (column), a plurality of index records are required for one search target record. In this case, a plurality of index records pointing to the same search target record corresponding to the search condition may be applicable. In the present invention, since the pointer information is stored in the index data, a redundant record can be easily made unique when sorting the pointer information.
[Brief description of the drawings]
FIG. 1 is a diagram for explaining the principle of the present invention.
FIG. 2 is a principle configuration diagram of the present invention.
FIG. 3 is a configuration diagram of an information search device of the present invention.
FIG. 4 is a flowchart of an editing process for each index record in a search data editing unit according to the first embodiment of this invention.
FIG. 5 is a diagram showing a state of a stack according to the first embodiment of the present invention.
FIG. 6 is a flowchart of a process performed by a search and edit unit according to a third embodiment of the present invention.
FIG. 7 is a diagram illustrating a state of a stack according to a third embodiment of the present invention.
FIG. 8 is an output example of a search result according to the third embodiment of the present invention.
FIG. 9 is a configuration example of data having a conventional hierarchical structure.
[Explanation of symbols]
10. Search body data file (search body data)
20 Index data file (index data)
30 Index search section, index search means
35 Search target record search means
40 search data editing unit, search record editing means
50 Display
60 Search key input section

Claims (10)

一部または、全部のレコードに、配下に属する下部レコードを有し、また、該下部レコードも配下に属する下部レコードを有する階層構造を有する検索対象レコードをキーワードで検索する情報検索方法であって
検索するためのキーワードと該当する検索対象レコードへの実ポインタ情報と、該検索対象レコードの最上位レコードへのトップポインタ情報を組にして持つ索引レコードからなるインデックスデータから該索引レコードを検索し、
検索された前記索引レコードのポインタ情報に基づいて、検索対象レコードを階層構造を保って一次元に配列した検索本体データの検索対象レコードを検索し、
検索した前記検索対象レコードを階層構造に従って編集する、
ことを特徴とする情報検索方法。
Part or all of the records, has a lower record belonging to the subordinate, also, the lower record is an information search method of searching for a search target record having a hierarchical structure having a lower record belonging to the subordinate by a keyword ,
Searching the index record from the index data consisting of the index record having a set of the keyword for searching and the actual pointer information to the corresponding search target record and the top pointer information to the top record of the search target record,
Based on the searched pointer information of the index record, search for the search target record of the search body data in which the search target records are arranged one-dimensionally while maintaining a hierarchical structure,
Edit the searched record according to the hierarchical structure,
An information retrieval method characterized in that:
前記索引レコードを取得する際に、
検索した前記索引レコードをトップポインタ情報と実ポインタ情報の昇順にソートし、
重複したポインタ情報を持つ索引レコードを削除する請求項記載の情報検索方法。
When acquiring the index record,
The searched index records are sorted in ascending order of top pointer information and actual pointer information,
The method of information retrieval according to claim 1, wherein deleting the index records with duplicate pointer information.
前記検索対象レコードを編集する際に、
取得した前記索引レコードのトップポインタから該索引レコードの実ポインタまで、前記検索本体データの検索対象レコードを取得し、
前記実ポインタが指し示す検索対象レコードの上位の階層構造情報を逐次取得して編集する請求項記載の情報検索方法。
When editing the search target record,
From the top pointer of the obtained index record to the actual pointer of the index record, obtain a search target record of the search body data,
The actual pointer method of information retrieval according to claim 1, in which edit search the hierarchical structure information of the upper of the target record sequentially acquire and pointing.
前記索引レコードを検索した際に得られたポインタ情報の順序で、前記トップポインタ情報が同一の索引レコードに対して、前記トップポインタ情報で取得される検索対象レコードから該索引レコードの実ポインタ情報を指す検索対象レコードまでの上位の階層構造情報を保存し、
逐次検索対象レコードを取得する毎に、階層構造情報を更新し、
次の索引レコードが指す検索対象レコードを取得し、編集する際に、前記階層構造情報を用いて、上位の階層情報を編集する請求項1記載の情報検索方法。
In the order of the pointer information obtained at the time of searching the index record, for the index record having the same top pointer information, the actual pointer information of the index record is obtained from the search target record obtained by the top pointer information. Save the hierarchical structure information up to the record to be pointed to,
Each time a sequential search target record is acquired, the hierarchical structure information is updated,
2. The information search method according to claim 1, wherein, when acquiring and editing a search target record indicated by a next index record, upper hierarchy information is edited using the hierarchy structure information.
前記検索された索引レコードが指し示す検索対象レコードが指し示す検索対象レコードが階層構造上、下部レコードとして包含関係にある場合に、前記下部レコードを検索データとして編集せずに、下部レコードを持つ検索対象レコードに下部レコードを有することを示す情報を編集する請求項記載の情報検索方法。If the search target record indicated by the searched record pointed to by the searched index record has an inclusive relationship as a lower record in a hierarchical structure, the search target record having the lower record is not edited as the search data. 5. The information search method according to claim 4 , wherein the information indicating that the record has a lower record is edited. 一部または、全部のレコードに配下に属する下部レコードと、該下部レコードも配下に属する下部レコードを有する階層構造を有する検索対象レコードをキーワードで検索する情報検索装置であって、
検索対象レコードを階層構造を保って一次元に配列した検索対象レコードからなる検索本体データと、
前記検索対象レコードへの実ポインタ情報と、該検索対象レコードの最上位レコードへのトップポインタ情報を組にして持つ索引レコードからなるインデックスデータと、
前記キーワードと該当する前記インデックスデータの索引レコードを検索するインデックス検索手段と、
前記インデックス検索手段により取得した前記索引レコードのポインタ情報に基づいて前記検索本体データの検索対象レコードを検索する検索対象レコード検索手段と、
前記検索対象レコード検索手段により検索された前記検索対象レコードを前記階層構造に従って編集する検索レコード編集手段と
を有することを特徴とする情報検索装置。
An information search device that searches for a search target record having a hierarchical structure including lower records belonging to some or all records and lower records belonging to the lower records and lower records also belonging to the lower records, using a keyword,
Search body data consisting of search target records in which search target records are arranged one-dimensionally while maintaining a hierarchical structure,
The actual pointer information to the searched record, and index data composed of index records with by the top pointer information to the top-level record of the search target record in the set,
Index search means for searching for an index record of the index data corresponding to the keyword,
Search target record search means for searching a search target record of the search body data based on pointer information of the index record obtained by the index search means,
Search record editing means for editing the search target record searched by the search target record search means according to the hierarchical structure ,
An information retrieval device, comprising:
前記インデックス検索手段は、
検索した前記索引レコードをトップポインタ情報と実ポインタ情報の昇順にソートするソート手段と、
重複したポインタ情報を持つ索引レコードを削除する重複索引レコード削除手段とを含む請求項記載の情報検索装置。
The index search means,
Sorting means for sorting the searched index records in ascending order of top pointer information and real pointer information;
7. The information retrieval apparatus according to claim 6 , further comprising: a duplicate index record deletion unit for deleting an index record having duplicate pointer information.
前記検索対象レコード検索手段は、
前記索引レコード検索手段において取得した前記索引レコードのトップポインタから該索引レコードの実ポインタまで、前記検索本体データの検索対象レコードを取得する手段を有し、
前記検索データ編集手段は、
前記実ポインタが指し示す前記検索対象レコードの上位の階層構造を逐次取得して編集する手段を有する請求項記載の情報検索装置。
The search target record search means,
From a top pointer of the index record obtained in the index record search means to a real pointer of the index record, a means for obtaining a search target record of the search body data,
The search data editing means,
7. The information retrieval apparatus according to claim 6, further comprising means for sequentially acquiring and editing a higher-order hierarchical structure of the search target record indicated by the real pointer.
前記索引レコードを検索した際に得られたポインタ情報の順序で、前記トップポインタ情報が同一の索引レコードに対して、前記トップポインタ情報で取得される検索対象レコードから該索引レコードの実ポインタ情報を指す検索対象レコードまでの上位の階層構造情報を保存する階層構造情報保持手段と、
逐次検索対象レコードを取得する毎に、階層構造情報を更新する階層構造情報更新手段と、
次の索引レコードが指す検索対象レコードを取得すると、前記階層構造情報を用いて、上位の階層情報を編集する階層情報編集手段を有する請求項記載の情報検索装置。
In the order of the pointer information obtained at the time of searching the index record, for the index record having the same top pointer information, the actual pointer information of the index record is obtained from the search target record obtained by the top pointer information. Hierarchical structure information holding means for storing upper hierarchical structure information up to the record to be searched for;
A hierarchical structure information updating means for updating the hierarchical structure information each time a sequential search target record is acquired;
7. The information search apparatus according to claim 6 , further comprising a hierarchy information editing unit that, when a search target record indicated by the next index record is obtained, edits higher-level hierarchy information using the hierarchy structure information.
前記階層情報編集手段は、
前記検索された索引レコードが指し示す検索対象レコードが階層構造上、下部レコードとして包含関係にある場合に、前記下部レコードを検索データとして編集せずに、下部レコードを持つ検索対象データに下部レコードレコードを有することを示す情報を編集する手段を含む請求項記載の情報検索装置。
The hierarchical information editing means,
If the search target record indicated by the searched index record has an inclusive relationship as a lower record on the hierarchical structure, the lower record is not edited as the search data, and the lower record record is added to the search target data having the lower record. The information retrieval apparatus according to claim 9 , further comprising means for editing information indicating that the information is included.
JP18786796A 1996-07-17 1996-07-17 Information retrieval method and device Expired - Lifetime JP3564590B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18786796A JP3564590B2 (en) 1996-07-17 1996-07-17 Information retrieval method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18786796A JP3564590B2 (en) 1996-07-17 1996-07-17 Information retrieval method and device

Publications (2)

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

Family

ID=16213613

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18786796A Expired - Lifetime JP3564590B2 (en) 1996-07-17 1996-07-17 Information retrieval method and device

Country Status (1)

Country Link
JP (1) JP3564590B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023211093A1 (en) * 2022-04-24 2023-11-02 박종배 Method and system for generating connected knowledge through knowledge intersection and knowledge connection

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05207150A (en) * 1992-01-27 1993-08-13 Nippon Telegr & Teleph Corp <Ntt> Information service system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023211093A1 (en) * 2022-04-24 2023-11-02 박종배 Method and system for generating connected knowledge through knowledge intersection and knowledge connection

Also Published As

Publication number Publication date
JPH1031681A (en) 1998-02-03

Similar Documents

Publication Publication Date Title
KR100285265B1 (en) Inverse index storage structure using sub index and large objects for tight coupling of database management system and information retrieval
US5813000A (en) B tree structure and method
US6330567B1 (en) Searching system for searching files stored in a hard disk of a personal computer
US6212525B1 (en) Hash-based system and method with primary and secondary hash functions for rapidly identifying the existence and location of an item in a file
US6862602B2 (en) System and method for rapidly identifying the existence and location of an item in a file
JP2638307B2 (en) How to search the database directory
US20010048752A1 (en) Electronic-program-guide retrieval method and electronic-program-guide retrieval system
CN1975721B (en) Method and apparatus for managing content file information
CN1203678A (en) System for storing and retrieving digitized data
US20030023584A1 (en) Universal information base system
JP3564590B2 (en) Information retrieval method and device
US7870138B2 (en) File storage and retrieval method
EP1116137B1 (en) Database, and methods of data storage and retrieval
JPH07234879A (en) Information processor and data base retrieving method
US6735584B1 (en) Accessing a database using user-defined attributes
JPH0561910A (en) Full sentence index retrieving method
US6738771B2 (en) Data processing method, computer readable recording medium, and data processing device
JP3260706B2 (en) A search system that searches for files stored on the hard disk of a personal computer
CN110347804B (en) Sensitive information detection method of linear time complexity
US7720805B1 (en) Sequential unload processing of IMS databases
JP2003058559A (en) Document classification method, retrieval method, classification system, and retrieval system
JP4081236B2 (en) Database processing method
JP5595957B2 (en) Access log processing system and method, program, and access log storage / retrieval device
JPH0689215A (en) Computer system for information retrieval and operating method of memory device of system thereof
JP2001318935A (en) Information processor, its method, recording medium recording information processing software, and relational database

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