JPH06243009A - 全テキストインデックスを圧縮する方法 - Google Patents

全テキストインデックスを圧縮する方法

Info

Publication number
JPH06243009A
JPH06243009A JP5308060A JP30806093A JPH06243009A JP H06243009 A JPH06243009 A JP H06243009A JP 5308060 A JP5308060 A JP 5308060A JP 30806093 A JP30806093 A JP 30806093A JP H06243009 A JPH06243009 A JP H06243009A
Authority
JP
Japan
Prior art keywords
data
document
bits
value
data key
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
JP5308060A
Other languages
English (en)
Other versions
JP3550173B2 (ja
Inventor
Brian T Berkowitz
ティー バーコウィッツ ブライアン
Max L Benson
エル ベンソン マックス
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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JPH06243009A publication Critical patent/JPH06243009A/ja
Application granted granted Critical
Publication of JP3550173B2 publication Critical patent/JP3550173B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/328Management therefor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Preparation Of Compounds By Using Micro-Organisms (AREA)
  • Peptides Or Proteins (AREA)

Abstract

(57)【要約】 【目的】 全テキストインデックスを圧縮する方法であ
って、インデックスに必要なメモリオーバーヘッドがデ
ータベースに必要な記憶容量の僅かな部分であるように
する方法を提供する。 【構成】 複数のデータキーフィールドを含むテキスト
インデックスを記録する方法であって、各データキーフ
ィールドは、データキー識別子と、文書識別子データ
と、オフセットフィールドとを含み、文書識別子データ
は、データキー識別子が現れる各文書を識別するもので
あり、オフセットフィールドは複数のオフセットシーケ
ンスを含み、各オフセットシーケンスは、文書識別子デ
ータによって識別された各文書に関連されると共に、手
前のデータキーからのデータキーのオフセットを識別す
ることによりその関連文書内の各データキーの位置を識
別し、本発明により、文書識別子データとオフセットデ
ータフィールドを圧縮するようにした方法。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データベース記憶技術
に係り、より詳細には、全テキストインデックスを圧縮
する改良された方法に係る。
【0002】
【従来の技術】全テキストインデックスを記憶するため
のコンピュータデータベースがテキスト記憶及び検索に
対して一般的となってきている。これらデータベース
は、記憶されたテキスト内の特定のデータストリングに
対するインデックスをユーザがサーチできるようにす
る。典型的に、インデックスデータは、データベースの
テキストデータとは個別のデータ構造体に記憶され、そ
れ故、メモリオーバーヘッドを構成する。インデックス
はユーザが所望のデータストリングに対するテキストデ
ータを迅速にサーチできるようにするので、このメモリ
オーバーヘッドは正当とされる。しかしながら、インデ
ックスに必要とされるメモリオーバーヘッドを最小にす
ることが所望される。
【0003】
【発明が解決しようとする課題】多数の公知方法は、各
データストリングを識別しそしてそのデータストリング
が現れるデータベース内の各位置の識別子をデータスト
リングに関連させることによりインデックスを形成す
る。これらのインデックスは明らかにやっかいなもの
で、多量のメモリオーバーヘッドを使用する。同様に、
このようなインデックスを用いる他の公知方法は、必要
なメモリオーバーヘッドを減少するためにデータ圧縮技
術を使用している。しかしながら、これらの方法は、デ
ータベースに必要なメモリの50%ないし100%に等
しいインデックス用メモリを必要とし、即ち50%ない
し100%のオーバーヘッドを必要とする。
【0004】テキストインデックスを形成する他の方法
は、あるデータシーケンスにコードを指定し、データシ
ーケンスを上記したようにインデックスできるようにす
る。この方法は、データシーケンスに強力なパターンを
示すデータベースについては良好に機能するが、データ
シーケンスに比較的僅かなパターンしかもたないデータ
ベースには受け入れられない。それ故、インデックスに
必要なメモリオーバーヘッドがデータベースに必要な記
憶容量の20%未満であるようにして全テキストインデ
ックスを記憶する方法及び装置を提供することが所望さ
れる。
【0005】
【課題を解決するための手段】本発明は、複数の文書が
記憶されている記憶ボリュームのための内容インデック
スを与える形式のインデックスデータを記憶する方法を
提供する。各文書は独特の文書識別子を有し、複数のデ
ータキーを含んでいる。データキーのフィールドは、タ
ーゲットデータキーに対する記憶ボリューム内の発生数
及び位置を与える。この方法は、データキーフィールド
の目的であるターゲットデータキーを識別するためのデ
ータキー識別子を与える段階を備えている。ターゲット
データキーが配置された複数のターゲット文書を各々記
述する複数の文書識別子を含む文書データセットを定義
し、その後、第1の所定の圧縮機構に基づいてこの文書
データセットを文書識別子データに圧縮し、圧縮解除の
ときに、文書データセットが回復されるようにする。複
数のカウント値を与え、各カウント値は文書データセッ
ト内の複数の文書識別子の各々に関連したものであり、
そして各文書識別子により識別された文書におけるター
ゲットデータキーの発生数を識別する。又、この方法
は、複数のデータキーオフセット値のセットを与える段
階も備え、各々のデータキーオフセット値セットは上記
複数のカウント値の各々に関連され、そして各データキ
ーオフセット値セットは、各々のカウント値によって識
別されたターゲットデータキーの発生数に数値が等しい
複数のデータオフセット値を含んでいる。従って、各デ
ータキーオフセット値は、各データキーオフセット値セ
ットのカウント値に関連した文書識別子により識別され
た文書内におけるターゲットデータキーの位置を識別す
る。
【0006】本発明の第1の実施例では、文書識別子の
範囲の終了点として最小文書識別子及び最大文書識別子
を選択することにより文書識別子の範囲を定義する段階
を備えた方法によって文書データセットが圧縮される。
上記範囲が選択された後に、文書識別子の上記範囲の終
了点間の中点が識別され、文書識別子の上記範囲が第1
及び第2のグループに仕切られる。次いで、第1グルー
プと第2グループとの間の文書の分布を特徴付ける文書
識別子データを設けることによって文書識別子が圧縮さ
れ、文書識別子データは上記範囲内の文書識別子の各々
を識別するものである。
【0007】本発明の第2の実施例では、データビット
Nのベース数を選択する段階を含む方法に基づいて複数
のデータキーオフセット値が圧縮される。この方法で
は、更に、データキーオフセット値がエンコードされた
ことを指示するためにデービットのベース数から最上位
ビットの一部分rを選択し、そして残りの最下位データ
ビットqをベース数として識別し、r+q=Nとする段
階を備えている。その後に、r個の最上位ビットがセッ
トされない状態でデータキーオフセット値をNビットで
表すことができるかどうかの判断を行い、もしできるな
らば、データキーオフセット値をNビットで表示する。
しかしながら、r個の最上位ビットがセットされない状
態でデータキーオフセット値をNビットで表すことがで
きない場合には、r個の最上位ビットをセットし、そし
てこのr個の最上位ビットと共に使用されるデータキー
オフセット値のq個の最下位ビットをセットして、デー
タキーオフセット値の最上位ビットがエンコードされた
ことを指示する。
【0008】
【実施例】上記したように、本発明は、インデックスを
記憶するのに必要なメモリオーバーヘッドを最小にする
ようにして全テキストインデックスを記憶する方法を提
供する。一般に、本発明のインデックスは、複数のデー
タキーフィールド100を備え、その構造が図1に示さ
れている。各データキーフィールド100は、データキ
ー識別子102と、文書識別子データ104と、オフセ
ットフィールド106とを含んでいる。データキー識別
子102は、インデックスされるべきテキスト或いはデ
ータシーケンスを識別するのに使用されるデータワード
である。例えば、月刊誌のような定期刊行物からの文献
のテキストを記録するためのテキストデータベースを開
発することができる。テキストインデックスは、定期刊
行物の文献に現れるワードで構成される。テキストイン
デックスのデータキー識別子102は、定期刊行物内に
探索されるべき個別のワードを識別するのに使用される
ものである。
【0009】データキーフィールド100は、データキ
ー識別子102をその各々の文書識別子データ104及
びオフセットフィールド106に関連させるために設け
られる。文書識別子データ104は、データキー識別子
102に関連したテキストシーケンスが現れるデータベ
ースにおいて各文書を識別するデータである。上記の例
において、文書識別子データ104は、データキー識別
子102によって識別されたワードが現れる定期刊行物
データベースにおいて各文献を識別する。
【0010】オフセットフィールド106は、図2に示
すように、複数のオフセットデータシーケンス200−
1ないし200−iを備えている。本発明によれば、オ
フセットデータシーケンス200は、文書識別子データ
104(図1)によって識別された各文書ごとに設けら
れる。各オフセットデータシーケンス200は、複数の
オフセットnを含み、各オフセットは、そのオフセット
データシーケンスに対応する文書におけるデータキー識
別子102の位置を識別する。例えば、第1のオフセッ
トデータシーケンス200−1は、文書識別子データ1
04により識別された第1文書に対応する。オフセット
#1は、第1文書内のデータキー識別子102によって
識別されたテキストシーケンスの第1オフセットを識別
する。オフセット#2は、第1文書内のテキストシーケ
ンスの第2オフセットを識別し、等々となる。以下に詳
細に述べるように、本発明の現在好ましいと考えられる
1つの実施例は、各オフセットをその手前のオフセット
から測定することによりオフセットデータシーケンス2
00に与えられるオフセットの値を最小にするように構
成される。しかしながら、本発明の範囲から逸脱せずに
複数のオフセットを与える他の方法も存在することが当
業者に明らかであろう。
【0011】定期刊行物のデータベースの上記例を更に
説明すれば、所定ワードを識別するためにデータキー識
別子102が与えられる。データキーフィールド100
は、そのワードが現れる各文献を識別するためにこのデ
ータキー識別子102を文書識別子データと共に含んで
いる。オフセットフィールド106は、文書識別子デー
タ104により識別された各文書に関連したオフセット
のカウントを含む。各オフセットは、手前のオフセット
からのワードのオフセットを表す値を与えることにより
文書内のそのワードの位置を識別する。例えば、第1の
オフセットは、20であり、これはそのワードが文書の
20番目のワードとして最初に現れることを示す。第2
のオフセットは50であり、これはそのワードが2回目
に現れるのが最初の発生から50ワード目であり、文書
の始めから70ワードであることを示している。
【0012】上記した方法によれば、テキストインデッ
クスは、ユーザがオフセットデータシーケンスをデータ
ベース内で見つけられるように効率的に記憶することが
できる。テキストインデックスを記憶する上記の方法
は、メモリを効率的に保存し、メモリオーバーヘッドを
減少する。しかしながら、データキーフィールド100
の種々の成分を圧縮する方法を提供することにより、テ
キストインデックスを記憶するのに必要なメモリオーバ
ーヘッドの量のそれ以上の減少を達成することができ
る。特に、以下に詳細に述べるように、文書識別データ
104及びオフセットフィールド106を圧縮するため
の方法が提供される。
【0013】図3、4及び5には、上記複数のデータキ
ーフィールド100を与える方法が示されている。最初
に、ステップ300において、ターゲットデータキーと
称するテキストシーケンスを識別するためにデータキー
識別子102が指定される。ターゲットデータキーは、
データキーフィールドが所望される何らかのテキスト又
はデータシーケンスである。上記の例では、ターゲット
データキーは、定期刊行物のデータベースに現れる特定
のワードである。その後、ステップ302において、タ
ーゲットデータキーが現れる各文書が識別されて文書デ
ータセットが定められ、文書データセットは、ターゲッ
トデータキーが現れる各文書の文書識別子を含む。上記
例を更に参照すれば、文書データセットは、ターゲット
データキー即ち特定のワードが現れる各文献を識別する
ための文書識別子を含む。その後に、ステップ304に
おいて、文書データセットから第1文書が選択されて、
オフセットフィールド106(図1)が決定される。
【0014】オフセットフィールド106を形成するた
めに、ステップ306において、選択された文書におけ
るターゲットデータキーの発生数を決定し、その発生数
を表す現在値を与える。その後、ステップ308(図
4)において、データキーオフセットシーケンスが与え
られ、これは、上記したように第1文書内のターゲット
データキーの位置を指示する複数のデータキーオフセッ
ト値を含む。本発明の方法によれば、ステップ310に
おいて、当該文書のオフセットシーケンスを表すのに必
要なデータを最小にするために各データキーオフセット
シーケンスが圧縮される。データキーオフセットシーケ
ンスを圧縮するには種々の方法が使用できるが、本発明
のここに述べる好ましい実施例では、図6及び7を参照
して以下に詳細に述べるように、特定の方法が使用され
る。
【0015】選択された何らかの方法によってデータキ
ーオフセット値セットが圧縮された後に、ステップ31
2において、その圧縮されたデータがカウント値と共に
アッセンブルされ、選択された文書に対するオフセット
フィールドが作られる。次いで、文書データセット(上
記ステップ302で定めた)の最後の文書が選択された
かどうかの判断がなされ、もしそうでなければ、ステッ
プ316において、次の文書が選択され、文書データセ
ットで識別された各文書に対しオフセットフィールドが
与えられるまでステップ306ないし316が繰り返さ
れる。その後、ステップ318(図5)において、文書
データセットが圧縮されて、図1に示す文書識別子デー
タ104が作られる。ステップ310を参照して述べた
データキーオフセット値の圧縮と同様に、文書データセ
ットの圧縮は、公知の種々の方法で行うことができる。
しかしながら、文書データセットを圧縮するためのここ
に示す好ましい方法は、図8、9、10及び11を参照
して以下に説明する。
【0016】ステップ320において、データキー識別
子102、文書識別子データ及びオフセットフィールド
を用いて、データキーフィールド100が組み立てられ
る。ステップ322において、次のターゲットデータキ
ーを選択し、各ターゲットデータキーにデータキーフィ
ールド100が設けられるまで図3、4及び5の方法が
繰り返される。
【0017】上記したように、オフセットフィールド1
06及び文書識別子データ104は両方とも圧縮され、
複数のデータキーフィールド100を記憶するに必要な
メモリが減少される。又、上記したように、オフセット
フィールド106は、データキーの手前の位置を参照と
して使用して文書内のデータキーの位置を各々識別する
複数のオフセットを備えている。オフセットフィールド
106を圧縮するためのここに示す好ましい方法は、図
6及び7の判断流れ線図に示されている。
【0018】一般に、各オフセットデータシーケンス
(図4のステップ308)は、図6に示す方法に基づい
てシーケンスをエンコードすることにより圧縮される。
図6には、可変長さエンコード技術が示されており、先
ず、ステップ400において、参照数Nを、 2N >(max−min)/k (1) であるような最小の整数として定義する。ここで、ma
x(最大)は文書における最後のデータキーオフセッ
ト、即ち70番目のワードを識別するオフセットであ
り、そしてmin(最小)は文書における最初のデータ
キーオフセット、即ち20番目のワードを識別するオフ
セットであり、従って、最大−最小は、文書におけるデ
ータキーの範囲を指し、そして更に、kはステップ30
6(図3)を参照して上記したように文書におけるデー
タキーの数、即ちオフセットのカウントである。基準数
Nが定められた後に、エンコード変数EDが次のように
定められる。即ち、 ED=3x(2N-2 ) (2) EDは、2つの最上位ビットの両方を1に等しくセット
することなくNビットを用いて表すことのできる最大数
より1大きいものである。例えば、基準数Nが7に等し
い場合には、エンコード変数EDは96に等しい。この
例では、両方の最上位データビットをセットすることな
く表すことのできる最大数が95であり、即ち、両方の
最上位データビットをセットせずに表すことのできる最
大2進数は1011111であって、95に等しい。
【0019】図6に戻ると、ステップ404において、
各オフセットがエンコード変数EDと比較される。オフ
セット値が変数EDより小さく、上記例では95より小
さい場合には、ステップ406において、そのオフセッ
ト値はエンコードせずに使用される。しかしながら、オ
フセットが変数EDに等しいか又はそれより大きい場合
には、ステップ408において、そのオフセットの下位
のN−2ビットが「11」との組み合わせで使用され
る。当業者に明らかなように、エンコード変数EDより
小さいオフセットだけはエンコードせずに使用されるの
で、いかなるフィールドの2つの最上位ビットをセット
しても、オフセットがEDより大きいことが指示され、
そしてオフセットの最下位のN−2ビットのみが与えら
れる。別の言い方をすれば、フィールドの最上位2ビッ
トのいずれかがセットされないときには、オフセット値
が変数EDより小さく、上記例では96より小さく、そ
のフィールドはエンコードされない。逆に、フィールド
の両方の最上位ビットがセットされる場合には、オフセ
ット値が変数EDより大きく、フィールドはエンコード
される。
【0020】上記したように、オフセットが変数EDよ
り大きい場合には、そのオフセットの最下位のN−2ビ
ットが使用され、「11」と組み合わされて、フィール
ドがエンコードされたことを指示する。次いで、オフセ
ットの最上位ビットが、ステップ410において、所定
のエンコード方法によりエンコードされる。ステップ4
12において、インデックス変数jがオフセット値の数
と比較されて各オフセットがエンコードされたかどうか
判断され、もしそうでなければ、インデックス変数jは
ステップ414において増加され、そしてオフセットデ
ータシーケンスの各オフセットがエンコードされるまで
ステップ404ないし414が繰り返される。
【0021】残りのデータビットをエンコードするここ
に示す好ましい方法は、「マーカーエンコード方法」と
称するもので、ステップ410を参照して述べたが、こ
れが図7に示されている。図7を参照すれば、ステップ
500において、多数のインデックス値m、r及びbが
各々1にセットされる。その後、ステップ502におい
て、残りのビットの2進表示として、即ちエンコードさ
れるべきオフセットの最上位ビットとして(上記のステ
ップ410を参照)、Qが定められる。2進表示は非ゼ
ロであることが知られており、即ち1より大きいことが
知られているので、ステップ504において、Qから1
を減算し、残りのビットに対するメモリオーバーヘッド
を更に少なくする。その後に、ステップ505におい
て、第1のエンコードされたビットEQ1がQの最下位
ビットに等しくセットされる。例えば、図6のステップ
408及び410で最下位のN−2のビットが選択され
た後に残っているビットが次のものである場合には、 Q=1010 (3) ステップ504において、次のようになり、 Q−1=1001 (4) そしてステップ505において最下位ビット即ちEQ1
が1に等しくなる。その後、ステップ506においてイ
ンデックス変数b及びrが増加され、そしてステップ5
08においてインデックス変数rがインデックス変数m
と比較される。本発明の方法によれば、残りのビットの
数が小さいと仮定する。従って、最初はQの1ビットだ
けがエンコードされ、即ちN=1である。その後、更に
エンコードが必要な場合には、mが増加され、付加的な
ビットが以下に述べるようにエンコードされる。それ
故、mは、エンコードされるべき残りのビット数であ
る。ステップ508でのrとmの比較は、残りの適当な
数のビットがエンコードされたかどうか判断することで
ある。
【0022】上記例では、増加の後に、rは2に等しく
なりそしてmは1に等しくなり、従って、rはmより大
きくなり、ステップ510が実行され、mは1だけ増加
されそしてrは1の値に戻される。次いで、ステップ5
12において、Qは、最初のビット(1つ又は複数)が
エンコードされた後に残っているビットの2進表示に等
しくセットされる。上記例において、1001の最下位
ビットがエンコードされて、EQ1=1となった後に、
残りのビットの2進表示は「100」となる。ステップ
514においてQが0に等しい場合には、ステップ52
0においてこの方法は終了する。しかしながら、上記例
のように、Qが0に等しくない場合は、次にエンコード
されるビットがステップ516において1に等しくセッ
トされ、ステップ518においてインデックス変数bが
1だけ増加される。ステップ514においてQが0に等
しくなるまでステップ504ないし518が繰り返さ
れ、Qが0になった時点で、次にエンコードされるビッ
トEQbがステップ520において0に等しくセットさ
れる。
【0023】当業者に明らかなように、ステップ516
及び520は、エンコードが完了したかどうかの指示を
与えるように作用し、即ち「1」は更にエンコードが行
われることを指示し、一方「0」はエンコードが終了し
たことを指示する。更に、エンコードは一度に1ビット
づつ行うことができ、更にエンコードが存在するかどう
かを1つおきのビットが指示する。しかしながら、上記
したように、ステップ508の判断により、第1ビット
がエンコードされた後に指示が与えられる。この指示が
その後のエンコード動作を示す場合には、mが増加され
て2ビットがエンコードされた後に、指示が与えられ
る。この指示がそれに続くエンコード動作を示す場合に
は、mが増加されて、3ビットがエンコードされた後に
次の指示が与えられる、等々となる。当業者であれば、
エンコード動作を増加する他の方法が容易に明らかであ
ろう。
【0024】オフセットフィールド106(図1)を圧
縮するのに加えて、文書識別子データ104も圧縮され
る。文書識別子データ104を圧縮するためのここに示
す好ましい方法は、図8、9、10及び11の判断流れ
線図を参照して説明する。図1、3、4及び5を参照し
て上記した文書識別子データ104に関してこの方法を
説明したが、図8、9、10及び11に示された方法
は、データシーケンスに適用でき、特に、データが比較
的均一に分布されたデータシーケンスに適用できること
が当業者に明らかであろう。
【0025】図8、9、10及び11を参照し、仕切り
エンコード方法に従って文書識別子データをエンコード
する方法を説明する。ステップ600において、カウン
タj及びスタックが初期化される。カウンタjは、エン
コードされる文書識別子データのビットを識別するのに
使用され、これラビットは、ビット「a」のビットアレ
イDIjに記憶される。スタックは、図8、9、10及
び11の方法を以下で詳細に述べるように繰り返し実行
するように使用される。文書識別子データ又は他のシー
ケンスが最初に検査され、シーケンス中のエレメント
数、即ち文書識別子データによって識別された文書の数
K、シーケンス中のエレメントの最小値MIN、及びシ
ーケンス中のエレメントの最大数MAXの記述がなされ
る。その後に、ステップ602において、変数K、MI
NDOC及びMAXDOCが定義される。最初に、MI
NDOC及びMAXDOCが各々MIN及びMAXに等
しくされる。その後、MINDOCとMAXDOCとの
間の中点が、ステップ604において、Mとして次のよ
うに記述される。 M=セイリング((MINDOC+MAXDOC)/2) (5)
【0026】ステップ606において、上記範囲内の文
書数が上記範囲に等しいかどうか、即ち文書が互いに離
間されているかどうかを決定する判断がなされ、もしそ
うであれば、方法はステップ700へと続き、以下に述
べるようにスタックが評価される。その後、ステップ6
08において、その範囲内の文書の数が1に等しいかの
判断がなされ、もしそうであれば、文書識別子Kは、ス
テップ607及び609においてエンコードの次のtビ
ットとして使用され、方法はステップ700へと続く。
上記基準のいずれも真でなければ、ステップ610にお
いて、Mに等しいか又はそれより大きい文書識別子を有
する文書の数、及びMより小さい文書識別子を有する文
書の数として各々C+ 及びC- が定義される。C+ 及び
- は、ステップ612において、C+ がC- と「0」
だけ異なる(即ち、C+ はC- に等しい)か又は「1」
だけ異なる(即ち、C+ はC- より1大きいか1小さ
い)かを決定するための比較が行われ、もしそうであれ
ば、ステップ614及び616において、エンコードさ
れた識別子ビットが「0」に等しくセットされそしてイ
ンデックス変数jが1だけ増加される。しかしながら、
相当数の文書が上記範囲においてMより大きいか又は小
さい場合には、ステップ618において、エンコードさ
れたデータビットが「1」に等しくセットされる。その
後、ステップ620において、インデックス変数jが増
加される。次いで、ステップ622において、C+ がC
- より大きいかどうかの判断が行われ、もしそうであれ
ば、エンコードされたデータビットはステップ624に
おいて「0」に等しくセットされそしてもしそうでなけ
れば、エンコードされたデータビットはステップ626
において「1」に等しくセットされる。その後、インデ
ックス変数jはステップ628において再び増加され
る。次いで、ステップ632が実行され、上位範囲にお
ける文書の数と下位範囲における文書の数との差が表示
され、エンコードされた差は、ステップ634におい
て、エンコードされた文書識別子データの次のtビット
として使用される。その後、インデックス変数jがイン
デックス変数tだけ増加される。次いで、ステップ60
2へ復帰し、別の仕切りが識別される。
【0027】ステップ616(図9)へ戻ると、ステッ
プ612でC+ がC- と比較されてそれらが0だけ異な
るか1だけ異なるかが判断されそしてその比較結果が肯
定である場合にステップ614及び616において0の
エンコードビットが加えられた後に、その差の性質を特
徴付けるために追加のデータビットが与えられる。特
に、ステップ640においてC+ がC- より大きいかど
うかの判断がなされ、もしそうであれば、ステップ64
2において、次のエンコードデータビットとして0ビッ
トが与えられ、そしてステップ644においてjが1だ
け増加される。ステップ640においてC+ がC- より
大きくなければ、ステップ646においてC- がC+
り大きいかどうかの判断がなされる。もしそうであれ
ば、ステップ648において、次のエンコードデータビ
ットに1が加えられ、そしてステップ650においてイ
ンデックス変数jが1だけ増加される。C+ がC- に等
しく、即ちステップ640及び646の両方の判断が否
定であれば、追加のエンコードデータビットは加えられ
ない。当業者に明らかなように、ステップ610ないし
628及び640ないし650は、MINDOCないし
MAXDOCの範囲内における文書の分布を特徴付ける
ために設けられたものである。この範囲は値Mによって
仕切られ、そしてエンコードデータビットが与えられ、
その第1は、その範囲においてMより上にMの下と同数
の文書があるかどうかを識別し、そしてその第2は、そ
の範囲においてMの上の方がMの下のよりも多数の文書
が与えられるかどうかを識別する。
【0028】この方法を繰り返し実行できるように、ス
テップ610ないし628及び640ないし650によ
って特徴付けられた範囲が半分に分割され、各半分の範
囲に対してステップ604ないし636の方法が繰り返
される。スタックは、後で動作するためにセーブされた
その範囲の部分の状態を思い出すのに使用される。従っ
て、スタックの状態は1だけ増加され、そして思い出す
べき範囲の上位部分を定める変数がステップ702にお
いてスタックに記憶される。その後、仕切られた範囲の
下位部分に作用する変数がステップ704で定められ
る。同様に、ある範囲内の文書の数がステップ606に
おいてその範囲に等しいか又はある範囲内の文書の数が
ステップ608において1に等しいことが決定された後
に、ステップ700において、スタックを調べて、上位
部分がエンコードすべきものとして残っているかどうか
判断する。変数STATEが0に等しい場合には、上位
部分は残っておらず、この方法は終了となる。或いは
又、変数STATEが非ゼロの場合には、作用すべき範
囲がスタックへの最後の入力によって定められ、変数S
TATEは、ステップ706において、1だけ減少され
る。
【0029】以上、本発明の特定の実施例を説明した
が、本発明の精神及び範囲内で種々の変更がなされ得る
ことが当業者に明らかであろう。従って、本発明は、特
許請求の範囲のみによって限定されるものとする。
【図面の簡単な説明】
【図1】本発明の方法によって記憶されるテキストイン
デックスデータベースの全構造を示す図である。
【図2】本発明の方法によって記憶されるテキストイン
デックスのオフセットフィールドの構造を示す図であ
る。
【図3】テキストインデックスデータを記憶するための
本発明の方法を示す判断フローチャートである。
【図4】テキストインデックスデータを記憶するための
本発明の方法を示す判断フローチャートである。
【図5】テキストインデックスデータを記憶するための
本発明の方法を示す判断フローチャートである。
【図6】図1及び2に示したオフセットフィールドデー
タを記憶する方法の判断フローチャートである。
【図7】図1及び2に示したオフセットフィールドデー
タを記憶する方法の判断フローチャートである。
【図8】図1及び2に示した文書識別子データを記憶す
る方法の判断フローチャートである。
【図9】図1及び2に示した文書識別子データを記憶す
る方法の判断フローチャートである。
【図10】図1及び2に示した文書識別子データを記憶
する方法の判断フローチャートである。
【図11】図1及び2に示した文書識別子データを記憶
する方法の判断フローチャートである。
【符号の説明】
100 データキーフィールド 102 データキー識別子 104 文書識別子データ 106 オフセットフィールド 200 オフセットデータシーケンス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マックス エル ベンソン アメリカ合衆国 ワシントン州 98052 レッドモンド ノースイースト シックス ティファースト コート 15735

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】 複数の文書が記憶されている記憶ボリュ
    ームのための内容インデックスを与える形式のインデッ
    クスデータを圧縮する方法であって、上記文書の各々は
    独特の文書識別子を有しそして上記内容インデックスは
    複数のデータキーに対する上記記憶ボリューム内の発生
    数と位置とを与えるものである方法において、 (a)文書識別子のセットと、ターゲットデータキーが
    現れる文書の対応セットとを記述する文書識別子データ
    を与え、上記ターゲットデータキーは、複数のデータキ
    ーのうちの特定の1つであり、そして上記文書識別子の
    セットは、最小文書識別子MinDoc及び最大文書識
    別子MaxDocを有する範囲を有しており、上記文書
    識別子データを次のサブ段階に基づいて圧縮し、即ち、
    (i) 上記文書識別子の範囲を第1及び第2グループに仕
    切るための値Mを選択し、Mより小さい値を有する文書
    識別子は第1グループに関連させそしてMより大きい値
    を有する文書識別子は第2グループに関連させ、(ii)第
    1グループに関連した文書識別子の数と第2グループに
    関連した文書識別子の数との差が1より大きいかどうか
    を指示するために文書識別子データを与え、(iii) 第1
    グループに関連した文書識別子の数が第2グループに関
    連した文書識別子の数より大きいかどうかを指示するた
    めに文書識別子データビットを与え、(iv)第1グループ
    に関連した文書識別子の数と第2グループに関連した文
    書識別子の数との差を指示するために差のデータキーを
    与え、(v) MaxDoc、MinDoc及びMの新たな
    値を選択して新たな仕切りを定め、そして上記段階a
    (i) ないし(iv)を繰り返し、そして(vi)全ての文書識別
    子がエンコードされるまで上記段階a(i) ないし(v) を
    繰り返し、そして (b)複数のデータキーオフセット値セットを与え、各
    データキーオフセット値セットは、特定の文書内におけ
    るターゲットデータキーの次々の発生間のデータキーオ
    フセットを指示するための複数のデータキーオフセット
    値を含むものであり、データキーオフセット値セットの
    各データキーオフセット値を次のサブ段階に基づいて圧
    縮し、即ち、(i) 所定数Nのデータビットを有するベー
    スデータキーオフセット値長さを選択し、(ii)データビ
    ットにより表示できる残りの指示値であって、Nより小
    さい値の所定の定数をrとすれば、N−rのデータビッ
    トにより表すことのできる最大数よりも大きい残りの指
    示値を選択し、(iii) データキーオフセット値が上記残
    りの指示値よりも大きいかどうかを判断し、もしそうで
    あれば、段階b(iv)ないし(vii) を実行し、そしてもし
    そうでなければ、N個のデータビットを用いてデータキ
    ーオフセット値を表しそして段階b(viii)を実行し、(i
    v)データキーオフセット値の下位のN−rのデータビッ
    トを使用しそして上位のr個のデータビットをセットし
    て残りが存在することを指示し、(v) 残りの上位データ
    ビットから1を減算して次のsビットのエンコードを決
    定し、ここでsは所定の定数であり、そして次のsビッ
    トをエンコードとして使用し、(vi)データキーオフセッ
    ト値の全てのデータビットがエンコードされたかどうか
    を決定し、もしそうでなければ、段階b(vii) を実行
    し、そしてもしそうであれば、データキーオフセット値
    が完全にエンコードされたことを指示するマーカーを与
    えて、段階b(viii)を実行し、(vii) マーカービットを
    加えて更に上位データビットが残っていることを指示
    し、sを所定値tだけ増加し、そして段階b(v) を繰り
    返し、そして(viii)全てのオフセットデータキーがエン
    コードされるまで段階b(iii) ないし(vii) を繰り返す
    ことを特徴とする方法。
  2. 【請求項2】 ベースデータキーオフセット値長さを選
    択する上記の段階b(i) は、更に、最小のあり得べき数
    としてNを選択して、N+1のデータビットを有する2
    進データ値の最上位ビットにより表された値が平均オフ
    セット値より大きくなるようにするサブ段階を備え、上
    記平均オフセット値は、記憶媒体の一部分におけるデー
    タキーの数を記憶媒体のその一部分におけるターゲット
    データキーの発生数で除算したものに等しい請求項1に
    記載の方法。
  3. 【請求項3】 上記残りの指示値は、3N-2 に等しくな
    るよう選択される請求項1に記載の方法。
  4. 【請求項4】 差のデータキーを与える上記段階a(iv)
    は、 (c)第1グループに関連した文書識別子の数と第2グ
    ループに関連した文書識別子の数との差の絶対値をとり
    そしてその差を2で除算することにより差のデータを与
    える、というサブ段階を含む請求項1に記載の方法。
  5. 【請求項5】 差のデータを与える上記段階cは、更
    に、 (d)差のデータから1を減算しそして差のデータの下
    位aビットを差のデータキーの第1のエンコードされた
    ビットとして使用し、 (e)差のデータの全てのデータビットがエンコードさ
    れたかどうかを決定しそしてもしそうでなければ、段階
    fを実行し、もしそうであれば、差のデータキーが完了
    したことを指示するマーカービットを追加し、そして (f)付加的な上位データビットが残っていることを指
    示するマーカービットを追加し、aを所定値bだけ増加
    し、そして上記段階dを繰り返す、というサブ段階を含
    む請求項4に記載の方法。
  6. 【請求項6】 請求項6の記載を除く請求項5に記載の
    方法。
  7. 【請求項7】 複数の文書が記憶されている記憶ボリュ
    ームのための内容インデックスを与える形式のインデッ
    クスデータ用のデータキーフィールドを形成する方法で
    あって、上記文書の各々は独特の文書識別子を有しそし
    て複数のデータキーを含み、上記データキーフィールド
    は、ターゲットデータキーに対する上記記憶ボリューム
    内の発生数と位置とを与えるものである方法において、 (a)上記データキーフィールドの目的であるターゲッ
    トデータキーを識別するためのデータキー識別子を与
    え、 (b)複数の文書識別子を含む文書データセットを定義
    し、各文書識別子は、ターゲットキーが配置された複数
    のターゲット文書を記述するものであり、 (c)第1の所定の圧縮機構に基づいて上記文書データ
    セットを文書識別子データに圧縮して、圧縮解除時にそ
    の文書データセットが回復されるようにし、 (d)複数のカウント値を与え、各カウント値は、上記
    文書データセットにおける複数の文書識別子の各々に関
    連されていて、その各々の文書識別子により識別された
    文書におけるターゲットデータキーの発生数を識別する
    ものであり、そして (e)複数のデータキーオフセット値セットを与え、各
    データキーオフセット値セットは上記複数のカウント値
    の各々に関連され、そして各データキーオフセット値セ
    ットは、その各々のカウント値によって識別されたター
    ゲットデータキーの発生数に数値が等しい複数のデータ
    オフセット値を含み、各データキーオフセット値は、そ
    の各データキーオフセット値セットに関連したカウント
    値に関連した文書識別子によって識別された文書におけ
    るターゲットデータキーの位置を識別するものである、
    という段階を備えたことを特徴とする方法。
  8. 【請求項8】 文書データセットを文書識別子データに
    圧縮する上記の段階(c)は、 (f)最小文書識別子及び最大文書識別子を範囲の終了
    点として選択することによって文書識別子の範囲を定義
    し、 (g)上記文書識別子の範囲の終了点間の中点を選択し
    て、文書識別子の範囲を第1グループと第2グループに
    仕切り、 (h)上記第1グループと第2グループとの間の文書の
    分布を特徴付けるための文書識別子データを与え、この
    文書識別子データは上記範囲において文書識別子の各々
    を識別するものである、というサブ段階を備え請求項7
    に記載の方法。
  9. 【請求項9】 (i)上記第1又は第2グループがゼロ
    文書を含むか又は上記範囲において各段階ごとに文書を
    含むかを決定し、そしてもしそうであれば、段階(k)
    を実行し、もしそうでなければ、段階(j)を実行し、 (j)文書識別子の範囲を、第1グループにより定めら
    れた範囲となるように再定義することにより段階(f)
    ないし(i)を繰り返し、 (k)文書識別子の範囲を、第2グループにより定めら
    れた範囲となるように再定義することにより段階(f)
    ないし(i)を繰り返し、そして (l)全ての文書識別子がエンコードされるまで段階
    (f)ないし(k)を繰り返す、というサブ段階を更に
    備えた請求項8に記載の方法。
  10. 【請求項10】 (m)複数のデータキーオフセット値
    を圧縮する段階を更に備えた請求項7に記載の方法。
  11. 【請求項11】 複数のデータキーオフセット値を圧縮
    する上記段階(m)は、更に、 (n)データビットNのベース数を選択し、 (o)データキーオフセット値がエンコードされたこと
    を指示するためにデータビットのベース数から最上位ビ
    ットの一部分rを選択し、そして残りの最下位データビ
    ットqをベース数として識別して、r+q=Nとし、 (p)r個の最上位ビットをセットせずにNビットでデ
    ータキーオフセット値を表示できるかどうかを決定し、
    もしそうであれば、データキーオフセット値をNビット
    で表示し、もしそうでなければ、Nデータビットのr個
    の最上位ビットをセットしそしてデータキーオフセット
    値のq個の最下位ビットを表示すると共にデータキーオ
    フセット値の残りの最上位ビットをエンコードする、と
    いうサブ段階を備えた請求項10に記載の方法。
  12. 【請求項12】 データビットNのベース数を選択する
    上記段階(n)は、 (q)エンコードされるべき複数のデータキーオフセッ
    ト値の平均値を決定しそしてその平均値を表すのに必要
    なビット数としてNを選択する、というサブ段階を備え
    た請求項11に記載の方法。
  13. 【請求項13】 複数のデータ値をエンコードする方法
    において、 (a)最小データ値と最大データ値を範囲の終了点とし
    て選択することにより複数のデータ値の範囲を定め、 (b)上記複数のデータ値の範囲の終了点間の中点を選
    択して、複数のデータ値の範囲を第1グループと第2グ
    ループに仕切り、 (c)上記第1グループと第2グループとの間のデータ
    値の分布を特徴付けるためのエンコードされたデータを
    与え、このエンコードされたデータは上記範囲において
    データ値の各々を識別するものである、という段階を備
    えたことを特徴とする方法。
  14. 【請求項14】 (d)上記第1又は第2グループがゼ
    ロデータ値を含むか又は上記範囲内で各段階ごとにデー
    タ値を含むかを決定し、もしそうならば、段階(f)を
    実行し、もしそうでなければ、段階(e)を実行し、 (e)文書識別子の範囲を第1グループにより定められ
    た範囲となるように再定義することにより段階(c)な
    いし(d)を繰り返し、 (f)文書識別子の範囲を第2グループにより定められ
    た範囲となるように再定義することにより段階(c)な
    いし(e)を繰り返し、そして (g)全ての文書識別子がエンコードされるまで段階
    (c)ないし(f)を繰り返す、というサブ段階を更に
    備えた請求項13に記載の方法。
  15. 【請求項15】 複数のデータ値をエンコードする方法
    において、 (a)データビットNのベース数を選択し、 (b)データ値がエンコードされたことを指示するため
    にデータビットのベース数から最上位ビットの一部分r
    を選択し、そして残りの最下位データビットqをベース
    数として識別して、r+q=Nとし、 (c)r個の最上位ビットをセットせずにNビットでデ
    ータ値を表示できるかどうかを決定し、もしそうであれ
    ば、データ値をNビットで表示し、もしそうでなけれ
    ば、Nベースビットのr個の最上位ビットをセットしそ
    してデータ値のq個の最下位ビットを表示すると共にデ
    ータ値の残りの最上位ビットをエンコードする、という
    段階を備えたことを特徴とする方法。
  16. 【請求項16】 データビットNのベース数を選択する
    上記段階(a)は、 (d)エンコードされるべき複数のデータ値の平均値を
    決定しそしてその平均値を表すのに必要なビット数とし
    てNを選択する、というサブ段階を備えた請求項15に
    記載の方法。
  17. 【請求項17】 データビットNのベース数を選択する
    上記段階(a)は、2N >(最大−最小)/kとなるよ
    うにNを選択するサブ段階を備え、ここで、kはデータ
    値の数を表し、最大は最大データ値を表しそして最小は
    最小データ値を表す請求項15に記載の方法。
  18. 【請求項18】 r個の最上位ビットをセットせずにN
    ビットでデータ値を表示できるかどうかを決定する上記
    段階(c)は、データ値が3(2N-r )未満であるかど
    うかを決定するサブステップを含む請求項15に記載の
    方法。
JP30806093A 1992-12-08 1993-12-08 全テキストインデックスを圧縮する方法 Expired - Fee Related JP3550173B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/986,754 US5649183A (en) 1992-12-08 1992-12-08 Method for compressing full text indexes with document identifiers and location offsets
US07/986754 1992-12-08

Publications (2)

Publication Number Publication Date
JPH06243009A true JPH06243009A (ja) 1994-09-02
JP3550173B2 JP3550173B2 (ja) 2004-08-04

Family

ID=25532705

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30806093A Expired - Fee Related JP3550173B2 (ja) 1992-12-08 1993-12-08 全テキストインデックスを圧縮する方法

Country Status (6)

Country Link
US (2) US5649183A (ja)
EP (1) EP0601569B1 (ja)
JP (1) JP3550173B2 (ja)
AT (1) ATE207635T1 (ja)
CA (1) CA2110870A1 (ja)
DE (1) DE69330993T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8321485B2 (en) 2006-11-08 2012-11-27 Hitachi, Ltd. Device and method for constructing inverted indexes

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5649183A (en) * 1992-12-08 1997-07-15 Microsoft Corporation Method for compressing full text indexes with document identifiers and location offsets
US5870739A (en) * 1996-09-20 1999-02-09 Novell, Inc. Hybrid query apparatus and method
US6057790A (en) * 1997-02-28 2000-05-02 Fujitsu Limited Apparatus and method for data compression/expansion using block-based coding with top flag
US6029167A (en) * 1997-07-25 2000-02-22 Claritech Corporation Method and apparatus for retrieving text using document signatures
WO1999021092A1 (fr) * 1997-10-21 1999-04-29 Fujitsu Limited Procede de traitement de fichiers, dispositif de traitement de donnees et support de memorisation
US6094649A (en) * 1997-12-22 2000-07-25 Partnet, Inc. Keyword searches of structured databases
US6055526A (en) * 1998-04-02 2000-04-25 Sun Microsystems, Inc. Data indexing technique
US6473774B1 (en) * 1998-09-28 2002-10-29 Compaq Computer Corporation Method and apparatus for record addressing in partitioned files
CA2353095A1 (en) * 1998-12-07 2000-06-15 Bloodhound Software, Inc. System and method for finding near matches among records in databases
US6502088B1 (en) 1999-07-08 2002-12-31 International Business Machines Corporation Method and system for improved access to non-relational databases
US6772141B1 (en) 1999-12-14 2004-08-03 Novell, Inc. Method and apparatus for organizing and using indexes utilizing a search decision table
US7233942B2 (en) * 2000-10-10 2007-06-19 Truelocal Inc. Method and apparatus for providing geographically authenticated electronic documents
US7685224B2 (en) * 2001-01-11 2010-03-23 Truelocal Inc. Method for providing an attribute bounded network of computers
US6920477B2 (en) * 2001-04-06 2005-07-19 President And Fellows Of Harvard College Distributed, compressed Bloom filter Web cache server
AU2002326118A1 (en) * 2001-08-14 2003-03-03 Quigo Technologies, Inc. System and method for extracting content for submission to a search engine
US20030157470A1 (en) * 2002-02-11 2003-08-21 Michael Altenhofen E-learning station and interface
US20050149507A1 (en) * 2003-02-05 2005-07-07 Nye Timothy G. Systems and methods for identifying an internet resource address
US7613687B2 (en) * 2003-05-30 2009-11-03 Truelocal Inc. Systems and methods for enhancing web-based searching
US7587387B2 (en) 2005-03-31 2009-09-08 Google Inc. User interface for facts query engine with snippets from information sources that include query terms and answer terms
US8239394B1 (en) 2005-03-31 2012-08-07 Google Inc. Bloom filters for query simulation
US7386570B2 (en) * 2005-03-31 2008-06-10 International Business Machines Corporation Method, system and program product for providing high performance data lookup
US7953720B1 (en) 2005-03-31 2011-05-31 Google Inc. Selecting the best answer to a fact query from among a set of potential answers
US8538969B2 (en) * 2005-06-03 2013-09-17 Adobe Systems Incorporated Data format for website traffic statistics
US8429167B2 (en) * 2005-08-08 2013-04-23 Google Inc. User-context-based search engine
US8027876B2 (en) * 2005-08-08 2011-09-27 Yoogli, Inc. Online advertising valuation apparatus and method
US8954426B2 (en) 2006-02-17 2015-02-10 Google Inc. Query language
US7925676B2 (en) 2006-01-27 2011-04-12 Google Inc. Data object visualization using maps
US20070185870A1 (en) 2006-01-27 2007-08-09 Hogue Andrew W Data object visualization using graphs
US8055674B2 (en) * 2006-02-17 2011-11-08 Google Inc. Annotation framework
US8688485B2 (en) * 2006-07-06 2014-04-01 Google Inc. Low fare search for ticket changes using married segment indicators
US8954412B1 (en) 2006-09-28 2015-02-10 Google Inc. Corroborating facts in electronic documents
US8122026B1 (en) 2006-10-20 2012-02-21 Google Inc. Finding and disambiguating references to entities on web pages
US8347202B1 (en) 2007-03-14 2013-01-01 Google Inc. Determining geographic locations for place names in a fact repository
US20080277314A1 (en) * 2007-05-08 2008-11-13 Halsey Richard B Olefin production utilizing whole crude oil/condensate feedstock and hydrotreating
US8239751B1 (en) 2007-05-16 2012-08-07 Google Inc. Data from web documents in a spreadsheet
US8166041B2 (en) * 2008-06-13 2012-04-24 Microsoft Corporation Search index format optimizations
US9087059B2 (en) 2009-08-07 2015-07-21 Google Inc. User interface for presenting search results for multiple regions of a visual query
US9135277B2 (en) 2009-08-07 2015-09-15 Google Inc. Architecture for responding to a visual query
US9092507B2 (en) * 2013-01-15 2015-07-28 Marklogic Corporation Apparatus and method for computing n-way co-occurrences of data tuples in scalar indexes
US9087055B2 (en) * 2013-01-28 2015-07-21 International Business Machines Corporation Segmenting documents within a full text index
US10437911B2 (en) * 2013-06-14 2019-10-08 Business Objects Software Ltd. Fast bulk z-order for graphic elements
US10860571B2 (en) * 2016-11-04 2020-12-08 Sap Se Storage and pruning for faster access of a document store

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5827240A (ja) * 1981-08-10 1983-02-17 Nippon Telegr & Teleph Corp <Ntt> フアイル記憶方式
JPS607557A (ja) * 1983-06-27 1985-01-16 Fujitsu Ltd 文字型デ−タの区分化圧縮法
JPS6037048A (ja) * 1983-05-02 1985-02-26 ウオング・ラボラトリーズ・インコーポレーテツド データ・ベースにデータを記憶する方法およびデータ・ベース・システム
JPS60247732A (ja) * 1984-05-23 1985-12-07 Nec Corp デ−タ記憶装置
JPH05257774A (ja) * 1992-03-10 1993-10-08 Fujitsu Ltd インデックス・レコード番号を圧縮・格納した情報検索装置
EP0601569A1 (en) * 1992-12-08 1994-06-15 Microsoft Corporation Method for compressing full text indexes

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5062074A (en) * 1986-12-04 1991-10-29 Tnet, Inc. Information retrieval system and method
US5201048A (en) * 1988-12-01 1993-04-06 Axxess Technologies, Inc. High speed computer system for search and retrieval of data within text and record oriented files
JP2969153B2 (ja) * 1990-06-29 1999-11-02 カシオ計算機株式会社 レコード検索方法
US5321833A (en) * 1990-08-29 1994-06-14 Gte Laboratories Incorporated Adaptive ranking system for information retrieval
US5313604A (en) * 1990-11-13 1994-05-17 Hewlett-Packard Company Method for locating compressed data in a computed memory back up device including steps of refining estimater location
DE69231113T2 (de) * 1991-04-08 2001-03-01 Koninkl Philips Electronics Nv Speicherverfahren für bibliographische Information über Daten aus einer endlichen Textquelle, und insbesondere Dokumentverbuchungen zur Verwendung in einem Suchsystem für Ganztextdokumente
US5488725A (en) * 1991-10-08 1996-01-30 West Publishing Company System of document representation retrieval by successive iterated probability sampling
US5375235A (en) * 1991-11-05 1994-12-20 Northern Telecom Limited Method of indexing keywords for searching in a database recorded on an information recording medium
US5440481A (en) * 1992-10-28 1995-08-08 The United States Of America As Represented By The Secretary Of The Navy System and method for database tomography

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5827240A (ja) * 1981-08-10 1983-02-17 Nippon Telegr & Teleph Corp <Ntt> フアイル記憶方式
JPS6037048A (ja) * 1983-05-02 1985-02-26 ウオング・ラボラトリーズ・インコーポレーテツド データ・ベースにデータを記憶する方法およびデータ・ベース・システム
JPS607557A (ja) * 1983-06-27 1985-01-16 Fujitsu Ltd 文字型デ−タの区分化圧縮法
JPS60247732A (ja) * 1984-05-23 1985-12-07 Nec Corp デ−タ記憶装置
JPH05257774A (ja) * 1992-03-10 1993-10-08 Fujitsu Ltd インデックス・レコード番号を圧縮・格納した情報検索装置
EP0601569A1 (en) * 1992-12-08 1994-06-15 Microsoft Corporation Method for compressing full text indexes
US5649183A (en) * 1992-12-08 1997-07-15 Microsoft Corporation Method for compressing full text indexes with document identifiers and location offsets

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8321485B2 (en) 2006-11-08 2012-11-27 Hitachi, Ltd. Device and method for constructing inverted indexes

Also Published As

Publication number Publication date
CA2110870A1 (en) 1994-06-09
JP3550173B2 (ja) 2004-08-04
US5832479A (en) 1998-11-03
DE69330993T2 (de) 2002-04-04
EP0601569A1 (en) 1994-06-15
DE69330993D1 (de) 2001-11-29
US5649183A (en) 1997-07-15
ATE207635T1 (de) 2001-11-15
EP0601569B1 (en) 2001-10-24

Similar Documents

Publication Publication Date Title
JP3550173B2 (ja) 全テキストインデックスを圧縮する方法
US8838551B2 (en) Multi-level database compression
JP4261779B2 (ja) データ圧縮装置および方法
US4677550A (en) Method of compacting and searching a data index
US5450580A (en) Data base retrieval system utilizing stored vicinity feature valves
US5497485A (en) Method and apparatus for implementing Q-trees
EP0124097B1 (en) Method for storing and retrieving data in a data base
US20070106876A1 (en) Keymap order compression
JP3318834B2 (ja) データファイルシステム及びデータ検索方法
CN109325032B (zh) 一种索引数据存储及检索方法、装置及存储介质
JPH06103497B2 (ja) レコード検索方法及びデータベース・システム
US20070094313A1 (en) Architecture and method for efficient bulk loading of a PATRICIA trie
JP2006521623A (ja) 格納データを処理するためのコンピュータ利用コンパクト0コンプリートツリーの動的格納構造及び方法
US7130859B2 (en) Data structure for search
US5394143A (en) Run-length compression of index keys
US6892176B2 (en) Hash function based transcription database
US20100217761A1 (en) System and Method of Enhancing Decoding Performance of Text Indexes
US20120319875A1 (en) Method for storing node information of huffman tree and corresponding decoding method
Hester et al. Faster construction of optimal binary split trees
RU2417424C1 (ru) Способ компрессии многомерных данных для хранения и поиска информации в системе управления базами данных и устройство для его осуществления
JP2993540B2 (ja) 昇順整数列データの圧縮および復号システム
US6731229B2 (en) Method to reduce storage requirements when storing semi-redundant information in a database
EP1202190A2 (en) Data processing method, computer readable recording medium, and data processing device
CN106777131A (zh) 一种高维空间数据的查询方法、装置及计算机可读介质
JP2001134573A (ja) 類似データ検索方法,類似データ検索装置,および類似データ検索用プログラム記録媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040218

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: 20040326

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040423

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20090430

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090430

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100430

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110430

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120430

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120430

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130430

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees