JP5191441B2 - インデクス構築方法及び装置及び情報検索方法及び装置及びプログラム - Google Patents

インデクス構築方法及び装置及び情報検索方法及び装置及びプログラム Download PDF

Info

Publication number
JP5191441B2
JP5191441B2 JP2009117963A JP2009117963A JP5191441B2 JP 5191441 B2 JP5191441 B2 JP 5191441B2 JP 2009117963 A JP2009117963 A JP 2009117963A JP 2009117963 A JP2009117963 A JP 2009117963A JP 5191441 B2 JP5191441 B2 JP 5191441B2
Authority
JP
Japan
Prior art keywords
field
value
storage means
index
data
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 - Fee Related
Application number
JP2009117963A
Other languages
English (en)
Other versions
JP2010267080A (ja
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 JP2009117963A priority Critical patent/JP5191441B2/ja
Publication of JP2010267080A publication Critical patent/JP2010267080A/ja
Application granted granted Critical
Publication of JP5191441B2 publication Critical patent/JP5191441B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、インデクス構築方法及び装置及び情報検索方法及び装置及びプログラムに係り、特に、複数の項目を持つ構造化データを蓄積・検索するデータベース及びインデクスの分野で、複数の条件を持つ検索を高速に行うためのインデクス構築方法及び装置及び情報検索方法及び装置及びプログラムに関する。
一般的な関係データベース(RDB:Relational Data Base)技術において、特に大規模なデータに対し、検索処理を高速化するための代表的な技術として、インデクスと実行プランの最適化がある。
「インデクス」とは、値に合致したデータを素早く取り出すための索引であり、いくつかのデータ構造が存在する。代表的なデータ構造として、B+Treeがあり、数値、日付、文字列、等の多くのデータ型に対応でき、広く利用されている。
また、複雑なデータ型には、それ専用のデータ構造が提案されており、その一つに集合を対象としたものがある。例えば、RD-Treeは、集合向けのインデクスである(例えば、非特許文献1参照)。RD-Treeは、図10に示すような木構造のインデクスで、子ノード群のUNION集合を親ノードで保持するように構築する。検索時は、ルートから検索条件である集合を部分集合としてもつノードを順次辿っていく。この例では、集合の要素が数値となっているが、文字列であってもハッシュ値など有限範囲の数値に置き換えることで、適用可能である。
「実行プラン」とは、例えば、複数の検索条件が指定されている場合、どちらの検索条件から検索処理を実行すればよいかといった処理順序の計画である。この計画が適切でない場合、最適な手順と比較して1桁以上低速になってしまう場合が多く、特に大量のデータの場合は致命的である。
実行プランを最適化する手法として、ルールベースの手法とコストベースの手法が存在する。ルールベースの手法は予め決められたルールで検索処理の実行プランを構築する方法で、コストベースの手法は蓄積したデータに対し予め取得した統計情報を用いることである。一般には、コストベース手法の方が、最適な実行プランを構築する確率が高いといえる。
コストベースの手法の例を示す。例えば、図11の左に示すような日付の値群があった場合、最も基本的な統計情報として、
・全体数
・値の種類(カーディナリティ)
・頻出する値と出現数(コモン値)
を事前に取得しておく。コモン値について補足すると、事前に定めた閾値を超えて出現する値であり、「全体数の1%以上」といった相対数で定めることも多い。
そして検索時には、検索条件毎に合致する割合・数を推定する。例えば、「"2008.01.31"に一致する」という検索条件であれば、コモン値に含まれているため、500件に合致することがわかるし、"2008.02.01"に一致する、という検索条件であれば、コモン値には含まれていないため、残りの値群に平均的に存在しているという仮定から、コモン値でないものの総数をカーディナリティで割り、
Figure 0005191441
が合致すると推定する。
検索条件が複数ある場合、推定数が小さいものから処理していくよう実行プランを構築すると、高速な検索が実現できる可能性が高い。
複数の項目を持つような構造化データ群に対しては、検索においても複数の検索条件を指定した検索が要求されるケースがある。例えば、図12に示すようなレストランの情報があるとする(XML形式での構造化データ例である)。このようなデータに対し、以下のような検索要求が考えられる。
検索例A:「グループの懇親会を行うために新宿の焼鳥屋を探したい」という要求があった場合、検索条件としては、
Figure 0005191441
といった指定がなされることが考えられる。
検索例B:「恋人と珍しい外国料理を新宿で食べたい」という要求があった場合、検索条件としては、
Figure 0005191441
といった指定がなされるかもしれない。
このようなデータが大量に存在した場合、このような複数の検索条件を持つ検索を高速に処理する手法としては、一般的に以下の方法が考えられる。
(1)検索条件となりうる各項目毎にインデクス(B+Tree等)の構築と、統計情報を取得しておき、コストベースの手法により最適な実行プランを決定し、実行する。
(2)複数の項目の値をつなげて一つの値とし、それに対しインデクス(B+Tree等)を作成しておき、検索要求時にも検索条件をつなげて検索する。
例えば、検索例Aでは、
"/レストラン/ジャンル/小分類"、"/レストラン/場所/駅"、"/レストラン/サービス"、"/レストラン/雰囲気"
をこの順でつなげた値をインデクスしておく。図12のデータの場合、
データ0001:"焼き鳥_新宿_飲み放題あり_パーティ向け"
データ0002:"レバノン料理_新宿_デート向け"
という値がインデクスされる。このインデクスに対し、検索要求も
"焼き鳥_新宿_飲み放題あり_パーティ向け"
というつなげた値で行われ、データ001を含めた該当するデータ群を得る。
(3)データ毎に各項目を要素とした集合と解釈し、集合向けインデクスを作成し、利用する。例えば、
"/レストラン/ジャンル/小分類"
"/レストラン/場所/駅"

といった「項目名+値」をハッシュ値に変換して格納することで適用する(但し、ハッシュ値を使用した場合、異なる値が同一のハッシュ値に重複する場合があるため、再チェックが必要である)。
Hellerstein J. M., Pfeffer A.: "The RD-Tree: An Index Structure for Sets.," Technical Report #1252, University of Wisconsin at Madison, Oct. 1994.
しかしながら、上記の方法では、以下のような問題がある。
・前述の(1)の方法では、最終的な検索結果数が少なくなる場合でも、どの検索条件も単独では合致するデータ数が大きい場合、中間結果の増大により低速になってしまう。
・前述の(2)の方法では、高速な検索が実現できるが、検索結果の自由な組み合わせには対応できない。具体的には、例示したインデクスでは前述の検索例Bに対して、項目"レストラン/設備"が含まれていないため、完全には利用できない。
・前述の(3)の方法では、項目と値のバリエーションが多量になった場合、同一の数値に重複して割り当てられる確率が高くなり、インデクスからの結果に不適合のデータが多く含まれ、再チェックの処理増大により低速になってしまう。
本発明は、上記の点に鑑みなされたもので、複数の項目を持つ大量の構造化データ群に対し、複数の検索条件を指定した検索を安定的に高速化可能なインデクス構築方法及び装置及び情報検索方法及び装置及びプログラムを提供することを目的とする。
図1は、本発明の原理を説明するための図である。
本発明(請求項1)は、複数の項目を持つ大量の構造化データ群に対して、蓄積・検索する情報処理システムにおけるインデクス構築方法であって、
入力された構造化データを抽出し、フィールド記憶手段から該構造化データのフィールド名に対応するフィールドIDを取得し、
値インデクス記憶手段のフィールドIDに対応するデータ構造に構造化データの値を登録する第1のインデクス作成ステップ(ステップ1)と、
フィールド記憶手段からフィールド名及びフィールドIDを取得し、該フィールドIDに基づいて値インデクス記憶手段から値を取得し、
取得した値から統計情報を算出し、該統計情報のうち集合インデクスの対象とする閾値を超えているフィールド名と値の組であるペアを抽出し、統計情報記憶手段に格納し、
統計情報記憶手段から集合インデクスの対象とするペアを取得し、該ペアに基づいて値インデクス記憶手段から該ペアが出現するデータID群を取得し、
データID群のデータID毎のペアに対し、数値を割り当てて集合インデクス記憶手段に格納する第2のインデクス作成ステップ(ステップ2)と、を行う。
また、本発明(請求項2)は、第2のインデクス作成ステップにおいて、
数値として、順序性のある数値、または、ハッシュ値を用いる。
本発明(請求項3)は、複数の項目を持つ大量の構造化データ群に対して、蓄積・検索する情報処理システムにおける情報検索方法であって、
入力された構造化データを抽出し、フィールド記憶手段から該構造化データのフィールド名に対応するフィールドIDを取得し、
値インデクス記憶手段の前記フィールドIDに対応するデータ構造に構造化データの値を登録し、
フィールド記憶手段からフィールド名及びフィールドIDを取得し、該フィールドIDに基づいて前記値インデクス記憶手段から値を取得し、
取得した前記値から統計情報を算出し、該統計情報のうち集合インデクスの対象とする閾値を超えているフィールド名と値の組であるペアを抽出し、統計情報記憶手段に格納し、
統計情報記憶手段から集合インデクスの対象とする前記ペアを取得し、該ペアに基づいて値インデクス記憶手段から該ペアが出現するデータID群を取得し、
データID群のデータID毎のペアに対し、順序性のある数値、または、ハッシュ値を割り当てて集合インデクス記憶手段に格納しておき、
複数の検索条件が入力された場合に、各検索条件に合致する推定数を取得し(ステップ3)、
推定数に基づいて、値インデクス記憶手段に格納されている各項目毎の値のインデクス群または、集合インデクス記憶手段に格納されている集合インデクスのいずれかを用いて検索する(ステップ4)。
図2は、本発明の原理構成図である。
本発明(請求項4)は、複数の項目を持つ大量の構造化データ群に対して、蓄積・検索する情報処理システムにおけるインデクス構築装置5であって、
構造化データに出現する全てのフィールドのフィールド名及びフィールドIDを格納したフィールド記憶手段1と、
フィールドIDに対応するデータ構造に構造化データの値を保持する値インデクス記憶手段2と、
フィールド毎に統計情報を格納する統計情報記憶手段3と、
全てのフィールドに頻出する値を格納する集合インデクス記憶手段4と、
入力された構造化データを抽出し、フィールド記憶手段1から該構造化データのフィールド名に対応するフィールドIDを取得する手段と、
値インデクス記憶手段2のフィールドIDに対応するデータ構造に構造化データの値を登録する手段と、
フィールド記憶手段1からフィールド名及びフィールドIDを取得し、該フィールドIDに基づいて値インデクス記憶手2段から値を取得する手段と、
取得した値から統計情報を算出し、該統計情報のうち集合インデクスの対象とする閾値を超えているフィールド名と値の組であるペアを抽出し、統計情報記憶手段3に格納する手段と、
統計情報記憶手段3から集合インデクスの対象とするペアを取得し、該ペアに基づいて値インデクス記憶手段2から該ペアが出現するデータID群を取得する手段と、
データID群のデータID毎のペアに対し、数値を割り当てて集合インデクス記憶手段4に格納する手段と、を有する。
また、本発明(請求項5)は、データID群のデータID毎のペアに対して割り当てる数値として、順序性のある数値、または、ハッシュ値を用いる。
本発明(請求項6)は、複数の項目を持つ大量の構造化データ群に対して、蓄積・検索する情報処理システムにおける情報検索装置6であって、
構造化データに出現する全てのフィールドのフィールド名及びフィールドIDを格納したフィールド記憶手段1と、
フィールドIDに対応するデータ構造に構造化データの値を保持する値インデクス記憶手段2と、
フィールド毎に統計情報を格納する統計情報記憶手段3と、
全てのフィールドに頻出する値を格納する集合インデクス記憶手段4と、
入力された構造化データを抽出し、フィールド記憶手段1から該構造化データのフィールド名に対応するフィールドIDを取得する手段と、
値インデクス記憶手段2のフィールドIDに対応するデータ構造に構造化データの値を登録する手段と、
フィールド記憶手段1からフィールド名及びフィールドIDを取得し、該フィールドIDに基づいて値インデクス記憶手段2から値を取得する手段と、
取得した前記値から統計情報を算出し、該統計情報のうち集合インデクスの対象とする閾値を超えているフィールド名と値の組であるペアを抽出し、統計情報記憶手段3に格納する手段と、
統計情報記憶手段3から集合インデクスの対象とするペアを取得し、該ペアに基づいて値インデクス記憶手段2から該ペアが出現するデータID群を取得する手段と、
データID群のデータID毎のペアに対し、数値を割り当てて集合インデクス記憶手段4に格納する手段と、
複数の検索条件が入力された場合に、各検索条件に合致する推定数を取得する手段と、
推定数に基づいて、値インデクス記憶手段2に格納されている各項目毎の値のインデクス群または、集合インデクス記憶手段4に格納されている集合インデクスのいずれかを用いて検索する手段と、を有する。
本発明(請求項7)は、請求項4または5記載のインデクス構築装置を構成する各手段としてコンピュータを機能させるためのインデクス構築プログラムである。
本発明(請求項8)は、請求項6記載の情報検索装置を構成する各手段としてコンピュータを機能させるための情報検索プログラムである。
上記のように本発明によれば、インデクス構築時に全てのフィールドに対するインデクス(値インデクス)と頻度が高いものに限定したインデクス(集合インデクス)を作成しておき、ユーザから入力された検索条件で複数の項目が指定されたとき、所定の閾値より高い頻度の場合は、集合インデクスを利用して検索し、1つでも低い頻度がある場合は、値インデクスを利用して検索することにより、複数の項目を持つ大量の構造化データ群に対し、複数の検索条件を指定した検索を安定的に高速化できる。
本発明の原理を説明するための図である。 本発明の原理構成図である。 本発明の一実施の形態における情報処理装置の構成図である。 本発明の一実施の形態におけるフィールド管理・記録部と値インデクス部のデータの格納例である。 本発明の一実施の形態におけるインデクス構築部のフィールド情報及び値インデクス作成のフローチャートである。 本発明の一実施の形態における統計情報の取得と集合インデクス作成のフローチャートである。 本発明の一実施の形態におけるインデクス構築部が取得した統計情報の例である。 本発明の一実施の形態における頻出ペアの例である。 本発明の一実施の形態における検索部の検索フローチャートである。 RD-Treeインデクスの例である。 統計情報の例である。 データ例(XML形式)である。
以下、図面と共に本発明の実施の形態を説明する。
以下では、B+Tree及びRD-Treeの手法をベースにした例を説明する。
図3は、本発明の一実施の形態における情報処理装置の構成を示す。
同図に示す情報処理装置は、フィールド管理・記憶部1、値インデクス部2、統計情報管理部3、集合インデクス部4、インデクス構築部5、検索部6から構成される。
同図に示すフィールド管理・記憶部1、値インデクス部2、統計情報管理部3、集合インデクス部4は、主に記憶手段として機能する。
フィールド管理・記憶部1は、構造化データに出現する全ての項目(フィールド)を内部の記憶手段で格納・管理する機能を有し、各項目とそれに対応する値インデクスの関係の保持も含まれる。フィールド管理・記憶部1のデータの格納例を図4(A)に示す。同図では、図12に示すデータの格納例である。
値インデクス部2は、フィールド毎に値に対するB+Treeを構築し、内部の記憶手段で管理する。図12を代表するデータ群の例を図4(B)に示す。フィールドIDによりフィールド情報と関係付けて格納する。
統計情報管理部3は、フィールド毎に統計情報(全体数、値の種類(カーディナリティ)、頻出する値と出現数(コモン値))を取得し、内部の記憶手段で格納・管理する。また、集合インデクスの対象となるフィールドIDと値(頻出ペア)も格納・管理する。
集合インデクス部4は、全てのフィールドを対象に、統計情報管理部3の頻出ペアを利用して特定した、頻出する値のみに限定したRD-Treeを構築し、内部の記憶手段で管理する。
インデクス構築部5は、前述のフィールド管理・記憶部1、値インデクス部2、統計情報管理部3、集合インデクス部4を利用し、検索の事前準備を行う。事前準備として、入力された構造化データを字句解析し、項目名とその値のペアを全て取り出し、フィールド管理・記憶部1、値インデクス部2に格納する。その後で統計情報を取得し、統計情報管理部3に格納すると共に、出現数が閾値を超えている値も同時に格納する。更に閾値を超えた値については、項目名と組み合わせて集合インデクス部4に格納する。
まず、フィールド情報及び値インデクスの作成を行う。当該処理のフローチャートを図5に示す。
ステップ101) インデクス構築部5は、入力されたデータ群から構造化データを取得し、字句解析する。
ステップ102) フィールド名をフィールド管理・記憶部1に渡す。
ステップ103) フィールド管理・記憶部1は、フィールド名が存在するか否かを判断し、存在する場合はステップ105に移行し、存在しない場合はステップ104に移行する。
ステップ104) フィールド管理・記憶部1は、内部の記憶手段に新しいフィールドIDを付与し、フィールド名を追加格納する。
ステップ105) フィールド管理・記憶部1は、フィールドIDをインデクス構築部5に返却する。
ステップ106) インデクス構築部5は、フィールドIDと値を値インデクス部2に渡す。
ステップ107) 値インデクス部2は、内部の記憶手段のフィールドIDに対応するB+Treeへ値を登録する。
ステップ108) 全フィールドについて上記のステップ102〜107を繰り返し、全フィールドについて処理が終了した場合はステップ109に移行する。
ステップ109) 全構造化データについて上記のステップ101〜108を繰り返し、全データについての処理が終了した場合は、当該処理を終了する。
次に、上記の図5に示す処理が終了したら、統計情報の取得と、集合インデクスの作成を行う。
図6は、本発明の一実施の形態における統計情報の取得と、集合インデクスの作成のフローチャートである。
ステップ201) インデクス構築部5は、フィールド管理部1からフィールド名とIDを取得する。
ステップ202) インデクス構築部5は、フィールドIDを統計情報管理部3に渡す。
ステップ203) 統計情報管理部3は、値インデックス部2からB-Treeを読み込んで、統計情報(全体数、カーディナリティ、コモン値)を算出し、抽出する。同時に集合インデクスの対象とする閾値を越えている統計情報を内部の記憶手段に保持する。ここで、「集合インデクスの対象とする閾値を超えているもの」とは、例えば、値の出現する総数が一定数を超えているものや、全データ総数のN%以上出現するもの、といった取り決めが考えられる。
ステップ204) 統計情報管理部3は、統計情報を内部の記憶手段に保持する。
ステップ205) 上記のステップ201〜204の処理を全フィールドについて繰り返す。
ステップ206) インデクス構築部5は、統計情報管理部3から集合インデクスの対象とするペア(フィールド名+値)群を取得し、メモリ(図示せず)に格納する。
ステップ207) インデクス構築部5は、値インデクス部2から各ペアが出現するデータID群を取得し、メモリ(図示せず)に格納する。
ステップ208) インデクス構築部5は、データID毎に、ペアをまとめ、集合インデクス部4に渡す。
ステップ209) 集合インデクス部4は、各ペアに対し、数値(ハッシュ値等)を割り当てる。
ステップ210) 集合インデクス部4は、データID毎に、各ペアに割り当てた数値を要素とした集合を作成し、内部の記憶手段のRD−Treeに登録する。
上記の図6のステップ206〜211の処理に関する具体例を示す。
例えば、インデクス構築部5が統計情報管理部3から取得し、内部のメモリ(図示せず)に格納した統計情報の例を図7に示す。頻出ペア(ステップ203で得られた「集合インデクスの対象とする閾値を超えているもの」のフィールド名+値)と割り当てられた数値が図8であった場合、データ毎に纏められたペアは以下となる。なお、ペアのフィールド名はフィールドIDでもよい。また、頻出ペアに割り当てられた数値はハッシュ値とするのが一般的であるが、説明をわかりやすくするため、順序性のある数値を割り当てている。
Figure 0005191441
Figure 0005191441
したがって、集合
データ001:{1,13,21,31,41,42,61,72}
データ002:{2,21,31,42,51,71}
が集合インデクス部4のRD-Treeに登録される。
検索部6は、検索要求(検索クエリ)をユーザの端末から受け付け、必要に応じて各モジュールを利用して検索を実行する。
検索部6の処理を図9に示す。
ステップ301) 検索部6は、入力された検索クエリを字句解析し、検索条件を抽出する。
ステップ302) 統計情報管理部3から、各検索条件に対する推定数を取得する。当該推定数の取得方法は、従来の技術で述べた式(1)の手法を用いるものとする。
ステップ303) 推定数が閾値以下のであるかを判定し、閾値以下である場合はステップ304に移行し、閾値よりも大きい場合はステップ306に移行する。
ステップ304)各検索条件に対する処理の実行プランを作る。
ステップ305) 実行プランに従って、値インデクス部2を利用して処理を実行し、当該検索処理を終了する。
ステップ306) ステップ303において、推定数が閾値以下のものがなかった場合は、集合インデクス部4へ検索条件群を渡す。
ステップ307) 集合インデクス部4が各検索条件を対応する数値に変換した集合を作成する。
ステップ308) 集合インデクス部4が、集合をキーにRD-Treeを探索し、該当するデータ群を取得する。
ステップ309) 該当したデータ群に対し、検索条件を満たしているか再チェックする。
上記の図9の処理の具体例として、従来の技術の項で示した図12のデータを用いた検索例を示す。
・検索例A
Figure 0005191441
・検索例B
Figure 0005191441
検索例Aは全て頻出ペアのため、検索条件を数値集合に変換し、
{13,31,61,72}
をキーに集合インデクス部4のRD-Treeを探索し、検索結果を取得し、再チェックを行う。
一方、検索例Bは、「"/レストラン/ジャンル/小分類"="レバノン料理"」が頻出ペアではないため、値インデクスを利用した実行プランを立てる。例えば、以下のような実行プランが立てられる。
(1)フィールド管理・記憶部1のフィールド"/レストラン/ジャンル/小分類"に対応する値インデクス部2のB+Treeを探索し、"レバノン料理"と一致するデータID群を取得する。
(2)この時点で83.33件に候補が絞り込まれているため、該当するデータ群を走査して、他の検索条件に合致しているデータを特定する。
上記のように、インデクス構築部5により、図4に示す全てのフィールドに対するインデクスを値インデクス部2に、集合インデクス部4の頻度が高いものに限定したインデクスを集合インデクス部4に作成しておき、検索条件で複数の項目が指定された場合に、全てが高い頻度の場合は、集合インデクス部4の高頻度インデクスを利用して検索し、1つでも低い頻度がある場合は、従来の技術と同様に、値インデクス部2の通常のインデクスを利用し、実行プランを立てて検索する。
なお、図3に示す情報処理装置のインデクス構築部5と検索部6の動作をプログラムとして構築し、情報処理装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
また、構築されたプログラムをハードディスクや、フレキシブルディスク・CD−ROM等の可搬記憶媒体に格納し、コンピュータにインストールする、または、配布することが可能である。
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
本発明は、データベース検索に適用可能である。
1 フィールド記憶手段、フィールド管理部
2 値インデクス記憶手段、値インデクス部
3 統計情報記憶手段、統計情報管理部
4 集合インデクス記憶手段、集合インデクス部
5 インデクス構築手段、インデクス構築部
6 検索手段、検索部

