JP4490012B2 - ファイル検索装置、ファイル検索プログラム - Google Patents
ファイル検索装置、ファイル検索プログラム Download PDFInfo
- Publication number
- JP4490012B2 JP4490012B2 JP2001359788A JP2001359788A JP4490012B2 JP 4490012 B2 JP4490012 B2 JP 4490012B2 JP 2001359788 A JP2001359788 A JP 2001359788A JP 2001359788 A JP2001359788 A JP 2001359788A JP 4490012 B2 JP4490012 B2 JP 4490012B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- record
- key
- string
- hierarchy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
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)
Description
【発明の属する技術分野】
本発明はファイルサイズが大規模なCSVファイル等の被検索ファイルからデータの検索、抽出を素早く行うための装置及びプログラムに関する。
【0002】
【従来の技術】
データベースから検索したデータをCSVファイルとして出力することは一般的に用いられているが、従来はCSVファイルとして利用する際には,大きくても数百KB程度のものを扱うのが一般的であった。
【0003】
【発明が解決しようとする課題】
このように従来は、CSVファイルのデータを使用する場合,そのデータの中身は,データベースから予め集計を行った結果を使用するため,ファイルのサイズが数KB程度のものであるということが前提であった。
【0004】
しかし,昨今の数GB単位のデータを扱うような,大規模DWHの場合,集計したCSVファイル自体が数百MBの巨大なファイルとなってしまい,データの検索,抽出に時間がかかっていた。
【0005】
本発明はこのような課題に鑑みなされたものであって、CSVファイルが数百MB単位の大規模なものとなった場合でも,効率的かつ高速にデータ抽出を行うファイル検索装置及びプログラムと、CSVファイルを効率よく検索するためのインデックスファイルを作成する装置及びプログラムの提供を目的とする。
【0006】
【課題を解決するための手段】
本発明の一観点によれば、被検索ファイルを検索するファイル検索装置であって、前記被検索ファイルのレコードの第一フィールドを最上位階層とし、以下のフィールドは前のフィールドの下位階層をなすデータ構造を有するレコードを有し、前記各階層のフィールドにはカテゴリを表すキー文字列が含まれ、最上位階層のフィールドのキー文字列が同じレコードは連続し、以下の階層のフィールドのキー文字列は、前のフィールドのキー文字列が同じキー文字列である範囲内で、その階層のフィールドのキー文字列が同じレコードが連続するようにレコードが並んでいる被検索ファイルに基づいて予め作成され、最上位から最下位の階層まで、各階層の同じキー文字列毎に、キー文字列を示すレコードと、そのキー文字列の開始レコード位置を示すレコードと、そのキー文字列の行数を示すレコードと、次の階層の情報の始まり位置を示すレコードとを含むインデックスファイルと、前記被検索ファイルから、指定されたキー文字列に関するデータを抽出する条件を入力するための入力手段と、該入力手段からの指示に基づいて、前記インデックスファイルから当該キー文字列に関する前記被検索ファイル上での開始レコード位置及び行数を抽出し、前記被検索ファイルから該開始レコード位置で特定されるレコードから前記行数で特定されるレコード数のレコードを抽出する手段と、該抽出されたレコードの情報を出力する出力手段と、を有することを特徴とするファイル検索装置が提供される。
【0010】
【発明の実施の形態】
1)本実施態様の全体的な構成及び処理の概要
本発明の一実施態様の全体的な構成及び処理の概要について、図1及び図2のフローチャートを用いて説明する。
【0011】
図1は、本実施態様の構成を示すブロック図である。
【0012】
本実施態様では、まず数ギガバイトから数テラバイトにも及ぶ大規模なデータベース1から、与えられた条件に基づいて抽出処理部2が行われ、CSVファイル等の被検索ファイル3が作成される。この被検索ファイルは、数百メガバイトから数ギガバイトとなる。
【0013】
なお、データベースからデータを抽出してCSVファイル等を作成することは周知慣用技術であるので、上記の抽出処理部2についての詳細な説明は省略する。 次に、この被検索ファイル3のデータを効率よくデータの検索、抽出ができるように、インデックス作成処理部4によって、インデックスファイル5の作成がなされる。
【0014】
このインデックス作成処理部4では、階層認識処理部41により被検索ファイル3の階層を認識して、インデックスファイル5をなすノード管理情報の作成処理部42を実行する。
【0015】
このインデックスファイル5を用いて、ファイル検索処理部6は被検索ファイル3からデータの検索、抽出を行い、得られたデータの出力を行う。このために入力処理部61が検索処理依頼を受けると、抽出処理部62によりデータの抽出がなされ、出力処理部63により出力結果7が出力される。この出力処理部63はディスプレイを用い、さらに入力処理部61は該ディスプレイの表示画面上をポインティングデバイスによる指示(例えばマウスカーソルによる指示)で実現することにより、後述する図8のような抽出態様の変更が行えるようにするのが望ましい。(印刷物として出力する実施形態を排除するものでは無い)。
【0016】
なお、抽出処理部2、インデックス作成処理部4、ファイル検索処理部6は、それぞれ別のハードウェア(処理装置、コンピュータ)にそれぞれの処理を行うプログラムを実装して実現しても良いが、それぞれのうち2つ、もしくは全ての処理を、同一のハードウェアで実現するように構成しても良い(それぞれの処理を実行するプログラムを同一のハードウェアに実装すれば良い)。
【0017】
また、それぞれの処理機能をハードウェアに実行させる(処理部として機能させる)ためのプログラムは、記録媒体もしくは通信媒体からハードウェアに対してプログラムをダウンロードすることにより実装すればよい。
【0018】
このような構成においてなされる、本実施態様の処理の全体的な流れを、図1に加えて図2のフローチャートを用いて説明する。
【0019】
まず,抽出処理部2がデータベース上の明細データを集計する(図2- 1、以下、図の番号の後ろに付与した符号は、図面では丸文字で表記したものである)。集計した結果は,通常のCSVファイル3として作成される(図2−2)。
【0020】
次にこのCSVファイル3を元に解析を行い、該CSVファイル3を検索するために用いられるインデックスファイル5を作成する(図2−3)。このインデックスファイル作成処理部4については、後に図5を用いてより詳細に説明する。
【0021】
以上の処理によりCSVファイルとインデックスファイルの作成がなされた状態で、ユーザにより抽出条件が指定されると、ファイル検索処理部6がインデックスファイルに基づいてCSVファイル3からデータの抽出を行い、表示を行う(図2−4乃至7)。このデータの抽出処理についても、後により詳細に説明する。
2)CSVファイルとインデックスファイルの構成例
図3に、本実施態様にて抽出された(図2−1、2の処理)CSVファイルの例と、このCSVファイルを解析して作成がなされる (図2−3)インデックスファイルの例を示す。また、図4にインデックスファイルの(再帰)構造の例を示す。
【0022】
本実施態様での被検索ファイルであるCSVファイルは、図3に示すように1行目に、以下の行( レコード)の各フィールドの属性が記述され、 2行目以以降に処理対象のデータが記述されるものである。また、各行( レコード)のフィールドは第一フィールドが最上位階層であり、以下のフィールドは、前のフィールドに包含される( 下位階層をなす)データ構造となっている。即ち、木構造となっている。
【0023】
また、作成されるインデックスファイルは、カテゴリ(キー文字列)毎に下位のノードの情報を再帰的に保持している。それぞれの管理情報は、以下の情報よりなる 。
・そのノードに含まれるカテゴリ(図3の例では”冷暖房" ”家事”)
・上記カテゴリを含む行( レコード)のCSVファイル上での開始レコード位 置及び行数
・上記カテゴリに関するノード管理情報(下位の階層の情報)の、インデックスファイル上での始まり位置を示すポインタ
図3の例では、CSVファイルの表側に商品大分類−商品中分類−機種名といった階層が存在するので、図7における表側1が商品大分類、表側2は商品中分類、表側3は機種名となる。従って、表側1の管理情報は図3- 1、表側2の管理情報は図3- 2、表側3の管理情報は図3−3の部分が、それぞれ相当する。
【0024】
更に図3の例で言えば、商品大分類の管理情報(図3−1)には、カテゴリ”冷暖房”と" 家事”があることが示されると共に、カテゴリ" 冷暖房””家事”に関する行のCSVファイル上での開始レコード位置と行数、カテゴリ" 冷暖房””家事”の次の階層の、インデックスファイルにおける始まり位置を示すポインタが保持される。
【0025】
同様にカテゴリ”冷暖房”に関する管理情報 (図3−2)として、下位階層に”エアコン””扇風機”があることが示され、またカテゴリ”エアコン””扇風機”に関する行のCSVファイル上での開始レコード位置と行数、カテゴリ”冷暖房””家事”の次の階層の、インデックスファイルにおける始まり位置を示すポインタが保持される。
【0026】
更にカテゴリ" エアコン" についても(図3−3),下位階層に”AIR 1””AIR 2" があることが示され、また下位階層のカテゴリのCSVファイル上での開始レコード位置と行数、下位階層のインデックスファイルにおける始まり位置を示すポインタが保持される。
【0027】
このようにインデックスファイルは,表側数分だけ,再帰的に開始レコードの位置,対象行数等を保持している。(DBMS ではインデックスでの検索のためにデータ管理域内にデータ行情報を持っているが,今回の手法では、CSV ファイルの中身のデータに対して,カテゴリごとに解析を行い,データの開始位置,対象行数等をあらかじめ取り出したものを外部ファイルにしている。)
3)インデックスファイルの作成処理
インデックスファイルは、CSVファイルの表側にあるカテゴリを元に、CSVファイル上での、開始レコード位置、行数の情報をインデックスファイルに格納していくことにより作成がなされる。
【0028】
この作成処理について、図5のフローチャート、図6の管理構造の説明図、及び図7のブレイク判定処理の説明図を用いて説明する。
【0029】
まず、最初に入力となる被検索ファイルの表側数を取得する (図5−1)。この表側数は、インデックス作成に際して、利用者から入力パラメタとして、被検索ファイルと共に処理プログラムに与えられる。図4の例では、商品大分類−商品中分類−機種名であり、表側数は3となる。
【0030】
次に,CSV 1行読込みを行う(図5−2)。この際,カテゴリ毎に開始レコード位置(CSVファイル先頭からの変位) は取得済みである。1行目の読込みでは,横方向に冷暖房−エアコン−AIR01 とチェーンされた管理構造が生成される(図6)。
【0031】
2行目からは,順次,被検索ファイルを読み込み,カテゴリのラベルの比較を行う(図5−3)。比較方法は,上位の表側から順次カテゴリがブレイク( カテゴリが変わること) したかどうかを判定していく(図5−4)。
【0032】
ブレイクしていない場合,該当のノードは,前回の行と同じであるので,行数を1追加する(図5−5)。
【0033】
ブレイクした場合は,縦方向にチェーンを追加していく,またこの際,該当のノードより,上位のノードがブレイクしている場合は,ブレイクしたものとして,下方向のカテゴリを追加していく。(図5−6)。
【0034】
処理終了後は表側の終わりかどうか、即ち入力された表側数のノード数だけ繰り返したか( 例の場合は,3ノード分繰り返したかどうか) を判定し(図5−7),表側数分くりかえされていない場合は,下位のノードのカテゴリラベル比較を行うように処理を繰り返す(図5−8)。
【0035】
表側のノード分の比較を行った後,被検索ファイルが終了しているかどうかを判定し(図5−9),終了していなければ,次の行を読み込む処理を,被検索ファイルの行数分だけ繰り返す(図5−10),例えば,図7に示すように、前回読み込んだ被検索ファイルの表側カテゴリが," 冷暖房" −" エアコン" −" 中計で" ,今回読み込んだ行が" 冷暖房" −" 扇風機" −"SENP01"だった場合,各カテゴリを順に表側数分比較する。
【0036】
この結果,商品大分類はブレイクなしなので,行数を1追加,商品中分類はブレイクしたので,エアコンから,縦方向に扇風機のチェーンを追加する。さらに,扇風機でブレイクしたので,扇風機の横方向に,SENP01をチェーンする( 上位のノードがブレイクした場合は,下位もブレイクする) 。(図6の★の箇所) この処理を繰り返していくことで,表側カテゴリのノードの関係,行数などが全てメモリ上に展開される。最後にこれらの管理情報をインデックスファイルとして,ファイルに書き出しを行う。(図5−8)
具体的には、まず最上位階層を基点として、当該階層として認識されたカテゴリ”冷暖房””家事”を表側1の管理情報に含まれるカテゴリの名称を記録し、続いて”冷暖房””家事”のCSVファイル上での開始レコード位置と行数とを記録し、最後にカテゴリ”冷暖房””家事”の夫々に含まれる下位階層の管理情報について、そのインデックスファイル上での始まり位置のポインタを記録する(図3−1)。
【0037】
以下、同様に階層ごとにカテゴリの名称と、当該カテゴリのCSVファイル上での開始レコード位置と行数、当該カテゴリに含まれる下位階層の管理情報のインデックスファイル上での始まり位置のポインタを順次記録し、管理情報を作成していく。
4)インデックスファイルを用いたCSVファイルからのデータの抽出処理
インデックスファイルを用いたCSVファイルからのデータの抽出処理について、図2のフローチャートを用いて説明する。
【0038】
まずエンドユーザは表示方法を選択する(図2−4)。これは図8上段に示すデータ抽出表示 (図2−5乃至8)と図8下段に示すドリルダウン帳票の表示( 図2−10乃至14)を選択するものである。
【0039】
データ抽出処理が選択された場合(図2−5)、続いて抽出条件を指定する。例えば,商品大分類=" 冷暖房" ,商品中分類="エアコンいった条件である(図2−6)。これらの抽出条件と一致するCSV ファイル上でのレコード開始位置と,対象行数をインデックスファイルより取得する。インデックスファイルは再帰的な構造であるため,抽出条件から,ダイレクトに,レコード開始位置と,対象行数を取り出すことができる(図2−7)。このレコード開始位置と,対象行数を元に,CSV ファイルから,表示データを抽出する(図2−8)。抽出そのものは,通常のファイルのopen,read,close で行う。抽出されたデータは,数行のものであり,エンドユーザが情報活用を行う画面に表示される。データの抽出,表示は,エンドユーザによって繰り返されるが,本発明のインデックスファイルにより,表示したいデータは,CSVファイルから,即座に抽出することがが可能である。このようにして表示された出力結果の例を図8の上段に示す。
【0040】
一方ドリルダウン帳票の出力が指定された場合(図2−11)は、ドリルダウンの条件が入力により指示されると(図2−12) 、ドリルダウン条件と一致するカテゴリの下位ノードの開始位置を当カテゴリのインデックスファイルより認識し、予め定められた条件のレコード位置を取得して、被検索ファイルからデータを抽出する。これを、指定されたカテゴリの分だけ繰り返す(図2−13)。
【0041】
例えば、例えばカテゴリ”冷暖房”がクリックされると、図3に示すように最上位の階層”商品大分類”にカテゴリ(キー文字列)”冷暖房”は存在するので、そのカテゴリ”冷暖房”の下位の階層の情報の開始位置を認識して、”冷暖房”に関するノードの管理情報を読み出し、該管理情報には”エアコン””扇風機”が存在するので、これらのカテゴリに関するCSVファイル上の開始レコード位置を取り出して該開始レコード位置に基づいて情報を取り出す。この例では、中計となるカテゴリのレコードを抽出するよう設定がなされているので、" 冷暖房”の下位階層の”エアコン””扇風機”と”中計”の情報を表示する(図8下段)。
【0042】
本発明に関して更に以下の項(付記)を開示する。
(付記1) 複数の階層毎に割り当てられたフィールドを有するレコードからなり、かつ同一階層におけるフィールドのキー文字列が一致するレコードは連続するように構成された被検索ファイルを検索するファイル検索装置であって、
前記被検索ファイルのレコードを複数の階層を用いて分類することにより得られる木構造のノード毎に、当該ノードに含まれるキー文字列名と、前記被検索ファイル上で該キー文字列のフィールドを有するレコードの開始位置情報及びレコード数情報とを含む管理情報を設けるインデックスファイルと、
前記被検索ファイルから、指定されたキー文字列に関するデータの検索を指示するための入力手段と、
該入力手段からの指示に基づいて、前記インデックスファイルから当該キー文字列に関する前記被検索ファイル上でのレコードの開始位置情報及びレコード数情報を抽出し、前記被検索ファイルから該レコードの開始位置情報で特定されるレコードから前記レコード数情報で特定されるレコード数のレコードを抽出する手段と、
該抽出されたレコードの情報を出力する出力手段と、
を有することを特徴とするファイル検索装置。
(付記2)複数の階層毎に割り当てられたフィールドを有するレコードからなり、かつ同一階層におけるフィールドのキー文字列が一致するレコードは連続するように構成された被検索ファイルを検索するファイル検索装置であって、
前記被検索ファイルのレコードを複数の階層を用いて分類することにより得られる木構造のノード毎に、当該ノードに含まれるキー文字列名と、前記被検索ファイル上で該キー文字列のフィールドを有するレコードの開始位置情報及びレコード数情報と、該キー文字列毎に設けられる下位階層のノード管理情報の位置を示すポインタとを含む管理情報を設けるインデックスファイルと、
前記被検索ファイルから、指定されたキー文字列に関するデータの検索を指示するための入力手段と、
該入力手段からの指示に基づいて、前記インデックスファイルから当該キー文字列に関する下位階層のノード管理情報のポインタに基づいて該下位階層のノード管理情報のレコードの開始位置を認識して、該レコードの開始位置に基づいて前記被検索ファイルのレコードの情報を抽出する手段と、
該抽出されたレコードの情報を出力する出力手段と、
を有することを特徴とするファイル検索装置。
(付記3)複数の階層毎に割り当てられたキー文字列を有するレコードからなり、かつ同一階層におけるフィールドのキー文字列が一致するレコードは連続するように構成された被検索ファイルを検索するために、前記被検索ファイルのレコードを複数の階層を用いて分類することにより得られる木構造のノード毎に、当該ノードに含まれるキー文字列名と、前記被検索ファイル上で該キー文字列を有するレコードの開始位置情報及びレコード数情報とを含む管理情報を設けるインデックスファイルを作成するインデックスファイル作成装置であって、
階層数を認識する手段と、
前記ノード毎に設けられるノード管理情報を作成するために、被検索ファイル上で当該ノードの階層に含まれるキー文字列を含むレコードの開始レコード位置を取得し、該開始レコードに続くレコードを読み込んで該開始レコードのキー文字列と一致するレコード数を検出し、該開始レコード位置の情報と該レコード数の情報とを該ノード管理情報に書き込むノード管理情報作成処理を、前記階層数認識手段で認識した全ての階層のノードに対して実行するノード管理情報作成手段とを有することを特徴とするインデックスファイル作成装置。
(付記4)上記ノード管理情報作成処理は、更に下位階層のノード管理情報の記録位置を示すポインタをノード管理情報に記録することを特徴とする付記3に記載のインデックスファイル作成装置。
(付記5)複数の階層毎に割り当てられたフィールドを有するレコードからなり、かつ同一階層におけるフィールドのキー文字列が一致するレコードは連続するように構成された被検索ファイルに対する検索を、前記被検索ファイルのレコードを複数の階層を用いて分類することにより得られる木構造のノード毎に、当該ノードに含まれるキー文字列名と、前記被検索ファイル上で該キー文字列を有するレコードの開始位置情報及びレコード数情報とを含む管理情報を設けたインデックスファイルを用いて行うファイル検索装置により実行されるファイル検索プログラムであって、
前記被検索ファイルから、指定されたキー文字列に関するデータの検索を指示するステップと、
該入力手段からデータ検索の指示がなされると、前記インデックスファイルから当該キー文字列に関する前記被検索ファイル上でのレコードの開始位置情報及びレコード数情報を抽出し、前記被検索ファイルから該レコードの開始位置情報で特定されるレコードから前記レコード数情報で特定されるレコード数のレコードを抽出するステップと、
該抽出されたレコードの情報を出力するステップと、
を有することを特徴とするファイル検索プログラム。
(付記6)複数の階層毎に割り当てられたフィールドを有するレコードからなり、かつ同一階層におけるフィールドのキー文字列が一致するレコードは連続するように構成された被検索ファイルを検索を、前記被検索ファイルのレコードを複数の階層を用いて分類することにより得られる木構造のノード毎に、当該ノードに含まれるキー文字列名と、前記被検索ファイル上で該キー文字列のフィールドを有するレコードの開始位置情報及びレコード数情報と、該キー文字列毎に設けられる下位階層のノード管理情報の位置を示すポインタとを含む管理情報を設けるインデックスファイルを用いて行うファイル検索装置により実行されるファイル検索プログラムであって、
前記被検索ファイルから、指定されたキー文字列に関するデータの検索を指示するためのステップと、
該入力手段からの指示に基づいて、前記インデックスファイルから当該キー文字列に関する下位階層のノード管理情報のポインタに基づいて該下位階層のノード管理情報のレコードの開始位置を認識して、該レコードの開始位置に基づいて前記被検索ファイルのレコードの情報を抽出するステップと、
該抽出されたレコードの情報を出力するステップと、
を有することを特徴とするファイル検索プログラム。
(付記7)複数の階層毎に割り当てられたキー文字列を有するレコードからなり、かつ同一階層におけるフィールドのキー文字列が一致するレコードは連続するように構成された被検索ファイルを検索するために用いられる、前記被検索ファイルのレコードを複数の階層を用いて分類することにより得られる木構造のノード毎に、当該ノードに含まれるキー文字列名と、前記被検索ファイル上で該キー文字列を有するレコードの開始位置情報及びレコード数情報とを含む管理情報を設けるインデックスファイルを作成するインデックスファイル作成装置により実行されるインデックスファイル作成プログラムであって、
階層数を認識するステップと、
前記ノード毎に設けられるノード管理情報を作成するために、被検索ファイル上で当該ノードの階層に含まれるキー文字列を含むレコードの開始レコード位置を取得し、該開始レコードに続くレコードを読み込んで該開始レコードのキー文字列と一致するレコード数を検出し、該開始レコード位置の情報と該レコード数の情報とを該ノード管理情報に書き込むノード管理情報作成処理を、前記階層数認識手段で認識した全ての階層のノードに対して実行するステップとを有することを特徴とするインデックスファイル作成プログラム。
(付記8)上記ノード管理情報作成処理ステップは、更に下位階層のノード管理情報の記録位置を示すポインタをノード管理情報に記録することを特徴とする付記3に記載のインデックスファイル作成プログラム。
【0043】
【発明の効果】
−以上説明したように、本発明のファイル検索装置およびインデックスファイル作成装置によれば、インデックスファイルを採用することで,大規模なCSV ファイルからのデータ抽出が飛躍的に高速化される。この効果の例を図9に示す。
【0044】
また,このインデックスファイルを応用し,データ抽出の他にも,ドリリング機能としても使用することが可能となる。
【0045】
また、インデックスファイルは,CSV ファイルとは独立した,別ファイルとなっており,元のCSVファイルには影響を与えていない。従来のデータベースのように、データとインデックスが一体化されたものとは異なり,入力元となるCSV ファイルがオープン的である。
【0046】
更にインデックスファイルを外付けにすることで,入力データとなるCSVファイルはオープン性が高まるが,営業情報支援システムなど、更新頻度が高く,かつ,表示データも即時性が求められるようなシステムについても,自システムにデータをとり込まずに済む分だけ,即時的なデータ活用が可能となる。
【図面の簡単な説明】
【図1】 本発明の一実施形態の構成を示すブロック図である。
【図2】 本発明の一実施形態の全体的な処理を説明するフローチャートである。
【図3】 本発明の一実施形態におけるCSVファイルおよびインデックスファイルの例を示す図である。
【図4】 本発明の一実施形態のインデックスファイルの再帰構造を示す図である。
【図5】 本発明の一実施形態におけるインデックスファイルの作成処理を示すフローチャートである。
【図6】 本発明の一実施形態における、インデックスファイルによる管理構造を示す図である。
【図7】 本発明の一実施形態における、ブレイクの判定の例を示す図である。
【図8】 本発明の一実施形態における出力表示の例を示す図である。
【図9】 本発明の効果を示す図である。
【符号の説明】
1 データベース
2 抽出処理
3 被検索ファイル
4 インデックスファイル作成処理
41 階層認識処理
42 ノード管理情報作成処理
5 インデックスファイル
6 ファイル検索処理
61 入力処理
62 抽出処理
63 出力処理
7 出力結果
Claims (4)
- 被検索ファイルを検索するファイル検索装置であって、
前記被検索ファイルのレコードの第一フィールドを最上位階層とし、以下のフィールドは前のフィールドの下位階層をなすデータ構造を有するレコードを有し、前記各階層のフィールドにはカテゴリを表すキー文字列が含まれ、最上位階層のフィールドのキー文字列が同じレコードは連続し、以下の階層のフィールドのキー文字列は、前のフィールドのキー文字列が同じキー文字列である範囲内で、その階層のフィールドのキー文字列が同じレコードが連続するようにレコードが並んでいる被検索ファイルに基づいて予め作成され、最上位から最下位の階層まで、各階層の同じキー文字列毎に、キー文字列を示すレコードと、そのキー文字列の開始レコード位置を示すレコードと、そのキー文字列の行数を示すレコードと、次の階層の情報の始まり位置を示すレコードとを含むインデックスファイルと、
前記被検索ファイルから、指定されたキー文字列に関するデータを抽出する条件を入力するための入力手段と、
該入力手段からの指示に基づいて、前記インデックスファイルから当該キー文字列に関する前記被検索ファイル上での開始レコード位置及び行数を抽出し、前記被検索ファイルから該開始レコード位置で特定されるレコードから前記行数で特定されるレコード数のレコードを抽出する手段と、
該抽出されたレコードの情報を出力する出力手段と、を有することを特徴とするファイル検索装置。 - 被検索ファイルを検索するファイル検索装置であって、
前記被検索ファイルのレコードの第一フィールドを最上位階層とし、以下のフィールドは前のフィールドの下位階層をなすデータ構造を有するレコードを有し、前記各階層のフィールドにはカテゴリを表すキー文字列が含まれ、最上位階層のフィールドのキー文字列が同じレコードは連続し、以下の階層のフィールドのキー文字列は、前のフィールドのキー文字列が同じキー文字列である範囲内で、その階層のフィールドのキー文字列が同じレコードが連続するようにレコードが並んでいる被検索ファイルに基づいて予め作成され、最上位から最下位の階層まで、各階層の同じキー文字列毎に、キー文字列を示すレコードと、そのキー文字列の開始レコード位置を示すレコードと、そのキー文字列の行数を示すレコードと、次の階層の情報の始まり位置を示すレコードとを含むインデックスファイルと、
前記被検索ファイルから、指定されたキー文字列に関するデータを抽出する条件を入力するための入力手段と、
該入力手段からの指示に基づいて、前記インデックスファイルから前記指定されたキー文字列を含む階層の下位の階層の開始レコード位置及び行数を、前記インデックスファイルから前記次の階層の情報の始まり位置を取得することにより認識して、該開始レコード位置及び行数に基づいて前記被検索ファイルのレコードの情報を抽出する手段と、
該抽出されたレコードの情報を出力する出力手段と、を有することを特徴とするファイル検索装置。 - 更に、前記インデックスファイルを検索前に作成するインデックスファイル作成処理手段を備え、
該インデックスファイル作成処理手段は、
利用者から階層数を入力する手段と、
前記被検索ファイルから被検索ファイル上で同一の階層のフィールドのキー文字列が同じレコードの開始レコード位置を取得し、該開始レコードに続くレコードを読み込んで該開始レコードのキー文字列と一致する行数を検出し、該開始レコード位置の情報と、該行数の情報と、前記キー文字列に関する下位の階層の情報のインデックスファイル上での始まり位置を示すポインタとを含むノード管理情報を書き込む管理情報作成処理を、前記入力手段から入力された前記階層数の全ての階層のノードに対して実行する管理情報作成手段と、を有する請求項1に記載のファイル検索装置。 - 被検索ファイルのレコードの第一フィールドを最上位階層とし、以下のフィールドは前のフィールドの下位階層をなすデータ構造を有するレコードを有し、前記各階層のフィールドにはカテゴリを表すキー文字列が含まれ、最上位階層のフィールドのキー文字列が同じレコードは連続し、以下の階層のフィールドのキー文字列は、前のフィールドのキー文字列が同じキー文字列である範囲内で、その階層のフィールドのキー文字列が同じレコードが連続するようにレコードが並んでいる被検索ファイルに対する検索を、被検索ファイルの検索を最上位から最下位の階層まで、各階層の同じキー文字列毎に、キー文字列を示すレコードと、そのキー文字列の開始レコード位置を示すレコードと、そのキー文字列の行数を示すレコードと、次の階層の情報の始まり位置を示すレコードとを含むインデックスファイルを用いて行うファイル検索装置に実行させるファイル検索プログラムであって、
前記被検索ファイルから、指定されたキー文字列に関するデータの検索を指示する手順と、
前記指定されたキー文字列に関するデータの検索が指示されると、前記インデックスファイルから当該キー文字列に関する前記被検索ファイル上での開始レコード位置及び行数を抽出し、前記被検索ファイルから該開始レコード位置で特定されるレコードから前記行数で特定されるレコード数のレコードを抽出する手順と、
該抽出されたレコードの情報を出力する手順と、をコンピュータに実行させるためのファイル検索プログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001359788A JP4490012B2 (ja) | 2001-11-26 | 2001-11-26 | ファイル検索装置、ファイル検索プログラム |
US10/301,635 US7143086B2 (en) | 2001-11-26 | 2002-11-22 | File search method and apparatus, and index file creation method and device |
EP02258100A EP1315103B1 (en) | 2001-11-26 | 2002-11-25 | File search method and apparatus, and index file creation method and device |
DE60224763T DE60224763T2 (de) | 2001-11-26 | 2002-11-25 | Verfahren und Gerät zur Dateisuche, und Verfahren und Vorrichtung zur Erzeugung von Indexdateien |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001359788A JP4490012B2 (ja) | 2001-11-26 | 2001-11-26 | ファイル検索装置、ファイル検索プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003162545A JP2003162545A (ja) | 2003-06-06 |
JP4490012B2 true JP4490012B2 (ja) | 2010-06-23 |
Family
ID=19170730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001359788A Expired - Lifetime JP4490012B2 (ja) | 2001-11-26 | 2001-11-26 | ファイル検索装置、ファイル検索プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US7143086B2 (ja) |
EP (1) | EP1315103B1 (ja) |
JP (1) | JP4490012B2 (ja) |
DE (1) | DE60224763T2 (ja) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010044796A1 (en) * | 2000-05-19 | 2001-11-22 | Hiroyasu Fujiwara | Totalization system and recording medium |
US20050251716A1 (en) * | 2004-05-07 | 2005-11-10 | International Business Machines Corporation | Software to test a storage device connected to a high availability cluster of computers |
US7783615B1 (en) * | 2005-09-30 | 2010-08-24 | Emc Corporation | Apparatus and method for building a file system index |
JP4328762B2 (ja) * | 2005-12-06 | 2009-09-09 | キヤノン株式会社 | 情報処理装置、情報処理方法、プログラム及び記憶媒体 |
US7747628B2 (en) * | 2006-04-05 | 2010-06-29 | Computer Associates Think, Inc. | System and method for automated construction, retrieval and display of multiple level visual indexes |
JP4193863B2 (ja) * | 2006-04-18 | 2008-12-10 | セイコーエプソン株式会社 | インデックス作成機能付き携帯機器、その制御方法及びそのプログラム |
JP4861078B2 (ja) * | 2006-06-30 | 2012-01-25 | 富士通株式会社 | 索引作成プログラム、索引作成装置および索引作成方法 |
SG140510A1 (en) * | 2006-09-01 | 2008-03-28 | Yokogawa Electric Corp | System and method for database indexing, searching and data retrieval |
US7873625B2 (en) * | 2006-09-18 | 2011-01-18 | International Business Machines Corporation | File indexing framework and symbolic name maintenance framework |
US9009655B2 (en) * | 2008-09-28 | 2015-04-14 | KOUSOKUYA, Inc. | Code string search apparatus, search method, and program |
JP5544118B2 (ja) * | 2009-06-30 | 2014-07-09 | 株式会社日立製作所 | データ処理装置、及び処理方法 |
CA2772746C (en) * | 2009-08-31 | 2019-06-11 | Exalead | Trusted query system and method |
JP2011065546A (ja) | 2009-09-18 | 2011-03-31 | Hitachi Solutions Ltd | ファイル検索システム及びプログラム |
US8407588B1 (en) | 2009-10-22 | 2013-03-26 | The Boeing Company | Large columnar text file editor |
JP5190898B2 (ja) * | 2010-01-18 | 2013-04-24 | 株式会社高速屋 | コード列検索装置、検索方法及びプログラム |
JP5337745B2 (ja) | 2010-03-08 | 2013-11-06 | 株式会社日立製作所 | データ処理装置 |
US8965921B2 (en) * | 2012-06-06 | 2015-02-24 | Rackspace Us, Inc. | Data management and indexing across a distributed database |
JP6044377B2 (ja) * | 2013-02-07 | 2016-12-14 | 株式会社デンソー | 地点検索装置 |
US9946743B2 (en) * | 2015-01-12 | 2018-04-17 | Cisco Technology, Inc. | Order encoded manifests in a content centric network |
JP6863006B2 (ja) * | 2017-03-30 | 2021-04-21 | 富士通株式会社 | ファイル生成プログラム、ファイル生成方法およびファイル生成装置 |
CN110019019B (zh) * | 2019-03-21 | 2023-08-22 | 广东瑞恩科技有限公司 | 数据文件管理方法、装置、设备及计算机可读存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5257365A (en) * | 1990-03-16 | 1993-10-26 | Powers Frederick A | Database system with multi-dimensional summary search tree nodes for reducing the necessity to access records |
US5497485A (en) * | 1993-05-21 | 1996-03-05 | Amalgamated Software Of North America, Inc. | Method and apparatus for implementing Q-trees |
CA2117846C (en) * | 1993-10-20 | 2001-02-20 | Allen Reiter | Computer method and storage structure for storing and accessing multidimensional data |
JP2001167087A (ja) * | 1999-12-14 | 2001-06-22 | Fujitsu Ltd | 構造化文書検索装置,構造化文書検索方法,構造化文書検索用プログラム記録媒体および構造化文書検索用インデックス作成方法 |
SG103289A1 (en) * | 2001-05-25 | 2004-04-29 | Meng Soon Cheo | System for indexing textual and non-textual files |
-
2001
- 2001-11-26 JP JP2001359788A patent/JP4490012B2/ja not_active Expired - Lifetime
-
2002
- 2002-11-22 US US10/301,635 patent/US7143086B2/en not_active Expired - Lifetime
- 2002-11-25 DE DE60224763T patent/DE60224763T2/de not_active Expired - Lifetime
- 2002-11-25 EP EP02258100A patent/EP1315103B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP1315103A1 (en) | 2003-05-28 |
US20030101171A1 (en) | 2003-05-29 |
EP1315103B1 (en) | 2008-01-23 |
US7143086B2 (en) | 2006-11-28 |
DE60224763T2 (de) | 2009-01-22 |
DE60224763D1 (de) | 2008-03-13 |
JP2003162545A (ja) | 2003-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4490012B2 (ja) | ファイル検索装置、ファイル検索プログラム | |
US11157550B2 (en) | Image search based on feature values | |
JP5241370B2 (ja) | テーブル分類装置、テーブル分類方法及びテーブル分類プログラム | |
CN104765731B (zh) | 数据库查询优化方法和设备 | |
US20070185904A1 (en) | Graphics image generation and data analysis | |
US7584189B2 (en) | Sentence classification device and method | |
US20020055919A1 (en) | Method and system for gathering, organizing, and displaying information from data searches | |
JP2005122295A (ja) | 関係図作成プログラム、関係図作成方法、および関係図作成装置 | |
WO2007078814A2 (en) | Apparatus and method for strategy map validation and visualization | |
JP2000067065A (ja) | 文書画像識別方法および記録媒体 | |
JP4832952B2 (ja) | データベース解析システム及びデータベース解析方法及びプログラム | |
US6754388B1 (en) | Content-based retrieval of series data | |
JP3828379B2 (ja) | テスト仕様生成支援装置、方法、プログラム及び記録媒体 | |
KR20090069874A (ko) | 지식맵 분석을 위한 키워드 선정 및 유사도계수 선정 방법및 그 시스템과 그 방법에 대한 컴퓨터 프로그램을 저장한기록매체 | |
US20050065947A1 (en) | Thesaurus maintaining system and method | |
JP4250284B2 (ja) | 診療報酬明細書分析システム | |
US7689906B2 (en) | Technique for extracting data from structured documents | |
JP4886266B2 (ja) | 文献調査方法、文献調査システムおよび文献調査プログラム | |
JP4478579B2 (ja) | データ・エンティティ及びリレーショナル・データベース構造のグラフィック表示を変更するシステム、方法、及びコンピュータ・プログラム製品 | |
JP2009064191A (ja) | 情報検索支援装置、情報検索支援方法、プログラムおよび記録媒体 | |
CN116910650A (zh) | 数据识别方法、装置、存储介质及计算机设备 | |
JP4234841B2 (ja) | データ分析装置 | |
JP2842487B2 (ja) | データ編集方式 | |
JP3563315B2 (ja) | 樹状図表示方法及び樹状図表示システム | |
JP4569179B2 (ja) | ドキュメント検索装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040223 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070320 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070521 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20070521 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20070521 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20070531 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20070606 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070703 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070802 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070912 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20070928 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20080722 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100210 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100401 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130409 Year of fee payment: 3 |
|
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: 20140409 Year of fee payment: 4 |