JPH11212980A - インデクス作成方法および検索方法 - Google Patents
インデクス作成方法および検索方法Info
- Publication number
- JPH11212980A JPH11212980A JP10026691A JP2669198A JPH11212980A JP H11212980 A JPH11212980 A JP H11212980A JP 10026691 A JP10026691 A JP 10026691A JP 2669198 A JP2669198 A JP 2669198A JP H11212980 A JPH11212980 A JP H11212980A
- Authority
- JP
- Japan
- Prior art keywords
- word
- index
- document
- value
- identification number
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/322—Trees
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99934—Query formulation, input preparation, or translation
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99935—Query augmenting and refining, e.g. inexact access
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
クスを高速に生成し、また、当該インデクスを用いて高
速な検索を実現する。 【解決手段】 キーしての語と、当該語を含む文書との
組を登録するB+木インデクスを複数のB+木サブイン
デクスにより構成し、文書と語に各々を一意に識別する
文書識別番号idと語識別番号iwを与え、文書に適用す
る関数として文書識別番号を二次元配列の横方向の位置
を示す値にマップするハッシュ関数Hdと、語に適用す
る関数として語識別番号を二次元配列の縦方向の位置を
示す値にマップするハッシュ関数Hwとを用意し、文書
における語の出現をその文書識別番号およびその語識別
番号の各々にハッシュ関数を適用して得られた値を用い
て対応するサブインデクスB+木(Hd(id),Hw(i
w))に登録する。そして、当該インデクスに対して、キ
ーとして語識別番号に文書識別番号を結合した値を用い
て検索を行う。
Description
る全文検索のためのインデクスを高速に生成し、また、
当該インデクスを用いて高速な検索を実現する方法に関
し、特に、当該インデクスの構成に関する。
て、シグネチャ・ファイルと呼ばれるデータ構造を用い
る方法がある。 特開平7-244671号公報に示され
ている方法では、文書における文字の出現をビットで表
すインデクスを構成している。この方法では、格納され
ている文書数に影響されずに、比較的高速な検索が可能
である。しかしながら、いくつかの異なる語に対して1
つのビットを割り当てているため、指定した以外の語が
含まれている文書が検索される可能性があり、正確な検
索が行えないという問題があった。また、生成や検索の
アルゴリズムが複雑であり、既存のデータベース管理シ
ステムの上で実現することが困難であった。
ion and Fast Indexing for Multi-Gigabyte Text Data
bases」には、一般的なデータベース管理システムが提
供しているハッシュ表やB+木などのインデクス手法を
用いて、高速な全文検索の機能を実現する方法が提案さ
れている。この方法では、インデクスのキーとなる語と
値となる文書に識別番号を割り付け、それらを圧縮して
格納している。これにより、検索に必要となるディスク
の読み出しページ数を減らし、高速に検索が可能とな
る。また、異なる語に異なる識別番号を割り付けられる
ため、正確な検索が可能となる。なお、この文献は、こ
の方法を用いて、約70万件の文書に対する検索が高速
に行えることを示している。
文献で述べられている方法では、インデクスの新規作成
や更新処理の性能が考慮されていないため、高い性能が
得られないという問題があった。特に、更新時に或る語
に対して同じ文書を重複して登録しないようにするため
の確認の処理は、文書識別番号の集まりに対する繰り返
し処理により実現しなければならないため、効率よく実
現することができない。
る全文検索を行う場合などのように、対象となる文書の
数が数百万件となると、上記の文献で示したような方法
であっても、B+木の大きさが数十GBとなるため、イ
ンデクスへの追加や検索の処理を効率よく行うことがで
きない。これは、B+木に対する1個の語と文書の組の
追加や検索処理が木の高さ+1だけの回数のハードディ
スクに対するアクセスを必要とすること、B+木が巨大
になるとディスクのメモリ中へのキャッシュの効果が得
られず、ハードディスクに対するほとんどすべてのアク
セスが実際にハードディスクからデータを読み込む処理
を必要とすることに起因する。
であり、B+木の各ノードの大きさが8KBであり、各
ノードの分岐の数が500であるとすると、B+木の高
さlog500(10GB/8KB)−1=2.16で、
1個の語と文書の組を追加、検索するために平均で2〜
3回のディスク・アクセスが必要となる。ハードディス
クを1回アクセスするために数十ミリ秒から数百ミリ秒
かかるため、1個の語と文書の組の追加、検索には0.
1秒から1秒の時間が必要となる。よって、1個の文書
の中に100個の異なる語が含まれているとすると、1
個の文書を登録するために10秒から100秒の時間を
必要とすることになる。このようなことから、B+木に
格納するデータの数が多くなるにつれて、B+木の高さ
が高くなってB+木が大きくなり、アクセスするページ
数が増え、結果として格納、検索に要する時間が長くな
る。例えば、図17に格納時間の変化の傾向を示すよう
に、格納文書数の増加に応じて格納時間が大幅に増加し
てしまう。
もので、例えば膨大な数にのぼる文書に対する全文検索
のためのインデクスを高速に作成する方法を提供するこ
とを目的とする。また、本発明は、このように作成され
たインデクスを用いて、高速な検索を実現する方法を提
供することを目的とする。
B+木インデクスのキーとして、語の識別番号の後ろに
文書の識別番号つなげて配置したものを用いることで、
或る文書における或る語の出現を、B+木インデクスに
対する1回の検索で実現できるようにした。しかしなが
ら、この場合に、これを単一のB+木で管理しようとす
ると、大量の文書を格納した状態では、B+木が巨大に
なり、1つの文書を追加しようとする際に、最悪の場
合、その文書に含まれている異なる語の出現数と同じだ
けのページを更新しなければならなくなる。
語の識別番号に或るハッシュ関数を適用して得られるハ
ッシュ値と、文書識別番号に別のハッシュ関数を適用し
て得られるハッシュ値とによって複数のサブインデクス
に分割し、これらサブインデクスを二次元の配列に配置
する。そして、インデクスの新規生成時や更新時には、
文書識別番号のハッシュ値が同じになるものをまとめて
登録することで、書き込みページ数を少なくし、処理効
率を高めた。また、複数の語のANDやOR検索を行う
際には、語識別番号のハッシュ値が同じになるものをグ
ループにまとめ、グループごとに文書識別番号のハッシ
ュ値が同じになるB+木に対する検索をまとめて処理す
ることで、ページ読み出し時のページ・キャッシュのヒ
ット率を高め、処理効率を高めた。
ら値を検索するために、キー(例えば、語)と値(例え
ば、当該語を含んでいる1つの文書)とを対応させたイ
ンデクスを作成する方法において、キーと値との組を登
録するインデクスを、例えばB+木構造の複数のサブイ
ンデクスにより構成し、登録する値に所定の関数を適用
して決まる値とキーに所定の関数を適用して決まる値に
よって参照される二次元配列位置にサブインデクスを格
納している。
各々を一意に識別する文書識別番号と語識別番号を与
え、文書に適用する関数として文書識別番号を二次元配
列の一の方向の位置を示す値にマップするハッシュ関数
と、語に適用する関数として語識別番号を二次元配列の
他の方向の位置を示す値にマップするハッシュ関数とを
用意し、文書における語の出現をその文書識別番号およ
びその語識別番号の各々にハッシュ関数を適用して得ら
れた値を用いて対応するサブインデクスに登録する。ま
た、本発明では、語に一意に識別する語識別番号を与
え、語の出現に適用する関数としてその語の文書におけ
る出現回数或いは出現頻度を二次元配列の一の方向の位
置を示す値にマップするハッシュ関数と、語に適用する
関数として語識別番号を二次元配列の他の方向の位置を
示す値にマップするハッシュ関数を用意し、或る文書に
おける或る語の出現をその語の出現回数およびその語識
別番号の各々にハッシュ関数を適用して得られた値を用
いて対応するサブインデクスに登録する。
おける語の出現を一括して登録する場合には、それらの
文書の文書識別番号(或いは、各語の出現回数または出
現頻度)にハッシュ関数を適用して決まる値が同じにな
るものを1つのグループにまとめて、グループごとに語
の出現を登録する。さらには、上記の登録に際して、1
つのグループにまとめられた文書におけるすべての語の
出現を登録する場合には、各語の出現を語にハッシュ関
数を適用して決まる値が同じになるものを一つのグルー
プにまとめて、グループごとに語の出現を登録する。な
お、上記の登録に際しては、主記憶装置に用意した少な
くとも1つのサブインデクスが格納できるページキャッ
シュを用いる。
れる語とを対応させたインデクスをもちいて、語をキー
として対応する文書名を得る検索方法において、文書名
および語に各々を一意に識別する文書識別番号と語識別
番号を与え、キーとして語識別番号に文書識別番号を結
合した値を用いる。より具体的には、文書名と当該文書
に含まれる語とを対応させたインデクスを複数のサブイ
ンデクスにより構成し、文書名と語に各々を一意に識別
する文書識別番号と語識別番号を与えて、文書識別番号
と語識別番号とにハッシュ関数を適用して決まる値によ
って参照される二次元配列位置のサブインデクスに登録
したインデクスをもちいて、語をキーとして対応する文
書名を得る検索方法において、複数の語による検索を行
う場合に、各語の識別番号にハッシュ関数を適用して決
まる値が同じになるものを1つのグループにまとめて、
グループごとにサブインデクスに対する検索を実行す
る。
対応させたインデクスを複数のサブインデクスにより構
成し、文書名と語に各々を一意に識別する文書識別番号
と語識別番号を与えて、文書識別番号と語識別番号とに
ハッシュ関数を適用して決まる値によって参照される二
次元配列位置のサブインデクスに登録したインデクスを
もちいて、語をキーとして対応する文書名を得る検索方
法において、複数の語のANDまたはOR条件による検
索を行う場合に、文書識別番号にハッシュ関数を適用し
て決まる値が同じになる文書に対するサブインデクスに
対して各語の出現を検索し、その検索結果についてAN
DまたはORの演算を実施する。
て説明する。図1には、本発明に係る方法を実行する装
置の構成例を示してある。なお、この装置はコンピュー
タハードウエア資源を用いて、本発明を実施するための
プログラムを実行することにより構成されている。
部メモリにより構成されており、文書蓄積部1には登録
や検索の対象となる文書がその文書名とともに格納され
る。文書ソート部2は、インデクスの登録の対象となる
文書の文書名を、あらかじめ定義されたハッシュ関数を
文書識別番号に適用して得られる値が同じになるものが
まとまるようにソートする。形態素解析部3は、指定さ
れた文書の全文を解析し、語の切り出しを行う。インデ
クス登録部4は、与えられた文書名および語の識別番号
を得て、インデクス選択部5の機能により選択されたB
+木構造に、語識別番号と文書識別番号をキーとして語
の出現を登録する。
置等の外部メモリにより構成されており、インデクス蓄
積部6はあらかじめ定められた大きさの二次元の配列
(ここではD×W、ただし、D,Wは1以上の整数)上
にB+木を記憶する。また、インデクス蓄積部6は文書
名と文書識別番号、語と語識別番号の対応関係も記憶し
ている。インデクス選択部5は、与えられた文書識別番
号と語識別番号に、それぞれあらかじめ定められたハッ
シュ関数を適用し、その結果得られた値を用いてインデ
クス蓄積部6に格納されているインデクス表から語の出
現を登録するB+木の識別番号を選択する。
部5で用いられる文書識別番号に適用されるハッシュ関
数および語識別番号に適用されるハッシュ関数Hは、文
書識別番号をid、語識別番号をiwとしたとき、それぞ
れ、0≦Hd(id)<D、0≦Hw(iw)<W、となる
整数を値とするように定義される。
要求を受け付け、語をANDまたはORで結合した検索
式を生成する。検索実行部8は、与えられた検索式に含
まれている語の識別番号から、インデクス選択部5の機
能により検索の対象となるB+木を得て検索処理を行
う。結果出力部9は、検索実行部8により得られた検索
結果をディスプレイ表示等して利用者に提示する。
ているB+木のキーの構成例を示してある。このB+木
のキーは、語識別番号の後ろに文書識別番号を結合した
構造となっており、本例では、語識別番号として4バイ
ト、文書識別番号として4バイトの領域を割り当ててい
る。これにより、或る語を含む文書を得る検索において
は、その語の出現を含むすべてのB+木について、その
語の語識別番号の後ろに文書識別番号として最小のもの
(ここでは0)を結合した値と、文書識別番号として最
大のもの(ここではFFFFFFFF(16進))を結
合した値の範囲で検索を行うことで、その語に対するす
べての出現を、文書識別番号の昇順に得ることができ
る。
示すように、図2のキーに対して、32ビット左へシフ
トさせた値をstart点とし(ステップS1)、32
ビット左へシフトさせて0×FFFFFFFFを加えた
値をend点として(ステップS2)、start点か
らend点までの範囲で検索を行う(ステップS3)。
なお、図3において、<<はビットを左にシフトする演
算を示している。また、或る文書における或る語の出現
を検索したいときには、その語の識別番号とその文書の
識別番号を結合した値をキーとして、完全に一致するも
のを検索することで、該当する語の出現を得ることがで
きる。
を登録した時点で、B+木の一部の状態が図4に示され
ているようになっていたとする。この状態において、語
識別番号が45(16進)であるような語を含む文書を
検索する場合には、キーの値が4500000000
(16進)と45FFFFFFFF(16進)の範囲に
あるものを検索することで目的とする語の出現(O4と
O5)を得られる。また、語識別番号が45(16進)
であるような語が文書識別番号が7であるような文書に
含まれているか否かを確認する場合には、450000
0007(16進)をキーとして、キーの値が一致する
ものを検索することで、語の出現(O5)を得ることが
できる。
+木の格納構造を示してある。このB+木は、D×Wの
二次元配列にD×W個のサブインデクスを格納した構造
となっており、文書識別番号がidで且つ語識別番号が
Iwである或る語の出現は、B+木(Hw(iw),Hd(i
d))のサブインデクスに対応してB+木に登録されてい
る。よって、語識別番号がiwである語の出現を検索す
る場合には、図6に示されている手順で選択されたB+
木について図3に示されている処理を実行する。
する文書を検索する処理手順を示してある。まず、この
処理では、与えられた語の語識別番号Iwをiwに代入
し、その値を引数としてハッシュ関数Hwを適用して得
られる値をwに代入している(ステップS10)。そし
て、変数iおよびrを0に初期化し(ステップS1
1)、iを1つずつ増加させながら(ステップS1
4)、iがDとなるまで(ステップS15)、B+木
(w,i)に対して語の検索を繰り返し行い(ステップ
S12)、その結果を配列Rに追加している(ステップ
S13)。
る一つの行に記憶されているB+木の各サブインデクス
に対する検索が行える。このようにすることにより、目
的とする語の出現はそれ以外のB+木には含まれていな
いので、これにより見つかった文書のみに目的とする語
が含まれていることになる。このような処理により、検
索の対象となるB+木が限定されかつ各B+木を順序良
く利用するため、検索対象のサブインデクスを保持する
キャッシュのヒット率を高めることができ、効率よく検
索が実行できる。なお、検索において、検索実行部8が
使用する主記憶装置のキャッシュに、少なくとも1つの
B+木サブインデクスが保持されるようになっている。
件で検索を行う処理手順を示してある。この処理は、複
数の語とANDまたはORの演算が与えられて呼び出さ
れ、まず、与えられた語の識別番号にハッシュ関数Hw
(iw)を適用して得られる値の順にソートし、その結
果を配列Xに格納している(ステップS20)。これに
より、以下の検索において同じB+木サブインデクスに
対する検索が連続して実行されるようになり、サブイン
デクスを保持するキャッシュのヒット率を高めることが
できる。
する変数dと確定した検索結果の数を示す変数Iの値を
0に初期化し(ステップS21)、B+木(0,d)に
対して語識別番号X[0]の語の出現を検索する(ステ
ップS22)。この検索の処理は図3に示して手順で実
施され、検索結果の数は変数rに代入され、検索結果は
配列R[0...r]に代入される(ステップS2
3)。続いて、変数wの値を1に初期化し(ステップS
24)、wを1つずつ増加させながら次のような処理を
繰り返し行う。すなわち、二次元配列の縦方向にサブイ
ンデクスB+木(Hw(X[0]),d)を選択して、検索を
実行しながらAND,ORの演算を実行する。
デクスB+木(Hw(X[0]),d)に対してX[w]の語の出
現を図3の処理により検索し(ステップS25)、その
結果の数と結果を変数r’とR’[0...r’]に代
入する(ステップS26)。続いて、ANDかORかの
演算を判断し(ステップS27)、判断結果に従ってR
[I...I+r]とR’[0...r’]に対してA
NDまたはORの演算を実施する(ステップS28、S
29)。なお、ANDとORの演算処理は、それぞれ図
8、図9に基づいて後述する手順により実行される。
28)、演算の結果がr=I(すなわち、演算の結果該
当する語の出現がなかった)場合には(ステップS3
0)、dを1つ増加させ(ステップS31)、dがDよ
り小さい(すなわち、二次元配列の列がまだ残ってい
る)場合には(ステップS32)、次の列のB+木サブ
インデクスの検索に進む(ステップS24)。一方、r
=Iでない場合には(ステップS30)、wを1つだけ
増加させ(ステップS33)、次の語があることを確認
して(ステップS34)、次の語による検索演算に進む
(ステップS25)。また、OR演算を行った場合には
(ステップS29)、演算の終了後にwを1つだけ増加
させ(ステップS33)、次の語があることを確認して
(ステップS34)、次の語による検索演算に進む(ス
テップS25)。
ップS28)の手順を示してある。この処理では、配列
R[l...l+r]に含まれている語の出現で配列
R’[0...r’]に同じ文書の語の出現が含まれて
いるもののみを配列Rに残す演算を行う。両方に含まれ
ているか否かの確認は、iを0からrまで、i’を0か
らr’まで増加させながら(ステップS41、S46〜
S48)、文書識別番号R[i].idと文書識別番号
R’[i’].idを比較することで行う(ステップS
42)。
idの場合には、配列R’にはR[i].idと同じ文
書識別番号の文書に対する語の出現は含まれていないの
で、R[i]を配列Rから削除する(ステップS4
3)。また、R[i].id=R’[i’].idの場
合には、配列R’[i’]はR[i]と同じ文書に対す
る語の出現であるので、R[i]を配列Rに残し、iと
i’とをそれぞれ1つずつ増加させて次の語の出現の処
理に進む(ステップS44)。また、R[i].id>
R’[i’].idの場合には、R[i]と同じ文書に
対する語の出現がR’[i’+1...r’]に含まれ
ている可能性があるので、i’を1つだけ増加させて再
び比較の処理に戻る(ステップS45)。
かi’が配列R’の最後に進むまで繰り返され、最後に
rにiの値を代入することで(ステップS49)、配列
Rの後方にあって、R’[r’−1]の語の出現に対す
る文書の文書識別番号よりも大きい文書識別番号の文書
に対する語の出現をすべて削除して終了する。なお、検
索結果が0の場合には(ステップS40、S50)、そ
のまま処理を終了する。
プS29)の手順を示してある。この処理では、配列
R’[0...r’]に含まれている語の出現で配列R
[l...l+r]に同じ文書の語の出現が含まれてい
ないものを配列Rに追加することを行う。この判断は、
iを0からrまで、i’を0からr’まで増加させなが
ら(ステップS60、S63〜S67)、文書識別番号
R[i].idと文書識別番号R’[i’].idを比
較することで行う(ステップS62)。
idの場合には、配列R’にはR[i].idと同じ文
書識別番号の文書に対する語の出現が含まれていないの
で、iを1つだけ増加させて次の比較の処理に進む(ス
テップS63)。また、R[i].id=R’
[i’].idの場合には、これらの語の出現は同じ文
書に対するものであるので、iとi’とを共に1つだけ
増加させて比較の処理に戻る(ステップS64)。ま
た、R[i].id>R’[i’].idの場合には、
配列R[l...l+r]にはR’[i’].idと同
じ文書識別番号の文書に対する語の出現は含まれていな
いので、語の出現R’[i’]をR[i]の直後に挿入
し(ステップS65)、iを2、i’を1だけ増加させ
て次の比較の処理に進む(ステップS66)。なお、上
記の比較の処理に先立って、i=rの確認を行い(ステ
ップS61)、それが真ならばR[l...l+r]の
すべての要素に対する処理が終了したことになるので、
配列R’で未処理の語の出現をすべて配列Rの最後尾に
追加して処理を終了する(ステップS68)。
して登録する処理の手順を示してある。この処理では、
まず、各文書を文書識別番号にハッシュ関数Hdを適用
して得られる値によりグループ分けし、グループ分けさ
れた文書をグループごとに配列Gに格納する(ステップ
S70)。続いて、変数gを初期化し(ステップS7
1)、配列Gに格納されている各グループについて、そ
れに属しているすべての文書から語の出現(文書と語の
組)を取り出し(ステップS72)、それらを語の識別
番号にハッシュ関数Hwを適用して得られる値によりグ
ループ分けして、グループ分けされた語の出現をグルー
プごとに配列Oに格納する(ステップS73)。そし
て、変数wを1つずつ増加させながら(ステップS7
4、S76、S77)、配列Gに格納されている各グル
ープについてそれに属している語の出現を登録する処理
(図11により後述する)を実施し(ステップS7
5)、さらに、変数dを1つずつ増加させながら(ステ
ップS78、S79)、上記の処理を繰り返し行う。
れた配列の左上から下方向に並んだB+木サブインデク
スに順に格納され、一番下のB+木サブインデクスまで
格納が終わると、一つ右の列について上から下方向に並
んだB+木サブインデクスに順に格納されるため、複数
のB+木サブインデクスを交互に参照することがなくな
り、ページ・キャッシュのヒット率を高めることができ
る。さらに、主記憶上に一つのB+木サブインデクスの
内容を保持できるだけの領域があれば、格納処理をすべ
て主記憶中で実行できるため、きわめて高速に格納処理
を実行できる。
現を登録する処理の手順を示してある。この処理では、
語および文書に対してそれらの識別番号iw、idを得
て、それぞれにハッシュ関数Hw(iw)、Hd(id)を
適用して得られる値を変数w、dに保持する(ステップ
S80、S81)。そして、iwの値を左に32ビット
シフトした値にidの値を足したものを変数kに代入し
(ステップS82)、図5に示された配列のサブインデ
クスB+木(w,d)にkをキーとして語の出現を登録
する(ステップS83)。
配列の分割数としてD=64、W=64を用いると、従
来の一つのB+木によるインデクスに比べて、木の深さ
を2/3程度に縮小できる。これにより、文書の格納時
の性能を、例えば、従来の図17に示した状況から、図
16に実線で示されているように改善することができ
る。ここで、図16で破線で示されているのは図17で
示されている従来技術による格納時間の推移である。な
おまた、格納性能ばかりではなく、検索時の性能も約
1.5倍に改善できる。
B+木インデクスの縦方向の分割に、語の出現回数に或
る関数を適用した値を用いる場合のキーの構成を示して
ある。 本実施例のキーは、語識別番号の後ろに出現回
数を整数であらわした値を結合した構造であり、語識別
番号として4バイト、出現回数として4バイトの領域を
割り当てている。
を用いて、語の出現をB+木に登録した状態を示してあ
る。図に示されているように、同じ語に対する複数の異
なる語の出現が、語の出現回数の多い順にならべられ
る。これにより、検索処理において、検索の結果を語の
出現回数の多い順に取り出すことが容易となる。
する処理手順は、図6に示した第1実施例における語の
出現を検索する処理と同じである。また、語の出現を登
録する処理手順は、図10に示した処理手順において文
書識別番号を用いて文書をグループ分けしている処理
(ステップS70)を語の出現回数を用いて語の出現を
グループ分けする処理に置き換え、また、図11に示し
た処理手順において文書識別番号の値を用いてキーとな
る値を生成している処理(ステップS81、S82)を
語の出現回数の値を用いてキーとなる値を生成する処理
に置き換えることで実現できる。
B+木の縦方向の分割に語の出現頻度に或る関数を適用
した値を用いる場合のキーの構成を示してある。本実施
例のキーは、語識別番号の後ろに出現頻度を整数であら
わした値を結合した構造であり、語識別番号として4バ
イト、出現頻度として1バイトの領域を割り当ててい
る。なお、或る語の出現の出現頻度は、その語がその文
書に現れた回数をその文書の総語数で割って100を掛
けた値であらわす。
を用いて、語の出現をB+木に登録した状態を示してあ
る。図に示されているように、同じ語に対する複数の異
なる語の出現が語の出現頻度の高い順にならべられる。
これにより、検索処理において、検索の結果を語の出現
頻度の高い順に取り出すことが容易となる。
する処理手順は、図6に示した第1実施例における語の
出現を検索する処理と同じである。また、語の出現を登
録する処理手順は、図10に示した処理手順において文
書識別番号を用いて文書をグループ分けしている処理
(ステップS70)を語の出現頻度を用いて語の出現を
グループ分けする処理に置き換え、また、図11に示し
た処理手順において文書識別番号の値を用いてキーとな
る値を生成している処理(ステップS81、S82)を
語の出現頻度の値を用いてキーとなる値を生成する処理
に置き換えることで実現できる。
キーと値との組を登録するインデクスを複数のサブイン
デクスにより構成し、登録する値にハッシュ関数等の所
定の関数を適用して決まる値とキーにハッシュ関数等の
所定の関数を適用して決まる値によって参照される二次
元配列位置にサブインデクスを格納するようにし、ま
た、検索においては、キーとして、語の識別番号の後ろ
に文書の識別番号あるいは後の出現回数や出現頻度をつ
なげて配置したものを用いるようにしたため、大量の文
書に対しても、文書の格納処理や検索処理に必要となる
更新ページ数や読み出しページ数を削減でき、高速に処
理を実行できる。
である。
る。
チャートである。
る。
チャートである。
チャートである。
である。
ある。
示すフローチャートである。
示すフローチャートである。
る。
例示する図である。
る。
例示する図である。
書数に対する新規文書登録に要する時間の推移を示した
グラフである。
る新規文書登録に要する時間の推移を示したグラフであ
る。
・・インデクス登録部、5・・・インデクス選択部、
6・・・インデクス蓄積部、8・・・検索実行部、
Claims (16)
- 【請求項1】 指定されたキーから値を検索するため
に、キーと値とを対応させたインデクスを作成する方法
において、 キーと値との組を登録するインデクスを複数のサブイン
デクスにより構成し、 登録する値に所定の関数を適用して決まる値とキーに所
定の関数を適用して決まる値によって参照される二次元
配列位置にサブインデクスを格納することを特徴とする
インデクス作成方法。 - 【請求項2】 請求項1に記載のインデクス作成方法に
おいて、 サブインデクスとしてB+木構造を用いることを特徴と
するインデクス作成方法。 - 【請求項3】 請求項1または請求項2に記載のインデ
クス作成方法において、 キーとして語を用い、値として当該語を含んでいる1つ
の文書を用いることを特徴とするインデクス作成方法。 - 【請求項4】 請求項3に記載のインデクス作成方法に
おいて、 文書と語に各々を一意に識別する文書識別番号と語識別
番号を与え、 文書に適用する関数として文書識別番号を二次元配列の
一の方向の位置を示す値にマップするハッシュ関数と、
語に適用する関数として語識別番号を二次元配列の他の
方向の位置を示す値にマップするハッシュ関数とを用意
し、 文書における語の出現をその文書識別番号およびその語
識別番号の各々にハッシュ関数を適用して得られた値を
用いて対応するサブインデクスに登録することを特徴と
するインデクス作成方法。 - 【請求項5】 請求項4に記載のインデクス作成方法に
おいて、 複数の文書における語の出現を一括して登録する場合
に、それらの文書の文書識別番号にハッシュ関数を適用
して決まる値が同じになるものを1つのグループにまと
めて、グループごとに語の出現を登録することを特徴と
するインデクス作成方法。 - 【請求項6】 請求項3に記載のインデクス作成方法に
おいて、 語に一意に識別する語識別番号を与え、 語の出現に適用する関数としてその語の文書における出
現回数を二次元配列の一の方向の位置を示す値にマップ
するハッシュ関数と、 語に適用する関数として語識別番号を二次元配列の他の
方向の位置を示す値にマップするハッシュ関数を用意
し、 或る文書における或る語の出現をその語の出現回数およ
びその語識別番号の各々にハッシュ関数を適用して得ら
れた値を用いて対応するサブインデクスに登録すること
を特徴とするインデクス作成方法。 - 【請求項7】 請求項6に記載のインデクス作成方法に
おいて、 複数の文書における語の出現を一括して登録する場合
に、各語の出現回数にハッシュ関数を適用して決まる値
が同じになるものを1つのグループにまとめて、グルー
プごとに語の出現を登録することを特徴とするインデク
ス作成方法。 - 【請求項8】 請求項3に記載のインデクス作成方法に
おいて、 語に一意に識別する語識別番号を与え、 語の出現に適用する関数としてその語の文書における出
現頻度を二次元配列の一の方向の位置を示す値にマップ
するハッシュ関数と、 語に適用する関数として語識別番号を二次元配列の他の
方向の位置を示す値にマップするハッシュ関数を用意
し、 或る文書における或る語の出現をその語の出現頻度およ
びその語識別番号の各々にハッシュ関数を適用して得ら
れた値を用いて対応するサブインデクスに登録すること
を特徴とするインデクス作成方法。 - 【請求項9】 請求項8に記載のインデクス作成方法に
おいて、 複数の文書における語の出現を一括して登録する場合
に、各語の出現頻度にハッシュ関数を適用して決まる値
が同じになるものを1つのグループにまとめて、グルー
プごとに語の出現を登録することを特徴とするインデク
ス作成方法。 - 【請求項10】 請求項5または請求項7または請求項
9に記載のインデクス作成方法において、 1つのグループにまとめられた文書におけるすべての語
の出現を登録する場合に、各語の出現を語にハッシュ関
数を適用して決まる値が同じになるものを一つのグルー
プにまとめて、グループごとに語の出現を登録すること
を特徴とするインデクス作成方法。 - 【請求項11】 請求項10に記載のインデクス作成方
法において、 主記憶装置に用意した少なくとも1つのサブインデクス
が格納できるページキャッシュを用いることを特徴とす
るインデクス作成方法。 - 【請求項12】 文書名と当該文書に含まれる語とを対
応させたインデクスをもちいて、語をキーとして対応す
る文書名を得る検索方法において、 文書名および語に各々を一意に識別する文書識別番号と
語識別番号を与え、 キーとして語識別番号に文書識別番号を結合した値を用
いることを特徴としたインデクス検索方法。 - 【請求項13】 文書名と当該文書に含まれる語とを対
応させたインデクスを複数のサブインデクスにより構成
し、文書名と語に各々を一意に識別する文書識別番号と
語識別番号を与えて、文書識別番号と語識別番号とにハ
ッシュ関数を適用して決まる値によって参照される二次
元配列位置のサブインデクスに登録したインデクスをも
ちいて、語をキーとして対応する文書名を得る検索方法
において、 複数の語による検索を行う場合に、各語の識別番号にハ
ッシュ関数を適用して決まる値が同じになるものを1つ
のグループにまとめて、グループごとにサブインデクス
に対する検索を実行することを特徴とするインデクス検
索方法。 - 【請求項14】 文書名と当該文書に含まれる語とを対
応させたインデクスを複数のサブインデクスにより構成
し、文書名と語に各々を一意に識別する文書識別番号と
語識別番号を与えて、文書識別番号と語識別番号とにハ
ッシュ関数を適用して決まる値によって参照される二次
元配列位置のサブインデクスに登録したインデクスをも
ちいて、語をキーとして対応する文書名を得る検索方法
において、 複数の語のANDまたはOR条件による検索を行う場合
に、文書識別番号にハッシュ関数を適用して決まる値が
同じになる文書に対するサブインデクスに対して各語の
出現を検索し、その検索結果についてANDまたはOR
の演算を実施することを特徴とするインデクス検索方
法。 - 【請求項15】 指定されたキーから値を検索するため
に、キーと値とを対応させたインデクスを作成する装置
において、 複数のサブインデクスから構成したインデクスを記憶す
るインデクス記憶手段と、 登録する値に所定の関数を適用することにより第1の値
を算出する第1の関数適用手段と、 キーに所定の関数を適用することにより第2の値を算出
する第2の関数適用手段と、 算出された前記第1の値と前記第2の値に応じて定まる
二次元配列の位置にある前記インデクス記憶手段内のサ
ブインデクスに前記キーと前記登録する値との組を格納
する格納手段と、を備えたことを特徴とするインデクス
作成装置。 - 【請求項16】 指定されたキーから値を検索するため
にキーと値とを対応させたインデクスの作成処理を、コ
ンピュータに実行させるプログラムを当該コンピュータ
に読み取り可能に記憶した記憶媒体において、 前記プログラムは、キーと値との組を登録するインデク
スを複数のサブインデクスにより構成して、登録する値
に所定の関数を適用して決まる値とキーに所定の関数を
適用して決まる値によって参照される二次元配列位置に
サブインデクスを格納する処理を、前記コンピュータに
実行させることを特徴とする記憶媒体。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP02669198A JP3849279B2 (ja) | 1998-01-23 | 1998-01-23 | インデクス作成方法および検索方法 |
| US09/972,865 US6678687B2 (en) | 1998-01-23 | 2001-10-10 | Method for creating an index and method for searching an index |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP02669198A JP3849279B2 (ja) | 1998-01-23 | 1998-01-23 | インデクス作成方法および検索方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH11212980A true JPH11212980A (ja) | 1999-08-06 |
| JP3849279B2 JP3849279B2 (ja) | 2006-11-22 |
Family
ID=12200428
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP02669198A Expired - Fee Related JP3849279B2 (ja) | 1998-01-23 | 1998-01-23 | インデクス作成方法および検索方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US6678687B2 (ja) |
| JP (1) | JP3849279B2 (ja) |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20040103495A (ko) * | 2003-05-30 | 2004-12-08 | 마이크로소프트 코포레이션 | b-트리를 사용한 위치 액세스 |
| JP2007094838A (ja) * | 2005-09-29 | 2007-04-12 | Oki Electric Ind Co Ltd | 文書処理装置および文書処理方法 |
| KR100886189B1 (ko) * | 2000-11-30 | 2009-02-27 | 코퍼아이 리미티드 | 데이터 베이스 |
| KR100955189B1 (ko) | 2008-08-11 | 2010-04-29 | 엔에이치엔(주) | 문서 검색을 위한 서명 데이터 집합 생성 방법 및 시스템 |
| US7970769B2 (en) | 2006-11-23 | 2011-06-28 | Samsung Electronics Co., Ltd. | Apparatus and method for optimized index search |
| JP2011258115A (ja) * | 2010-06-11 | 2011-12-22 | Nippon Telegr & Teleph Corp <Ntt> | 情報格納検索装置、情報格納方法、および情報格納プログラム |
| WO2014141802A1 (ja) * | 2013-03-12 | 2014-09-18 | ソニー株式会社 | 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム |
| KR20190013907A (ko) | 2016-06-09 | 2019-02-11 | 가부시키가이샤 사이게임스 | 정보 처리 시스템 및 방법, 및 프로그램 |
Families Citing this family (73)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8352400B2 (en) | 1991-12-23 | 2013-01-08 | Hoffberg Steven M | Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore |
| US7966078B2 (en) | 1999-02-01 | 2011-06-21 | Steven Hoffberg | Network media appliance system and method |
| US6859808B1 (en) * | 2001-05-31 | 2005-02-22 | Oracle International Corporation | Mapping logical row identifiers for primary B+tree-like structures to physical row identifiers |
| JP4215425B2 (ja) * | 2001-11-21 | 2009-01-28 | 日本電気株式会社 | 文章管理システム、その管理方法及びそのプログラム |
| US7287023B2 (en) * | 2003-11-26 | 2007-10-23 | International Business Machines Corporation | Index structure for supporting structural XML queries |
| US7707039B2 (en) * | 2004-02-15 | 2010-04-27 | Exbiblio B.V. | Automatic modification of web pages |
| US8442331B2 (en) | 2004-02-15 | 2013-05-14 | Google Inc. | Capturing text from rendered documents using supplemental information |
| US8037102B2 (en) | 2004-02-09 | 2011-10-11 | Robert T. and Virginia T. Jenkins | Manipulating sets of hierarchical data |
| US8799303B2 (en) | 2004-02-15 | 2014-08-05 | Google Inc. | Establishing an interactive environment for rendered documents |
| US20060041484A1 (en) | 2004-04-01 | 2006-02-23 | King Martin T | Methods and systems for initiating application processes by data capture from rendered documents |
| US10635723B2 (en) | 2004-02-15 | 2020-04-28 | Google Llc | Search engines and systems with handheld document data capture devices |
| US7812860B2 (en) | 2004-04-01 | 2010-10-12 | Exbiblio B.V. | Handheld device for capturing text from both a document printed on paper and a document displayed on a dynamic display device |
| US8527498B1 (en) * | 2004-02-20 | 2013-09-03 | Teradata Us, Inc. | Method and system for organizing values of alternative equality conditions |
| US20060081714A1 (en) | 2004-08-23 | 2006-04-20 | King Martin T | Portable scanning device |
| US9008447B2 (en) | 2004-04-01 | 2015-04-14 | Google Inc. | Method and system for character recognition |
| US20080313172A1 (en) | 2004-12-03 | 2008-12-18 | King Martin T | Determining actions involving captured information and electronic content associated with rendered documents |
| US8621349B2 (en) * | 2004-04-01 | 2013-12-31 | Google Inc. | Publishing techniques for adding value to a rendered document |
| US20070300142A1 (en) | 2005-04-01 | 2007-12-27 | King Martin T | Contextual dynamic advertising based upon captured rendered text |
| US20060098900A1 (en) * | 2004-09-27 | 2006-05-11 | King Martin T | Secure data gathering from rendered documents |
| US8793162B2 (en) | 2004-04-01 | 2014-07-29 | Google Inc. | Adding information or functionality to a rendered document via association with an electronic counterpart |
| USRE50599E1 (en) | 2004-04-01 | 2025-09-23 | Kyocera Corporation | Search engines and systems with handheld document data capture devices |
| US9116890B2 (en) | 2004-04-01 | 2015-08-25 | Google Inc. | Triggering actions in response to optically or acoustically capturing keywords from a rendered document |
| US9143638B2 (en) | 2004-04-01 | 2015-09-22 | Google Inc. | Data capture from rendered documents using handheld device |
| US8146156B2 (en) | 2004-04-01 | 2012-03-27 | Google Inc. | Archive of text captures from rendered documents |
| US7990556B2 (en) | 2004-12-03 | 2011-08-02 | Google Inc. | Association of a portable scanner with input/output and storage devices |
| US7894670B2 (en) | 2004-04-01 | 2011-02-22 | Exbiblio B.V. | Triggering actions in response to optically or acoustically capturing keywords from a rendered document |
| US8713418B2 (en) | 2004-04-12 | 2014-04-29 | Google Inc. | Adding value to a rendered document |
| US8489624B2 (en) | 2004-05-17 | 2013-07-16 | Google, Inc. | Processing techniques for text capture from a rendered document |
| US8620083B2 (en) | 2004-12-03 | 2013-12-31 | Google Inc. | Method and system for character recognition |
| US9460346B2 (en) | 2004-04-19 | 2016-10-04 | Google Inc. | Handheld device for capturing text from both a document printed on paper and a document displayed on a dynamic display device |
| US8090698B2 (en) | 2004-05-07 | 2012-01-03 | Ebay Inc. | Method and system to facilitate a search of an information resource |
| US9646107B2 (en) * | 2004-05-28 | 2017-05-09 | Robert T. and Virginia T. Jenkins as Trustee of the Jenkins Family Trust | Method and/or system for simplifying tree expressions such as for query reduction |
| US7620632B2 (en) * | 2004-06-30 | 2009-11-17 | Skyler Technology, Inc. | Method and/or system for performing tree matching |
| US8346620B2 (en) | 2004-07-19 | 2013-01-01 | Google Inc. | Automatic modification of web pages |
| US20060080427A1 (en) * | 2004-10-12 | 2006-04-13 | Yach David P | Apparatus, and associated method, for facilitating determination of synchronization status of database copies connected by way of a radio air interface of a radio communication system |
| EP1845453A4 (en) * | 2004-10-28 | 2010-06-16 | Univ Fukui | DATABASE MANAGEMENT DEVICE, PROCESS AND PROGRAM |
| US7801923B2 (en) | 2004-10-29 | 2010-09-21 | Robert T. and Virginia T. Jenkins as Trustees of the Jenkins Family Trust | Method and/or system for tagging trees |
| US7627591B2 (en) | 2004-10-29 | 2009-12-01 | Skyler Technology, Inc. | Method and/or system for manipulating tree expressions |
| US7630995B2 (en) | 2004-11-30 | 2009-12-08 | Skyler Technology, Inc. | Method and/or system for transmitting and/or receiving data |
| US7636727B2 (en) | 2004-12-06 | 2009-12-22 | Skyler Technology, Inc. | Enumeration of trees from finite number of nodes |
| US20110029504A1 (en) * | 2004-12-03 | 2011-02-03 | King Martin T | Searching and accessing documents on private networks for use with captures from rendered documents |
| US20110075228A1 (en) * | 2004-12-03 | 2011-03-31 | King Martin T | Scanner having connected and unconnected operational behaviors |
| US8316059B1 (en) | 2004-12-30 | 2012-11-20 | Robert T. and Virginia T. Jenkins | Enumeration of rooted partial subtrees |
| US8615530B1 (en) | 2005-01-31 | 2013-12-24 | Robert T. and Virginia T. Jenkins as Trustees for the Jenkins Family Trust | Method and/or system for tree transformation |
| US7681177B2 (en) | 2005-02-28 | 2010-03-16 | Skyler Technology, Inc. | Method and/or system for transforming between trees and strings |
| US8356040B2 (en) | 2005-03-31 | 2013-01-15 | Robert T. and Virginia T. Jenkins | Method and/or system for transforming between trees and arrays |
| US7386570B2 (en) * | 2005-03-31 | 2008-06-10 | International Business Machines Corporation | Method, system and program product for providing high performance data lookup |
| US7899821B1 (en) | 2005-04-29 | 2011-03-01 | Karl Schiffmann | Manipulation and/or analysis of hierarchical data |
| JP4925778B2 (ja) * | 2006-03-31 | 2012-05-09 | 富士通株式会社 | 学習管理プログラム及び学習管理装置 |
| US7689547B2 (en) * | 2006-09-06 | 2010-03-30 | Microsoft Corporation | Encrypted data search |
| EP2067119A2 (en) | 2006-09-08 | 2009-06-10 | Exbiblio B.V. | Optical scanners, such as hand-held optical scanners |
| US7743003B1 (en) | 2007-05-16 | 2010-06-22 | Google Inc. | Scaling machine learning using approximate counting that uses feature hashing |
| US7984041B1 (en) * | 2007-07-09 | 2011-07-19 | Oracle America, Inc. | Domain specific local search |
| WO2010096191A2 (en) * | 2009-02-18 | 2010-08-26 | Exbiblio B.V. | Automatically capturing information, such as capturing information using a document-aware device |
| US8447066B2 (en) | 2009-03-12 | 2013-05-21 | Google Inc. | Performing actions based on capturing information from rendered documents, such as documents under copyright |
| EP2406767A4 (en) | 2009-03-12 | 2016-03-16 | Google Inc | AUTOMATIC CONTENT SUPPLY ASSOCIATED WITH CAPTURED INFORMATION, TYPE INFORMATION CAPTURED IN REAL TIME |
| US9684710B2 (en) * | 2009-05-28 | 2017-06-20 | Microsoft Technology Licensing, Llc | Extending random number summation as an order-preserving encryption scheme |
| US9081799B2 (en) | 2009-12-04 | 2015-07-14 | Google Inc. | Using gestalt information to identify locations in printed information |
| US9323784B2 (en) | 2009-12-09 | 2016-04-26 | Google Inc. | Image search using text-based elements within the contents of images |
| US8661037B2 (en) * | 2010-04-09 | 2014-02-25 | International Business Machines Corporation | System and method for multithreaded text indexing for next generation multi-core architectures |
| CN102737064B (zh) * | 2011-04-15 | 2016-02-24 | 腾讯科技(深圳)有限公司 | 文件缓存方法及装置 |
| WO2013032436A1 (en) * | 2011-08-29 | 2013-03-07 | Intel Corporation | Parallel operation on b+ trees |
| US10311021B1 (en) * | 2012-02-08 | 2019-06-04 | Veritas Technologies Llc | Systems and methods for indexing backup file metadata |
| US8880540B1 (en) | 2012-03-28 | 2014-11-04 | Emc Corporation | Method and system for using location transformations to identify objects |
| US9396540B1 (en) | 2012-03-28 | 2016-07-19 | Emc Corporation | Method and system for identifying anchors for fields using optical character recognition data |
| US9069768B1 (en) | 2012-03-28 | 2015-06-30 | Emc Corporation | Method and system for creating subgroups of documents using optical character recognition data |
| US8832108B1 (en) * | 2012-03-28 | 2014-09-09 | Emc Corporation | Method and system for classifying documents that have different scales |
| US8843494B1 (en) | 2012-03-28 | 2014-09-23 | Emc Corporation | Method and system for using keywords to merge document clusters |
| US10474652B2 (en) * | 2013-03-14 | 2019-11-12 | Inpixon | Optimizing wide data-type storage and analysis of data in a column store database |
| CN104424233A (zh) * | 2013-08-26 | 2015-03-18 | 联想(北京)有限公司 | 一种信息处理方法和装置 |
| US10333696B2 (en) | 2015-01-12 | 2019-06-25 | X-Prime, Inc. | Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency |
| US20180285419A1 (en) * | 2015-04-07 | 2018-10-04 | Victor Chernov | Method of sparse array implementation for large arrays |
| US20160299894A1 (en) * | 2015-04-07 | 2016-10-13 | Victor Chernov | Method of sparse array implementation for large arrays |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1995009395A1 (en) | 1993-09-27 | 1995-04-06 | Oracle Corporation | Method and apparatus for parallel processing in a database system |
| JP2758826B2 (ja) | 1994-03-02 | 1998-05-28 | 株式会社リコー | 文書検索装置 |
| US5710916A (en) * | 1994-05-24 | 1998-01-20 | Panasonic Technologies, Inc. | Method and apparatus for similarity matching of handwritten data objects |
| US5832475A (en) | 1996-03-29 | 1998-11-03 | International Business Machines Corporation | Database system and method employing data cube operator for group-by operations |
| US6457004B1 (en) * | 1997-07-03 | 2002-09-24 | Hitachi, Ltd. | Document retrieval assisting method, system and service using closely displayed areas for titles and topics |
| US6374232B1 (en) * | 1996-08-29 | 2002-04-16 | Oracle Corp. | Method and mechanism for retrieving values from a database |
| US6058392A (en) * | 1996-11-18 | 2000-05-02 | Wesley C. Sampson Revocable Trust | Method for the organizational indexing, storage, and retrieval of data according to data pattern signatures |
| US5852822A (en) | 1996-12-09 | 1998-12-22 | Oracle Corporation | Index-only tables with nested group keys |
| US6141655A (en) * | 1997-09-23 | 2000-10-31 | At&T Corp | Method and apparatus for optimizing and structuring data by designing a cube forest data structure for hierarchically split cube forest template |
| US6094649A (en) * | 1997-12-22 | 2000-07-25 | Partnet, Inc. | Keyword searches of structured databases |
| US6003036A (en) * | 1998-02-12 | 1999-12-14 | Martin; Michael W. | Interval-partitioning method for multidimensional data |
| KR100285265B1 (ko) * | 1998-02-25 | 2001-04-02 | 윤덕용 | 데이터 베이스 관리 시스템과 정보 검색의 밀결합을 위하여 서브 인덱스와 대용량 객체를 이용한 역 인덱스 저장 구조 |
-
1998
- 1998-01-23 JP JP02669198A patent/JP3849279B2/ja not_active Expired - Fee Related
-
2001
- 2001-10-10 US US09/972,865 patent/US6678687B2/en not_active Expired - Lifetime
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100886189B1 (ko) * | 2000-11-30 | 2009-02-27 | 코퍼아이 리미티드 | 데이터 베이스 |
| EP2270680A3 (en) * | 2000-11-30 | 2011-01-19 | Coppereye Limited | Database |
| US8224829B2 (en) | 2000-11-30 | 2012-07-17 | Bernard Consulting Limited | Database |
| KR20040103495A (ko) * | 2003-05-30 | 2004-12-08 | 마이크로소프트 코포레이션 | b-트리를 사용한 위치 액세스 |
| JP2004362574A (ja) * | 2003-05-30 | 2004-12-24 | Microsoft Corp | Bツリーを使用した位置アクセス |
| JP2007094838A (ja) * | 2005-09-29 | 2007-04-12 | Oki Electric Ind Co Ltd | 文書処理装置および文書処理方法 |
| US7970769B2 (en) | 2006-11-23 | 2011-06-28 | Samsung Electronics Co., Ltd. | Apparatus and method for optimized index search |
| KR100955189B1 (ko) | 2008-08-11 | 2010-04-29 | 엔에이치엔(주) | 문서 검색을 위한 서명 데이터 집합 생성 방법 및 시스템 |
| JP2011258115A (ja) * | 2010-06-11 | 2011-12-22 | Nippon Telegr & Teleph Corp <Ntt> | 情報格納検索装置、情報格納方法、および情報格納プログラム |
| WO2014141802A1 (ja) * | 2013-03-12 | 2014-09-18 | ソニー株式会社 | 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム |
| KR20190013907A (ko) | 2016-06-09 | 2019-02-11 | 가부시키가이샤 사이게임스 | 정보 처리 시스템 및 방법, 및 프로그램 |
| US10990591B2 (en) | 2016-06-09 | 2021-04-27 | Cygames, Inc. | Sub-query processing system, method, and program |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3849279B2 (ja) | 2006-11-22 |
| US20020059281A1 (en) | 2002-05-16 |
| US6678687B2 (en) | 2004-01-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3849279B2 (ja) | インデクス作成方法および検索方法 | |
| US7080091B2 (en) | Inverted index system and method for numeric attributes | |
| US5897637A (en) | System and method for rapidly identifying the existence and location of an item in a file | |
| KR100798609B1 (ko) | 데이터 소트 방법, 데이터 소트 장치 및 데이터 소트 프로그램을 기억하는 기억 매체 | |
| US4644471A (en) | Method for processing a data base | |
| KR100240243B1 (ko) | 데이터 검색장치 | |
| Comer | Heuristics for trie index minimization | |
| JP3151730B2 (ja) | データベース検索システム | |
| JP3859044B2 (ja) | インデクス作成方法および検索方法 | |
| CN110825747B (zh) | 一种信息存取方法、装置和介质 | |
| JPH07210569A (ja) | 情報検索方法および情報検索装置 | |
| JP2020135530A (ja) | データ管理装置、データ検索方法及びプログラム | |
| JPH08235033A (ja) | オブジェクト指向データベース管理システムにおける結合演算方式 | |
| JPH0981582A (ja) | 値を基本としたデータ管理装置及びデータ管理方法 | |
| JP2001022766A (ja) | 多次元データベースの高速処理方法および装置 | |
| JP3578045B2 (ja) | 全文検索方法及び装置及び全文検索プログラムを格納した記憶媒体 | |
| JPH06215044A (ja) | 情報検索処理装置 | |
| JPH10240741A (ja) | 木構造型データの管理方法 | |
| CN116955415B (zh) | 基于设计层级的数据搜索系统 | |
| JP2001134594A (ja) | 類似特徴量の検索方法,その検索装置およびその検索プログラム記録媒体 | |
| JPH10149367A (ja) | テキスト蓄積検索装置 | |
| JP2007048318A (ja) | リレーショナルデータベースの処理方法およびリレーショナルデータベース処理装置 | |
| Eastman | Handling incrementally specified Boolean queries: a comparison of inverted and signature file organizations | |
| JP2722684B2 (ja) | ファイルシステムの検索装置 | |
| JP2003271649A (ja) | リレーショナルデータベース問い合わせ処理方式及びリレーショナルデータベース問い合わせ処理システム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060515 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060523 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060714 |
|
| 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: 20060808 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060821 |
|
| 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: 20100908 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110908 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120908 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120908 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130908 Year of fee payment: 7 |
|
| LAPS | Cancellation because of no payment of annual fees |