Claims (8)

  1. 複数の項目を持つ大量の構造化データ群に対して、蓄積・検索する情報処理システムにおけるインデクス構築方法であって、
    入力された構造化データを抽出し、フィールド記憶手段から該構造化データのフィールド名に対応するフィールドIDを取得し、
    値インデクス記憶手段の前記フィールドIDに対応するデータ構造に前記構造化データの値を登録する第1のインデクス作成ステップと、
    前記フィールド記憶手段からフィールド名及びフィールドIDを取得し、該フィールドIDに基づいて前記値インデクス記憶手段から値を取得し、
    取得した前記値から統計情報を算出し、該統計情報のうち集合インデクスの対象とする閾値を超えているフィールド名と値の組であるペアを抽出し、統計情報記憶手段に格納し、
    前記統計情報記憶手段から集合インデクスの対象とする前記ペアを取得し、該ペアに基づいて前記値インデクス記憶手段から該ペアが出現するデータID群を取得し、
    前記データID群のデータID毎のペアに対し、数値を割り当てて集合インデクス記憶手段に格納する第2のインデクス作成ステップと、
    を行うことを特徴とするインデクス構築方法。
  2. 前記第2のインデクス作成ステップにおいて、
    前記数値として、順序性のある数値、または、ハッシュ値を用いる
    請求項1記載のインデクス構築方法。
  3. 複数の項目を持つ大量の構造化データ群に対して、蓄積・検索する情報処理システムにおける情報検索方法であって、
    入力された構造化データを抽出し、フィールド記憶手段から該構造化データのフィールド名に対応するフィールドIDを取得し、
    値インデクス記憶手段の前記フィールドIDに対応するデータ構造に前記構造化データの値を登録し、
    前記フィールド記憶手段からフィールド名及びフィールドIDを取得し、該フィールドIDに基づいて前記値インデクス記憶手段から値を取得し、
    取得した前記値から統計情報を算出し、該統計情報のうち集合インデクスの対象とする閾値を超えているフィールド名と値の組であるペアを抽出し、統計情報記憶手段に格納し、
    前記統計情報記憶手段から集合インデクスの対象とする前記ペアを取得し、該ペアに基づいて前記値インデクス記憶手段から該ペアが出現するデータID群を取得し、
    前記データID群のデータID毎のペアに対し、順序性のある数値、または、ハッシュ値を割り当てて集合インデクス記憶手段に格納しておき、
    複数の検索条件が入力された場合に、各検索条件に合致する推定数を取得し、
    前記推定数に基づいて、前記値インデクス記憶手段に格納されている各項目毎の値のインデクス群、または、前記集合インデクス記憶手段に格納されている集合インデクスのいずれかを用いて検索する
    ことを特徴とする情報検索方法。
  4. 複数の項目を持つ大量の構造化データ群に対して、蓄積・検索する情報処理システムにおけるインデクス構築装置であって、
    構造化データに出現する全てのフィールドのフィールド名及びフィールドIDを格納したフィールド記憶手段と、
    前記フィールドIDに対応するデータ構造に前記構造化データの値を保持する値インデクス記憶手段と、
    フィールド毎に統計情報を格納する統計情報記憶手段と、
    全てのフィールドに頻出する値を格納する集合インデクス記憶手段と、
    入力された構造化データを抽出し、前記フィールド記憶手段から該構造化データのフィールド名に対応するフィールドIDを取得する手段と、
    前記値インデクス記憶手段の前記フィールドIDに対応するデータ構造に前記構造化データの値を登録する手段と、
    前記フィールド記憶手段からフィールド名及びフィールドIDを取得し、該フィールドIDに基づいて前記値インデクス記憶手段から値を取得する手段と、
    取得した前記値から統計情報を算出し、該統計情報のうち集合インデクスの対象とする閾値を超えているフィールド名と値の組であるペアを抽出し、統計情報記憶手段に格納する手段と、
    前記統計情報記憶手段から集合インデクスの対象とする前記ペアを取得し、該ペアに基づいて前記値インデクス記憶手段から該ペアが出現するデータID群を取得する手段と、
    前記データID群のデータID毎のペアに対し、数値を割り当てて集合インデクス記憶手段に格納する手段と、
    を有することを特徴とするインデクス構築装置。
  5. 前記データID群のデータID毎のペアに対して割り当てる前記数値として、順序性のある数値、または、ハッシュ値を用いる
    請求項4記載のインデクス構築装置。
  6. 複数の項目を持つ大量の構造化データ群に対して、蓄積・検索する情報処理システムにおける情報検索装置であって、
    構造化データに出現する全てのフィールドのフィールド名及びフィールドIDを格納したフィールド記憶手段と、
    前記フィールドIDに対応するデータ構造に前記構造化データの値を保持する値インデクス記憶手段と、
    フィールド毎に統計情報を格納する統計情報記憶手段と、
    全てのフィールドに頻出する値を格納する集合インデクス記憶手段と、
    入力された構造化データを抽出し、前記フィールド記憶手段から該構造化データのフィールド名に対応するフィールドIDを取得する手段と、
    前記値インデクス記憶手段の前記フィールドIDに対応するデータ構造に前記構造化データの値を登録する手段と、
    前記フィールド記憶手段からフィールド名及びフィールドIDを取得し、該フィールドIDに基づいて前記値インデクス記憶手段から値を取得する手段と、
    取得した前記値から統計情報を算出し、該統計情報のうち集合インデクスの対象とする閾値を超えているフィールド名と値の組であるペアを抽出し、統計情報記憶手段に格納する手段と、
    前記統計情報記憶手段から集合インデクスの対象とする前記ペアを取得し、該ペアに基づいて前記値インデクス記憶手段から該ペアが出現するデータID群を取得する手段と、
    前記データID群のデータID毎のペアに対し、数値を割り当てて集合インデクス記憶手段に格納する手段と、
    複数の検索条件が入力された場合に、各検索条件に合致する推定数を取得する手段と、
    前記推定数に基づいて、前記値インデクス記憶手段に格納されている各項目毎の値のインデクス群または、前記集合インデクス記憶手段に格納されている集合インデクスのいずれかを用いて検索する手段と、
    を有することを特徴とする情報検索装置。
  7. 請求項4または5記載のインデクス構築装置を構成する各手段としてコンピュータを機能させるためのインデクス構築プログラム。
  8. 請求項6記載の情報検索装置を構成する各手段としてコンピュータを機能させるための情報検索プログラム。
