JPH08101843A - 情報検索装置 - Google Patents

情報検索装置

Info

Publication number
JPH08101843A
JPH08101843A JP6259656A JP25965694A JPH08101843A JP H08101843 A JPH08101843 A JP H08101843A JP 6259656 A JP6259656 A JP 6259656A JP 25965694 A JP25965694 A JP 25965694A JP H08101843 A JPH08101843 A JP H08101843A
Authority
JP
Japan
Prior art keywords
name
value
list
association
registered
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.)
Pending
Application number
JP6259656A
Other languages
English (en)
Inventor
Tomoya Yamauchi
智也 山内
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP6259656A priority Critical patent/JPH08101843A/ja
Publication of JPH08101843A publication Critical patent/JPH08101843A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 複数の連想リストによって記憶される情報の
登録と検索を効率よく高速に行うことのできる情報検索
装置を提供する。 【構成】連想リストの登録される名前に対して連続した
整数値を与える名前表と、前記整数値によりインデクス
される位置に連想リストの名前に対応する値を保持する
値配列と、連想リスト群の優先順位に応じて連結される
値配列のリストからなる優先順位表と、連想リストに対
する名前の検索を行う場合、名前表から名前に対応する
整数値を得て、検索対象の連想リストに対応する値配列
から前記整数値によりインデクスされる値を得て、指定
された名前を解決する検索制御手段とを備える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、情報検索装置に関し、
特に、複数の連想リストを用いて記憶される情報の登録
と検索を、連想リストに対応する値配列を用いて効率よ
く高速に行うことのできる情報検索装置に関する。本発
明の情報検索装置の技術は、特に、キーを共有する複数
の連想リストによって記憶された情報の登録と検索を行
う場合に好適に利用できる。
【0002】
【従来の技術】従来から、記憶場所がその位置の名前で
なく、記憶内容またはその一部によって識別される記憶
装置として、連想記憶方式の記憶装置が知られている。
このような連想記憶方式による記憶装置をリスト処理で
用いる場合の記憶装置として、連想リストがある。連想
リストでは、名前と値との組を記憶し、名前での検索に
対して、組となっている値を出力する。連想リストは、
離散的なキーを持つ値の記憶形式として多く用いられて
いる。
【0003】このような連想リストは、一般的には、名
前と値との組から構成される複数の表として実現され
る。連想リストを構成する複数の表を使用し、各々の連
想リストに対して、それぞれに優先順位を付けて検索を
行う検索処理は、例えば、プログラム言語を解釈する言
語処理系(コンパイラ)において、名前の通用範囲を処
理する場合などに多く用いられる。
【0004】優先順位を付けた連想リスト群に対する名
前の検索処理は、複数の連想リストに対してその優先順
位の順に逐次検索を行い、名前が解決された時点(名前
が見つけられた時点)で終了するという処理が一般的で
ある。
【0005】このような複数の連想リストを逐次検索す
る検索方式では、低い優先順位でのみ登録されている名
前の解決(検索処理)に、非常に時間がかかるという難
点を有している。これは、キーワードなどのシステム定
義名を再定義する場合、システム固有の定義名よりも優
先順位が高く設定されるので、最も頻繁にアクセスされ
るであろうシステム定義名に対する検索効率が低下す
る。したがって、このような検索方式を用いる場合に
は、システム全体の処理効率を低下させることになる。
【0006】これに対して、システム定義名に対する検
索効率を低下させず、優先順位をつけた連想リスト群に
記憶された全ての名前を高速に検索する検索方式とする
ためには、例えば、連想リスト群の全ての連想リストに
登録された名前を単一の名前表に登録し、個々の名前に
対応する値のうち最も優先順位の高い連想リストに登録
されたものを、その名前表から直接に得られるような構
成とする。このような構成とすると、名前の検索と解決
とは、高速化されるが、連想リスト群への連想リストの
追加や連想リスト群からの連想リストの削除に余計な手
間を必要とするという難点が生ずる。
【0007】文献「情報処理シリーズ7 A.V.エイ
ホ・J.D.ウルマン著/土居範久訳『コンパイラ』,
304頁〜312頁」では、このような連想リストの削
除を同一の有効範囲に存在する名前をつなぐリンクを使
用して行うことにより、効率の改善を図かる手法が紹介
されている。なお、有効範囲の議論と、ここでの複数の
連想リストに関する議論は本質的に同一のものである。
【0008】
【発明が解決しようとする課題】具体例により、従来の
情報検索装置における連想リストの問題点を説明する。
図6〜図9は、このような従来の情報検索装置における
連想リストの構成の例と共に、連想リストの動作を説明
する図である。図6に従来の情報検索装置の連想リスト
の構造を示し、図7に連想リストに名前「bar」とその
実体を登録した状態を示している。また、図8は別の連
想リストに名前「foo」とその実体を登録した状態を示
しており、図9には連想リストを優先順位表から削除し
た状態を示している。
【0009】図6〜図9を参照して説明する。図6〜図
9において、60は名前表、61は第1の連想リスト、
62は第2の連想リスト、63は優先順位表である。名
前表60には、連想リストとして登録する「名前と値の
組」の名前を登録する。第1の連想リスト61または第
2の連想リス62には「名前と値の組」の値(実体)を
登録する。優先順位表63は、複数の連想リストの各々
に優先順位を与えるリスト(表)であり、優先順位の高
い連想リストから低い連想リストを順にリンクしている
リストとなっている。
【0010】図6に示すように、情報検索装置における
連想リストのエントリは、単一の名前表60から対応す
る名前と実体の組としてリンクが張られている。例え
ば、名前「foo」はその実体が第1の連想リスト61の
みに登録されており、また、名前「bar」はその実体が
第2の連想リスト62のみに登録されている。これらの
ように単一の連想リストにのみその実体が登録されてい
る名前は、名前表60のエントリからその名前に対応す
る実体が登録されている各々の連想リストのエントリに
対して直接にリンクが張られている。
【0011】これに対して、名前「baz」はその実体が
第1の連想リスト61および第2の連想リスト62に登
録されている。このように複数の連想リストにその実体
が登録されている名前に対しては、最も高い優先順位を
有する第1の連想リスト61の名前「baz」に対応する
エントリに対して、名前表60の名前「baz」のエント
リからリンクが張られ、次の優先順位を有する第2の連
想リスト62の名前「baz」のエントリに対して、第1
の連想リスト61の名前「baz」のエントリからのリン
クが張られることで、名前表60のリンクから優先順位
の順に登録されたエントリを辿れるように構成されてい
る。
【0012】したがって、図6に示す連想リストに対す
る検索を行う場合、それぞれの名前から実体を得る処理
は、名前表60から検索対象の名前を得て、そのリンク
の先に置かれている実体を取り出すことにより行う。次
に、このような連想リストに対して、「名前と値の組」
のデータ(連想リストのエントリ)を登録し、また、削
除する場合の操作について説明する。
【0013】第1の連想リスト61に、更に名前「ba
r」の実体を登録した状態を図7に示している。図7に
おいて、ここで新たに登録した名前「bar」の実体は、
第1の連想リスト61の新たなエントリに記憶され、名
前表60の名前「bar」のエントリからのリンクは、第
1の連想リスト61の名前「bar」の実体のエントリへ
のリンクに変更される。そして、第1の連想リスト61
の名前「bar」の実体のエントリから、名前表60の名
前「bar」のエントリからリンクの張られていたリンク
先であった第2の連想リスト62の名前「bar」の実体
のエントリに対して新たなリンクが張られる。このよう
にして、優先順位が最も高い連想リストへの名前の登録
が行われる。
【0014】また、第2の連想リスト62に名前「fo
o」の実体の登録を行う場合について説明する。この場
合の名前「foo」の実体の登録を行った結果の状態は、
図8に示すようになる。図8を参照して、ここでの名前
「foo」の実体の登録の操作について説明する。
【0015】まず、ここでの登録対象である第2の連想
リスト62が、名前「foo」の実体を登録した最高の優
先順位の連想リストでないことを判定すると、名前表6
0により名前「foo」のエントリからリンクを辿って登
録対象である第2の連想リスト62の直近の上位の優先
順位を有する連想リストを調ベる。この場合には、第1
の連想リスト61がそれに該当する。
【0016】続いて、登録対象である第2の連想リスト
62に名前「foo」の実体のエントリを新たに生成し、
このエントリに対して、直近の上位の優先順位を有する
第1の連想リスト61の名前「foo」の実体のエントリ
からのリンクを生成する。なお、この場合において、図
8では示されていないが、第1の連想リスト61の名前
「foo」の実体のエントリから別の連想リスト(例えば
第3順位以下の優先順位を有する連想リスト)に対して
リンクが張られていれば、そのリンク先と第2の連想リ
スト62の名前「foo」の実体のエントリとの間のリン
クを張る必要がある。
【0017】このように、最高の優先順位にない連想リ
ストへの名前の登録は、従来の情報検索装置において
は、名前表からリンクを辿ってその優先順位にもとづい
た適当な位置にエントリを配置し、更にその位置に応じ
てリンクを張り直す作業が必要となり、効率的な連想リ
ストへの名前の登録処理の実行が困難であるという問題
がある。
【0018】また、図9には、第1の連想リスト61を
優先順位表63から削除した結果の状態が示されてい
る。この場合、名前表60の名前「foo」からのリンク
は削除され、更に、名前「foo」そのものが名前表60
から削除される場合もあるが、ここでは、第1の連想リ
スト61が削除された結果、名前表60の名前「baz」
からのリンクは、第1の連想リスト61の名前「baz」
の実体のエントリから、そのリンク先である第2の連想
リスト62の名前「baz」の実体のエントリに張り直さ
れる。このように、優先順位表63から1つの連想リス
トを削除する場合には、その連想リストに張られている
リンクを全て次の優先順位を有する連想リストのエント
リに張り直す必要がある。
【0019】また、最高の優先順位ではなく、中間の優
先順位を有する連想リストを優先順位表63から削除し
た場合には、名前表60からそのリンクを辿って適当な
位置のリンクを全て修正しなければならないため、その
連想リストの変更,削除など編集の処理の負荷は更に大
きくなる。
【0020】このような連想リストの削除処理における
効率改善を行ったとしても、連想リスト群への連想リス
トの追加削除の対象となる連想リストに関係して登録さ
れた名前の数だけのリンクの操作を行う必要があり、未
だ効率改善の余地が存在している。
【0021】また、PostScriptやSPDL(Standard Pa
ge Description Language)の処理系において用いられる
辞書のように、単一の連想リスト群としてのアクセスと
個別の連想リストとしてのアクセスとが同時に実行可能
な場合には、個別の連想リストへの名前の登録に対し
て、 登録対象の連想リストが連想リスト群に含まれている
か否かの判定操作と、 上記判定の結果、連想リスト群に含まれていることが
判定した場合に、上記連想リスト群に対する名前表の適
当な位置、すなわち、登録対象の連想リストの連想リス
ト群の中での優先順位に対応した位置への登録操作と の2つの余分な操作が必要となる。
【0022】更に、PostScriptおよびSPDLに用意さ
れている実行環境において、保存と回復の処理を実行す
る場合には、個別の連想リストへの値の登録と削除の処
理、もしくは連想リストの連想リスト群への追加と削除
の処理とが大量に発生し、上記効率の問題がさらに重大
化する。
【0023】本発明は、このような問題点を解決するた
めになされたものであり、本発明の第1の目的は、複数
の連想リストによって記憶される情報の登録と検索を効
率よく高速に行うことのできる情報検索装置を提供する
ことにある。また、本発明の第2の目的は、優先順位を
有する連想リスト群を用いた名前の解決を効率的に行う
ことのできる情報検索装置を提供することにある。
【0024】
【課題を解決するための手段】上記のような目的を達成
するため、本発明による情報検索装置は、連想リストの
登録される名前に対して連続した整数値を与える名前表
(11,51)と、前記整数値によりインデクスされる
位置に連想リストの名前に対応する値を保持する値配列
(13,14,53)と、連想リスト群の優先順位に応
じて連結される値配列のリストからなる優先順位表(1
2,52)と、連想リストに対する名前の検索を行う場
合、名前表から名前に対応する整数値を得て、検索対象
の連想リストに対応する値配列から前記整数値によりイ
ンデクスされる値を得て、指定された名前を解決する検
索制御手段(15,55)とを備えることを特徴とす
る。
【0025】また、ここでの検索制御手段(15,5
5)は、連想リスト群に対する名前の検索を行う場合、
名前表から名前に対応する整数値を得て、前記優先順位
表により示される順に値配列の前記整数値によってイン
デクスされる値を得て、その値がヌルでなければ、その
値を出力して指定された名前を解決し、ヌルであれば、
連想リストの次の値配列を検査することを特徴とする。
【0026】
【作用】本発明の情報検索装置においては、名前表によ
り、連想リストの登録される名前に対して連続した整数
値を与え、値配列は、前記整数値によりインデクスされ
る位置に連想リストの名前に対応する値を保持する。優
先順位表は、連想リスト群の優先順位に応じて連結され
る値配列のリストから構成されている。連想リストに対
する名前の検索を行う場合、検索制御手段により、名前
表から名前に対応する整数値を得て、検索対象の連想リ
ストに対応する値配列から前記整数値によりインデクス
される値を得て、指定された名前を解決する。
【0027】また、ここでの検索制御手段は、連想リス
ト群に対する名前の検索を行う場合においては、名前表
から名前に対応する整数値を得て、前記優先順位表によ
り示される順に値配列の前記整数値によってインデクス
される値を得る。そして、その値がヌルでなければ、そ
の値を出力して指定された名前を解決し、その値がヌル
であれば、連想リストの次の値配列を検査する。
【0028】これにより、本発明の情報検索装置におい
ては、すベての連想リストに登録された名前を単一の名
前表に登録するため、その名前の登録された連想リスト
の実体がいずれにあるかに関係なく、一回の検索処理に
より、名前に対応する整数値に変換することができる。
また、個別の連想リストに対する名前の検索では、名前
表により得られた整数値によってインデクスされる値配
列を参照するのみで、名前の解決が終了するため、個々
の連想リストが名前表を有する従来の情報検索装置とほ
ぼ同等の時間での名前の解決が可能となる。
【0029】更に、優先順位を有する連想リスト群に対
する名前の検索においても、この情報検索装置では、名
前表から整数値を得る処理を単一の名前表により行って
いるため、従来の単一の名前表による検索と、この時点
での検索時間がほぼ同一である。その後は、値配列の参
照と値のヌル値検査の繰り返しであるため、連想リスト
の検索の繰り返しに比較して非常に少ない検索時間での
検索が可能となる。
【0030】更に、また、連想リスト群に対する名前の
検索が、その連想リスト群を構成する個々の連想リスト
に対応する値配列に対して実行されるため、連想リスト
群の中の連想リストに対して値の登録・削除の編集が行
われても、その値の登録・削除の結果を、個別の連想リ
ストに対応する値配列のみに反映させれば良い。連想リ
スト群への追加・削除についても、連想リストのリスト
に対する連想リストに対応する値配列の追加・削除のみ
が要求されるだけであり、その値の操作が不要である。
このため、非常に効率的に、連想リストに対して値の登
録・削除の編集が実行できる。
【0031】
【実施例】以下、本発明の実施例を図面を参照して具体
的に説明する。図1は本発明の一実施例にかかる情報検
索装置の要部の構成を示すブロック図である。図1にお
いて、11は名前表、12は優先順位表、13は第1の
値配列、14は第2の値配列、15は処理制御部であ
る。名前表11は、連想リストとして登録する「名前と
値の組」の名前を登録し、当該名前に対して連続した整
数値を与える。第1の値配列13および第2の値配列1
4は名前表の整数値によりインデクスされ、こられの値
配列には「名前と値の組」の値(実体)を指示するポイ
ンタを登録する。優先順位表12は、複数の連想リスト
に対応する値配列の各々に優先順位を与えるリスト
(表)であり、優先順位の高い値配列から低い値配列を
順にリンクしているリストとなっている。
【0032】処理制御部15は、連想リストに対する名
前の検索を行う場合に、名前表11から名前に対応する
整数値を得て、検索対象の連想リストに対応する値配列
(13,14)から前記整数値によりインデクスされる
値を得る。これにより、指定された名前を解決する。こ
の名前の解決の結果、値配列によって得られ値(ポイン
タ)によって、名前に対応した値(実体)を得る。
【0033】すなわち、ここで検索される名前は、ま
ず、名前表11を通して連続する整数値に変換される。
図1では名前表11の各行の左側に名前が、右側に名前
に対応する整数値が示されている。例えば、名前「ba
z」に対応する整数値は“3”となっている。名前表1
1における名前から整数値を取得するための検索方法と
しては、ハッシュ表や、ヒープなどを用いる任意の検索
方法が利用できる。また、後述するように、ここで得ら
れた整数値に対しては、MOD演算(剰余計算)を行っ
たものを用いる構成とすることにより、値配列の大きさ
を所定の大きさに制限したものとして構成できる。
【0034】例えば、名前「baz」の実体の取得では、
名前表11より名前「baz」に対応する整数値“3”を
取得し、次に、優先順位表12の値配列のリスト上で優
先順位の最も高い第1の値配列13において、先に得た
整数値“3”によりインデクスされる3行目にアクセス
し、その第1の値配列13の値から名前「baz」の実体
が格納されているポインタを得る。
【0035】また、名前「bar」のように、優先順位の
最も高い第1の値配列13に実体がない(ヌル:図1で
は斜線で示されている)場合には、その実体の取得は、
前述した名前「baz」の実体の取得の場合と同様にし
て、まず、名前表11より名前「bar」に対応する整数
値“4”を取得し、この取得した整数値“4”をインデ
クスとして、優先順位表12の値配列のリスト上で最も
高い優先順位を有する第1の値配列13の4行目にアク
セスする。ここでは、第1の値配列13の4行目には実
体がないので、次の優先順位を有する第2の値配列14
の4行目にアクセスする。そして、第2の値配列14か
ら名前「bar」の実体を指示しているポインタを得て、
その実体を取得する。なお、優先順位表12の値配列の
リスト上のすベての値配列にアクセスした結果、実体が
得られなければ、その名前に対する検索は失敗となる。
【0036】次に、このように構成される情報検索装置
の構成において、その連想リストの内容(名前と値の
組)を登録または削除する編集を行う場合の処理例につ
いて、図2〜図4を参照して説明する。図2は、図1の
状態から更に第1の値配列13に名前「bar」とその実
体を登録した後の状態を示す図であり、図3は、図1の
状態から更に第2の値配列14に名前「foo」とその実
体を登録した後の状態を示す図であり、図4は、図1の
状態から第1の値配列13を削除した後の状態を示す図
である。
【0037】図2を参照する。連想リストとして名前
「bar」とその実体を登録する場合、まず、名前「bar」
に対する整数値を取得するため、名前表11を検索す
る。この名前「bar」の連想リストは、ここでは既に第
2の値配列14に登録されているため、名前表11に既
に登録されており、対応する整数値としては“4”が与
えられている。
【0038】名前表11から得られた整数値“4”によ
り、値配列に登録する位置は、整数値“4”でインデク
スされる位置となる。このため、ここでは空状態となっ
ていた第1の値配列13の4行目に、名前「bar」の実
体を登録するためポインタを格納する。これにより、以
後は、優先順位表12の値配列のリストを通したアクセ
スを行うと、第1の値配列13上に登録された名前「ba
r」の実体が優先してアクセスされるようになる。な
お、この第1の値配列13上に登録される実体は、第2
の値配列14上に登録された名前「bar」の実体と同一
であっても、異なるものであっても構わない。
【0039】ところで、優先順位表12の値配列のリス
トを通して、名前「bar」とその実体を登録する場合に
おいても、上述した第1の値配列13に名前「bar」の
実体を登録する場合と同様に、まず、名前表11を通し
て、名前「bar」に対応する整数値“4”が得る。次
に、優先順位表12の値配列のリストから判定して、最
も高い優先順位の高い第1の値配列13に、その実体を
登録する操作を行う。このため、登録された結果は、第
1の値配列13を明示的に指定して登録した場合と同様
に、図2に示すような状態となる。
【0040】次に、第2の値配列14を明示的に指定し
て名前「foo」とその実体を登録する場合について説明
する。図3を参照する。この場合においても、前述の場
合と同様に、名前表11より名前「foo」に対応する整
数値として“1”を得て、整数値“1”によりインデク
スされる位置となっている第2の値配列14の1行目に
名前「foo」の実体を登録する。この結果、図3に示す
ような状態となる。
【0041】しかし、ここでの名前「foo」とその実体
を登録する場合、優先順位表12の値配列のリストを通
して登録を行う場合には、優先順位表12を参照する
と、まず、優先順位の高い方の第1の値配列13が指定
されて、第1の値配列13に名前「foo」とその実体が
登録されるため、図1に示されるような状態になる。こ
の状態においては、既に第1の値配列13の1行目に
は、名前「foo」に対応する実体が登録されているた
め、それを削除し、新しい「foo」の実体が登録される
こととなる。つまり、この場合は更新されることにな
る。
【0042】次に、優先順位表12の値配列のリストか
ら第1の値配列13を削除する場合の操作について説明
する。図4を参照する。この場合については、単純に第
1の値配列13を優先順位表12の値配列のリストから
削除するだけで十分であり、名前「baz」の実体のよう
に、第1の値配列13と第2の値配列14との双方に登
録されていた実体は、優先順位表12の値配列のリスト
上から削除されることにより、第2の値配列14に登録
された値は、優先順位表12の値配列のリストを通して
アクセスされた場合に優先して出力される。つまり、優
先順位表12の値配列のリスト上から第1の値配列13
を削除した結果の状態は、図4に示されている状態とな
っている。
【0043】なお、このように、優先順位表12の値配
列のリストから第1の値配列13を削除した場合におい
ても、特に、第1の値配列13を明示した場合には、優
先順位表12の値配列のリスト上に第1の値配列13が
置かれていなくても、全く同等の操作によって、名前表
から名前に対する整数値を得て、その名前の実体の検索
を行うことが可能である。
【0044】以上に説明した実施例の情報検索装置は、
名前表に登録された全ての名前の数と同じ大きさの値配
列を設けることを前提としたものであり、このため、連
想リストの名前として多くの名前を使用し、複数の連想
リストの間の名前の重複が少ない場合には、値配列にお
ける空エントリが多くなる。このため、メモリ空間を有
効利用できない場合がある。
【0045】これに対しては、連想リストの名前として
多くの名前を使用しても、同じ値配列を重複してインデ
クスする構成として、値配列におけるエントリを有効に
利用できるように変形できる。次に、このような場合の
変形例について説明する。図5は、多くの名前を使用す
る場合に対応して変形した情報検索装置の要部の構成を
示すブロック図である。次に、図5を参照して説明す
る。
【0046】つまり、この変形例の情報検索装置では、
名前表から得られる整数値に対しては、MOD演算(剰
余計算)を行ったものを用いる構成とする。これによ
り、値配列のインデクスとして用いる整数値は所定数に
限られたものとなり、値配列の大きさを所定の大きさに
制限したものとして構成できる。
【0047】図5に示すように、例えば、値配列53の
大きさを「8」にして、名前表51から得られる整数値
に対しては、値配列53の大きさのサイズ“8”による
剰余演算を行い、その演算結果によって値配列53への
アクセスを行うように構成する。つまり、図5に示す情
報検索装置の構成において、名前「xyzzy」に対する検
索が発生した場合、処理制御部55は、名前表51を検
索して、当該名前「xyzzy」に対応する整数値“17”
が得るが、更に、この整数値に対して、値配列のサイズ
“8”での剰余演算を行い、その演算結果“1”によっ
て、値配列53の1行目へのアクセスを行う。値配列5
3に登録された各々の実体54には、名前に対応する整
数値が与えられており、値配列53上に複数の実体54
が登録されている場合、名前表51から得られた整数値
と、値配列53上の実体に付加された整数値とを比較す
ることにより、適当な実体を得る。
【0048】このように、処理制御部55が、名前表5
1から得られる整数値に対して剰余演算を行う構成とす
ることで、値配列53の大きさを制限し、値配列53の
各行に複数の連想リストの実体54を置くことが可能に
なり、サイズの縮小が可能となる。特に、重複する名前
が少ない連想リスト群に使用する場合においては、各々
の値配列のサイズを適当に設定することにより、値配列
での重複による検索の負荷を負やすことなく、効率的に
値配列の容量を削減することが可能になる。
【0049】なお、ここでは値配列53に登録した検索
において、名前に対応する値配列のサイズでの剰余演算
を行い、その演算結果の値を用いて値配列に登録された
実体をアクセスする構成としたが、値配列のサイズを2
の累乗とすることで剰余演算に替えて、論理積計算を使
用することができる。これにより、値配列のアクセスの
更に高速化が可能となる。
【0050】
【発明の効果】以上、説明したように、本発明の情報検
索装置によれば、複数の連想リストに対する優先順位を
持った検索を容易に、かつ高速に実行できる。このた
め、連想リストに対する別の名前のアクセスへの対応お
よび連想リストの追加・削除など言語処理で多く用いら
れる操作を効率よく行える。
【図面の簡単な説明】
【図1】 図1は本発明の一実施例にかかる情報検索装
置の要部の構成を示すブロック図、
【図2】 図2は図1の状態から更に第1の値配列13
に名前「bar」とその実体を登録した後の状態を示す
図、
【図3】 図3は図1の状態から更に第2の値配列14
に名前「foo」とその実体を登録した後の状態を示す
図、
【図4】 図4は図1の状態から第1の値配列13を削
除した後の状態を示す図、
【図5】 図5は多くの名前を使用する場合の情報検索
装置の構成の変形例を示すブロック図、
【図6】 図6は従来の情報検索装置の連想リストの構
造を示す図、
【図7】 図7は連想リストに名前「bar」とその実体
を登録した状態を示す図、
【図8】 図8は別の連想リストに名前「foo」とその
実体を登録した状態を示す図、
【図9】 図9には連想リストを優先順位表から削除し
た状態を示す図である。
【符号の説明】
11…名前表、12…優先順位表、13…第1の値配
列、14…第2の値配列、15…処理制御部、51…名
前表、52…優先順位表、53…値配列、54…連想リ
ストの実体、55…処理制御部、60…名前表、61…
第1の連想リスト、62…第2の連想リスト、63…優
先順位表。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 連想リストの登録される名前に対して連
    続した整数値を与える名前表と、 前記整数値によりインデクスされる位置に連想リストの
    名前に対応する値を保持する値配列と、 連想リスト群の優先順位に応じて連結される値配列のリ
    ストからなる優先順位表と、 連想リストに対する名前の検索を行う場合、名前表から
    名前に対応する整数値を得て、検索対象の連想リストに
    対応する値配列から前記整数値によりインデクスされる
    値を得て、指定された名前を解決する検索制御手段とを
    備えることを特徴とする情報検索装置。
  2. 【請求項2】 請求項1に記載の情報検索装置におい
    て、 前記検索制御手段は、連想リスト群に対する名前の検索
    を行う場合、名前表から名前に対応する整数値を得て、
    前記優先順位表により示される順に値配列の前記整数値
    によってインデクスされる値を得て、その値がヌルでな
    ければ、その値を出力して指定された名前を解決し、ヌ
    ルであれば、連想リストの次の値配列を検査することを
    特徴とする情報検索装置。
JP6259656A 1994-09-30 1994-09-30 情報検索装置 Pending JPH08101843A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6259656A JPH08101843A (ja) 1994-09-30 1994-09-30 情報検索装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6259656A JPH08101843A (ja) 1994-09-30 1994-09-30 情報検索装置

Publications (1)

Publication Number Publication Date
JPH08101843A true JPH08101843A (ja) 1996-04-16

Family

ID=17337083

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6259656A Pending JPH08101843A (ja) 1994-09-30 1994-09-30 情報検索装置

Country Status (1)

Country Link
JP (1) JPH08101843A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6625445B1 (en) 1998-09-25 2003-09-23 Nec Corporation Data transfer method and system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6625445B1 (en) 1998-09-25 2003-09-23 Nec Corporation Data transfer method and system

Similar Documents

Publication Publication Date Title
CN110083601B (zh) 面向键值存储系统的索引树构建方法及系统
US5287499A (en) Methods and apparatus for information storage and retrieval utilizing a method of hashing and different collision avoidance schemes depending upon clustering in the hash table
US4996663A (en) Methods and apparatus for decontaminating hash tables
US5442350A (en) Method and means providing static dictionary structures for compressing character data and expanding compressed data
JP3640978B2 (ja) ページテーブル中のハッシュアドレスタグを用いたメモリアドレス制御装置
US7873041B2 (en) Method and apparatus for searching forwarding table
JP2000357115A (ja) ファイル検索装置及びファイル検索方法
US20080288495A1 (en) Fast select for fetch first n rows with order by
JPH08101843A (ja) 情報検索装置
JPH1040255A (ja) ハッシュ表管理装置
US20050060314A1 (en) System and methods involving a data structure searchable with O(logN) performance
Lin Cat: An execution model for concurrent full text search
KR0165511B1 (ko) 중복 자료 구조 및 해싱 함수와 순차적 링크 리스트를 이용한 고속 정보 접근 방법
JP2560610B2 (ja) データ処理装置
JPH04112253A (ja) 多層バッファを用いるデータアクセス方法
JP2871755B2 (ja) ダイナミック・ハッシュにおけるスプリット制御方法
JPH04101272A (ja) データエレメント検索方法
JPS63280328A (ja) 複数の名称を持つデ−タの制御方式
JPH0528194A (ja) データアクセス方式
JPH0367344A (ja) ファイル管理処理方式
JPS633351A (ja) バツフア検索制御方式
JPS6234231A (ja) フアイル.デ−タ処理装置
JPH02293943A (ja) 索引順編成ファイルのレコード追加方式
JPH01175651A (ja) アドレス変換方式
JPS63285631A (ja) 索引ファイル更新処理方式