JP2009117963A 2009-05-14 2009-05-14 インデクス構築方法及び装置及び情報検索方法及び装置及びプログラム Expired - Fee Related JP5191441B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009117963A JP5191441B2 (ja) 2009-05-14 2009-05-14 インデクス構築方法及び装置及び情報検索方法及び装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009117963A JP5191441B2 (ja) 2009-05-14 2009-05-14 インデクス構築方法及び装置及び情報検索方法及び装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2010267080A JP2010267080A (ja) 2010-11-25
JP5191441B2 true JP5191441B2 (ja) 2013-05-08

Family

ID=43363999

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009117963A Expired - Fee Related JP5191441B2 (ja) 2009-05-14 2009-05-14 インデクス構築方法及び装置及び情報検索方法及び装置及びプログラム

Country Status (1)

Country Link
JP (1) JP5191441B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4860416B2 (ja) * 2006-09-29 2012-01-25 株式会社ジャストシステム 文書検索装置、文書検索方法および文書検索プログラム
JP4374014B2 (ja) * 2006-11-21 2009-12-02 株式会社日立製作所 インデクス生成装置及びそのプログラム
JP4839195B2 (ja) * 2006-12-12 2011-12-21 日本電信電話株式会社 Xml文書の適合度の算出方法およびそのプログラムと、情報処理装置

Also Published As

Publication number Publication date
JP2010267080A (ja) 2010-11-25

Similar Documents

Publication Publication Date Title
Wylot et al. RDF data storage and query processing schemes: A survey
JP6617117B2 (ja) 半構造データのためのスケーラブルな分析プラットフォーム
CN109388637B (zh) 数据仓库信息处理方法、装置、系统、介质
US9798772B2 (en) Using persistent data samples and query-time statistics for query optimization
Zhang et al. Bed-tree: an all-purpose index structure for string similarity search based on edit distance
CN111506621B (zh) 一种数据统计方法及装置
JPWO2014109109A1 (ja) インデックスキー生成装置及びインデックスキー生成方法並びに検索方法
CN111627552B (zh) 一种医疗流式数据血缘关系分析、存储方法及装置
CN103177094A (zh) 一种物联网数据清洗方法
Sun et al. Dima: A distributed in-memory similarity-based query processing system
CN116034349A (zh) 列式分析存储格式的半结构化数据的概率文本索引
Kricke et al. Graph data transformations in Gradoop
CN113779349A (zh) 数据检索系统、装置、电子设备和可读存储介质
US10628421B2 (en) Managing a single database management system
CN112800083B (zh) 一种面向政府决策的政务大数据分析方法及设备
Chu et al. Automatic data extraction of websites using data path matching and alignment
JP5470082B2 (ja) 情報蓄積検索方法及び情報蓄積検索プログラム
CN110825792A (zh) 基于golang中间件协程模式下的高并发分布式数据检索方法
JP5191441B2 (ja) インデクス構築方法及び装置及び情報検索方法及び装置及びプログラム
US20190012361A1 (en) Highly atomized segmented and interrogatable data systems (hasids)
US8745035B1 (en) Multistage pipeline for feeding joined tables to a search system
JP5954742B2 (ja) 文書を検索する装置及び方法
Agarwal et al. Enabling generic keyword search over raw XML data
Wang et al. KeyLabel algorithms for keyword search in large graphs
CN102339284B (zh) 数据库索引的建立方法及其电脑系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110825

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130117

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130129

R150 Certificate of patent or registration of utility model

Ref document number: 5191441

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160208

Year of fee payment: 3

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

LAPS Cancellation because of no payment of annual fees