JP2009129202A - Data processor, data processing method, and program - Google Patents
Data processor, data processing method, and program Download PDFInfo
- Publication number
- JP2009129202A JP2009129202A JP2007303720A JP2007303720A JP2009129202A JP 2009129202 A JP2009129202 A JP 2009129202A JP 2007303720 A JP2007303720 A JP 2007303720A JP 2007303720 A JP2007303720 A JP 2007303720A JP 2009129202 A JP2009129202 A JP 2009129202A
- Authority
- JP
- Japan
- Prior art keywords
- data
- processing
- query
- index
- structured
- 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
- 238000003672 processing method Methods 0.000 title claims description 6
- 238000013500 data storage Methods 0.000 claims description 39
- 238000000034 method Methods 0.000 claims description 28
- 238000000605 extraction Methods 0.000 claims description 22
- 238000013075 data extraction Methods 0.000 abstract description 13
- 238000004458 analytical method Methods 0.000 abstract description 8
- 238000006243 chemical reaction Methods 0.000 abstract description 3
- 239000000284 extract Substances 0.000 abstract description 2
- 238000013523 data management Methods 0.000 description 13
- 238000007726 management method Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 101150044251 OGT gene Proteins 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、データ処理装置、データ処理方法、および、プログラムに関する。 The present invention relates to a data processing device, a data processing method, and a program.
構造化されているデータ(構造化データ)に対する、検索、ソート、比較などの処理を高速化するために、データを構成する特定のデータ項目に、該データ項目の型や処理内容に適した各種のインデックスを付与することが行われている。
例えば、特許文献1、2は、リレーショナルデータベースに格納されている構造化データへのクエリの履歴を分析し、該構造化データを構成するデータ項目に自動的にインデックスを付与する技術を開示している。
In order to speed up processing such as search, sort, and comparison for structured data (structured data), various types of data that are suitable for the data item type and processing content The indexing has been done.
For example,
オフィス文書やログデータ等のように、明確な構造を持たないデータ(非構造化データ)がある。非構造化データは、べた書きされたテキストデータやバイナリデータ等であり、データ項目に分割されていないため、インデックスを付与して処理の高速化を行うことができない。 There is data (unstructured data) that does not have a clear structure, such as office documents and log data. The unstructured data is written text data, binary data, or the like, and is not divided into data items. Therefore, it is impossible to increase the processing speed by adding an index.
特許文献3は、あらかじめ作成した所定のルールに基づいて、非構造化文書(非構造化データ)を、データ項目を有する構造化文書(構造化データ)に変換する技術を開示している。
しかしながら、特許文献3に記載の技術では、変換するための所定のルールを変換先の構造化文書の形式毎に定義しなければならず、ユーザにとって大きな負担となる。
However, in the technique described in
また、非構造化データをテキストデータに変換し、形態素解析などの解析をして、全文検索インデックスを付与することで、非構造化データに対する処理を高速化できるようにすることも行われている。しかしながら、全文検索インデックスは、文字や文字列に対する処理を高速化するためのインデックスであるため、数値的な比較や集計処理などの処理を高速化することはできない。 In addition, it is possible to speed up the processing for unstructured data by converting unstructured data into text data, performing analysis such as morphological analysis, and assigning a full-text search index. . However, since the full-text search index is an index for speeding up processing for characters and character strings, processing such as numerical comparison and tabulation processing cannot be speeded up.
本発明は、上記実状に鑑みてなされたものであり、非構造化データに対する処理を従来より高速に行うことができるデータ処理装置等を提供することを目的とする。
また、本発明は、非構造化データを構造化する際における、ユーザの負担を軽減することができるデータ処理装置等を提供することを目的とする。
さらに、本発明は、処理の内容に適したインデックスをデータに付与することができるデータ処理装置等を提供することを目的とする。
The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a data processing apparatus and the like that can perform processing on unstructured data at a higher speed than before.
Another object of the present invention is to provide a data processing device and the like that can reduce the burden on the user when structuring unstructured data.
Furthermore, an object of the present invention is to provide a data processing apparatus or the like that can assign an index suitable for the content of processing to data.
上記目的を達成するため、本発明の第1の観点に係るデータ処理装置は、
非構造化データを記憶する非構造化データ記憶手段と、
前記非構造化データを処理対象とするクエリを受信するクエリ受信手段と、
前記クエリ受信手段で受信したクエリを解析して、該クエリによる処理の対象となる非構造化データの抽出条件を示す抽出条件情報と、該クエリによる処理が扱うデータ型を示す型情報と、該クエリによる処理のタイプを示した処理タイプ情報とを取得するクエリ情報取得手段と、
前記非構造化データから、前記抽出条件情報が示す条件に合致するデータを抽出し、抽出したデータを、前記型情報が示すデータ型に変換した構造化データを作成する構造化データ作成手段と、
前記構造化データ作成手段で作成した構造化データを記憶する構造化データ記憶手段と、
前記型情報と前記処理タイプ情報とに基づいて、前記構造化データ記憶手段に記憶した構造化データに対するインデックスデータを作成するインデックスデータ作成手段と、
前記インデックスデータ作成手段で作成したインデックスデータを記憶するインデックスデータ記憶手段と、
前記クエリ受信手段で受信したクエリによる処理を、処理対象データを前記構造化データ記憶手段に記憶した構造化データとして、前記インデックスデータ記憶手段に記憶したインデックスデータを参照して実行する、クエリ実行手段と、
を備えることを特徴とする。
In order to achieve the above object, a data processing apparatus according to the first aspect of the present invention provides:
Unstructured data storage means for storing unstructured data;
Query receiving means for receiving a query for processing the unstructured data;
Analyzing the query received by the query receiving means, extraction condition information indicating an extraction condition of unstructured data to be processed by the query, type information indicating a data type handled by the process by the query, Query information acquisition means for acquiring processing type information indicating the type of processing by the query,
Structured data creating means for extracting data that matches the condition indicated by the extraction condition information from the unstructured data, and creating structured data obtained by converting the extracted data into a data type indicated by the type information;
Structured data storage means for storing structured data created by the structured data creation means;
Index data creating means for creating index data for the structured data stored in the structured data storage means based on the type information and the processing type information;
Index data storage means for storing the index data created by the index data creation means;
Query execution means for executing processing by the query received by the query receiving means as structured data having processing target data stored in the structured data storage means with reference to the index data stored in the index data storage means When,
It is characterized by providing.
前記インデックスデータ作成手段は、
前記型情報と前記処理タイプ情報とに基づいてインデックスタイプを特定し、
特定したインデックスタイプのインデックスデータを作成してもよい。
The index data creation means includes
An index type is identified based on the type information and the processing type information,
You may create the index data of the specified index type.
上記目的を達成するため、本発明の第2の観点に係るデータ処理方法は、
コンピュータを用いてデータを処理するためのデータ処理方法であって、
非構造化データを処理対象とするクエリを受信するステップと、
受信したクエリを解析して、該クエリによる処理の対象となる非構造化データの抽出条件を示す抽出条件情報と、該クエリによる処理が扱うデータ型を示す型情報と、該クエリによる処理のタイプを示した処理タイプ情報とを取得するステップと、
前記非構造化データから、前記抽出条件情報が示す条件に合致するデータを抽出し、抽出したデータを、前記型情報が示すデータ型に変換した構造化データを作成するステップと、
前記型情報と前記処理タイプ情報とに基づいて、作成した構造化データに対するインデックスデータを作成するステップと、
受信したクエリによる処理を、処理対象データを作成した構造化データとして、作成したインデックスデータを参照して実行する、
ことを特徴とする。
In order to achieve the above object, a data processing method according to the second aspect of the present invention includes:
A data processing method for processing data using a computer,
Receiving a query for processing unstructured data;
Analyzing the received query, extraction condition information indicating the extraction condition of unstructured data to be processed by the query, type information indicating the data type handled by the process by the query, and the type of processing by the query Obtaining processing type information indicating
Extracting data that matches the condition indicated by the extraction condition information from the unstructured data, and creating structured data obtained by converting the extracted data into a data type indicated by the type information;
Creating index data for the created structured data based on the type information and the processing type information;
Execute the process based on the received query with reference to the created index data as structured data that created the data to be processed.
It is characterized by that.
上記目的を達成するため、本発明の第3の観点に係るプログラムは、
コンピュータを、
非構造化データを記憶する非構造化データ記憶手段と、
前記非構造化データを処理対象とするクエリを受信するクエリ受信手段と、
前記クエリ受信手段で受信したクエリを解析して、該クエリによる処理の対象となる非構造化データの抽出条件を示す抽出条件情報と、該クエリによる処理が扱うデータ型を示す型情報と、該クエリによる処理のタイプを示した処理タイプ情報とを取得するクエリ情報取得手段と、
前記非構造化データから、前記抽出条件情報が示す条件に合致するデータを抽出し、抽出したデータを、前記型情報が示すデータ型に変換した構造化データを作成する構造化データ作成手段と、
前記構造化データ作成手段で作成した構造化データを記憶する構造化データ記憶手段と、
前記型情報と前記処理タイプ情報とに基づいて、前記構造化データ記憶手段に記憶した構造化データに対するインデックスデータを作成するインデックスデータ作成手段と、
前記インデックスデータ作成手段で作成したインデックスデータを記憶するインデックスデータ記憶手段と、
前記クエリ受信手段で受信したクエリによる処理を、処理対象データを前記構造化データ記憶手段に記憶した構造化データとして、前記インデックスデータ記憶手段に記憶したインデックスデータを参照して実行する、クエリ実行手段と、
して機能させる。
In order to achieve the above object, a program according to the third aspect of the present invention provides:
Computer
Unstructured data storage means for storing unstructured data;
Query receiving means for receiving a query for processing the unstructured data;
Analyzing the query received by the query receiving means, extraction condition information indicating an extraction condition of unstructured data to be processed by the query, type information indicating a data type handled by the process by the query, Query information acquisition means for acquiring processing type information indicating the type of processing by the query,
Structured data creating means for extracting data that matches the condition indicated by the extraction condition information from the unstructured data, and creating structured data obtained by converting the extracted data into a data type indicated by the type information;
Structured data storage means for storing structured data created by the structured data creation means;
Index data creating means for creating index data for the structured data stored in the structured data storage means based on the type information and the processing type information;
Index data storage means for storing the index data created by the index data creation means;
Query execution means for executing processing by the query received by the query receiving means as structured data having processing target data stored in the structured data storage means with reference to the index data stored in the index data storage means When,
And make it work.
本発明によれば、クエリを解析した結果に基づいて、非構造化データを構造化する。そして、クエリの処理に最適なインデックスデータを、該構造化したデータの値に対して作成する。従って、非構造化データに対する処理を従来よりも高速に行うことが可能となる。 According to the present invention, unstructured data is structured based on the result of analyzing a query. Then, index data optimal for query processing is created for the structured data value. Therefore, it is possible to perform processing on unstructured data at a higher speed than in the past.
以下、本発明の実施形態に係るデータ処理装置1について、図面を参照して説明する。
データ処理装置1は、図1に示すように、入力部11と、出力部12と、記憶部13と、制御部14と、を備え、各部はバス15を介して互いに接続されている。
Hereinafter, a
As shown in FIG. 1, the
入力部11は、キーボードやマウス等によって構成され、データ処理装置1に様々な情報や指示を入力するものである。例えば、ユーザは、入力部11を操作して、データ検索などの処理要求(以下、クエリという)を入力する。
The
出力部12は、ディスプレイ等の表示装置から構成され、様々な情報を出力する。例えば、出力部12は、ユーザが入力したクエリによる処理の実行結果を示す画面を表示する。
The
記憶部13は、ハードディスク等から構成され、様々な情報、固定データ、および、制御部14が動作するためのプログラム等を記憶する。
また、記憶部13は、図2に示すように、非構造化データ記憶部131と、構造化データ記憶部132と、最適インデック選択用テーブル133と、インデックス記憶部134と、を備える。
The
As shown in FIG. 2, the
非構造化データ記憶部131は、非構造化データ(ワープロ文書、表計算文書、ログデータ等)と、該非構造化データの属性情報を記憶する非構造化データ管理テーブル131aとを記憶する。
非構造化データ管理テーブル131aは、図3に示すように、非構造化データ毎に、非構造化データIDと、該非構造化データの名称(ファイル名)と、該非構造化データの格納位置を示す情報とを記憶する。
The unstructured
As shown in FIG. 3, the unstructured data management table 131a includes an unstructured data ID, a name (file name) of the unstructured data, and a storage location of the unstructured data for each unstructured data. Information to be stored.
図2に戻り、構造化データ記憶部132は、後述するクエリ処理により構造化されたデータ(構造化データ)の値と、該構造化データの属性情報を記憶する構造化データ管理テーブル132aとを記憶する。
構造化データ管理テーブル132aは、図4に示すように、構造化データ毎に、構造化データIDと、該構造化データの抽出条件と、抽出の型とを記憶する。この抽出条件で、非構造化データから抽出したデータを抽出の型が示すデータ型に変換した値が、構造化データ記憶部132に、対応する構造化データの値として記憶される。
例えば、図4に示す構造化データ管理テーブル132aの先頭エントリより、構造化データID「1」の構造化データには、非構造化データ「発注書」の3行目、タブ位置5個目に位置するデータを数値型に変換したデータが、該構造化データの値として格納されていることがわかる。
Returning to FIG. 2, the structured
As shown in FIG. 4, the structured data management table 132a stores a structured data ID, an extraction condition for the structured data, and an extraction type for each structured data. Under this extraction condition, a value obtained by converting data extracted from unstructured data into a data type indicated by the extraction type is stored in the structured
For example, from the top entry of the structured data management table 132a shown in FIG. 4, the structured data with the structured data ID “1” includes the third row of the unstructured data “purchase order” and the fifth tab position. It can be seen that data obtained by converting the position data into a numerical type is stored as the value of the structured data.
構造化データの値は、構造化データ管理テーブル132aのエントリ毎に、構造化値IDを付与されて記憶される。図5は、図4に示す管理テーブルの先頭のエントリが示す構造化データ(構造化データIDが1である構造化データ)の値を示したものであり、該構造化データは3つの値「10776」、「6657」、「77879」を有していることを示している。また、各値にはそれぞれ構造化値IDが付与されている。 The value of the structured data is stored with a structured value ID for each entry of the structured data management table 132a. FIG. 5 shows the value of the structured data (structured data whose structured data ID is 1) indicated by the top entry of the management table shown in FIG. 10776 ”,“ 6657 ”, and“ 77879 ”. Each value is given a structured value ID.
図2に戻り、最適インデックス選択用テーブル133は、処理対象データを処理するのに最適なインデックスのタイプを選択するために参照されるテーブルである。
最適インデックス選択用テーブル133は、図6に示すように、処理対象データのデータ型と処理タイプの組みに対して、最適なインデックスのタイプを示す情報を格納する。
例えば、図6に示す最適インデックス選択用テーブル133の先頭エントリより、「数値型」のデータに対して「完全一致比較」をする処理に最適なインデックスのタイプは、「Hash Table」であることがわかる。
Returning to FIG. 2, the optimum index selection table 133 is a table that is referred to in order to select an optimum index type for processing the processing target data.
As shown in FIG. 6, the optimum index selection table 133 stores information indicating the optimum index type for the combination of the data type and the processing type of the processing target data.
For example, from the top entry of the optimum index selection table 133 shown in FIG. 6, the optimum index type for the “complete match comparison” processing for “numeric type” data is “Hash Table”. Recognize.
図2に戻り、インデックス記憶部134は、インデックスデータと、インデックスデータの属性情報を記憶するインデックス管理テーブル134aとを記憶する。
Returning to FIG. 2, the
インデックスデータは、処理対象データに対して行われる処理を高速に実行するために参照されるデータであり、インデックスのタイプ毎に異なる構造を有する。
図7に、インデックスタイプが「Hash Table」であるインデックスデータの構造の例を示す。このインデックスデータは、処理対象データである構造型データの値(構造化値)のハッシュ値を所定の式で算出し、算出したハッシュ値で構造化値のIDを分類したテーブルの構成を有している。そして、ある検索値を有する構造型データの値を検索する際には、まず、検索値のハッシュ値を求め、そのハッシュ値と一致する構造化値のIDを上述のインデックスデータから取得し、取得したIDを有する構造化値の中から、検索値に一致する構造化値を検索すればよく、インデックスデータを参照することにより、検索対象の構造化値が絞り込まれることになるため、検索処理が高速化する。
The index data is data that is referred to in order to execute processing performed on the processing target data at high speed, and has a different structure for each index type.
FIG. 7 shows an example of the structure of index data whose index type is “Hash Table”. This index data has a table structure in which hash values of structured type data values (structured values) that are processing target data are calculated by a predetermined formula, and structured value IDs are classified by the calculated hash values. ing. When searching for the value of structured data having a certain search value, first, the hash value of the search value is obtained, and the ID of the structured value that matches the hash value is obtained from the index data described above. It is only necessary to search for a structured value that matches the search value from among the structured values having the specified ID, and by referring to the index data, the structured value to be searched is narrowed down. Speed up.
インデックス管理テーブル134aは、図8に示すように、インデックスデータ毎に、該インデックスデータの作成元となる構造化データのIDと、インデックスのタイプと、インデックスデータの格納位置を示す情報とを対応付けて記憶する。
例えば、図8に示すインデックス管理テーブル134aの先頭エントリより、インデックスID「1」が示す構造化データには、インデックスタイプ「B−Tree」のインデックスデータがインデックス記憶部134の「/index/dat1」に作成されていることがわかる。
As shown in FIG. 8, the index management table 134a associates, for each index data, the ID of the structured data that is the creation source of the index data, the index type, and information indicating the storage location of the index data. And remember.
For example, from the top entry of the index management table 134a shown in FIG. 8, the structured data indicated by the index ID “1” includes the index data of the index type “B-Tree” in the
図1に戻り、制御部14は、データの演算処理を行うと共に、バス15を介して入力部11、出力部12、記憶部13を制御するものであり、CPU(Central Processing Unit)141、ROM(Read Only Memory)142、RAM(Random Access Memory)143等を備える。制御部14における演算処理及び制御処理は、具体的には、CPU141が、RAM143を作業領域として使用して各種データを一時的に記憶させながら、ROM142に記憶されている制御プログラムを実行することにより行われる。
また、制御部14は、ROM142や記憶部13に記憶されている制御プログラムに従って上記各部を制御することにより、データ処理装置1の後述する処理等を行う。
Returning to FIG. 1, the
In addition, the
データ処理装置1は、機能的には、図9に示すように、クエリ解析部21と、構造化データ/インデックス検索部22と、構造化データ/インデックス作成部23と、データ処理部24とを備える。なお、これらの各構成要素は、図1に示した制御部14が、同じく図1に示した入力部11、出力部12、又は記憶部13を制御することにより、実現する。
Functionally, the
クエリ解析部21は、ユーザによって入力されたクエリを受信し、受信したクエリを解析して、「処理対象データ抽出条件」、「処理対象データ型」、および、「処理タイプ」を示す情報を取得する。
The
「処理対象データ抽出条件」は、クエリが示す処理の処理対象となるデータを抽出するための条件を示した情報である。
「処理対象データ型」は、処理対象データ抽出条件で抽出した処理対象データを変換するデータの型を示した情報である。なお、「処理対象データ型」の類型化した候補の一覧(数値型、ベクトル型、文字列型、バイナリ型等)が、あらかじめ記憶部13に記憶されている。
「処理タイプ」は、処理対象データ抽出条件で抽出し、処理対象データ型で型変換した処理対象データに対して行う処理のタイプを示した情報である。なお、「処理タイプ」の類型化した候補の一覧(完全一致比較、前方一致比較、中間一致比較、後方一致比較、大小比較等)が、あらかじめ記憶部13に記憶されている。
The “processing target data extraction condition” is information indicating a condition for extracting data to be processed in the processing indicated by the query.
The “processing target data type” is information indicating a data type for converting the processing target data extracted under the processing target data extraction condition. Note that a list of candidates classified as “processing target data type” (numerical type, vector type, character string type, binary type, etc.) is stored in the
“Processing type” is information indicating the type of processing to be performed on the processing target data extracted under the processing target data extraction condition and converted into the processing target data type. A list of candidates classified as “processing type” (complete match comparison, forward match comparison, intermediate match comparison, backward match comparison, magnitude comparison, etc.) is stored in the
ここで、具体例を挙げて、「処理対象データ抽出条件」、「処理対象データ型」、「処理タイプ」について説明する。例えば、非構造化データ記憶部131に、非構造化データである複数のテキストファイルである「発注書」が格納されており、ユーザから「発注書の3行目のタブ位置5個目の項目を抽出し、数値変換した上で、最も大きな値を取得する」処理を示すクエリが入力された場合を考える。
この場合、「処理対象データ抽出条件」は「発注書の3行目のタブ位置5個目の項目」、「処理対象データ型」は「数値型」、「処理タイプ」は「大小比較」となる。
Here, the “processing target data extraction condition”, “processing target data type”, and “processing type” will be described with specific examples. For example, “unordered data” is stored in the unstructured
In this case, the “processing target data extraction condition” is “the item at the fifth tab position on the third line of the purchase order”, the “processing target data type” is “numeric type”, and the “processing type” is “large / small comparison”. Become.
構造化データ/インデックス検索部22は、クエリ解析部21が解析したクエリの処理対象のデータが既に構造化されて構造化データ記憶部132に記憶されているか否かを判別する。
そして、処理対象データが記憶されていると判別した場合には、構造化データ/インデックス検索部22は、最適インデックス選択用テーブル133、および、インデックス記憶部134を参照して、該処理対象データに対して最適なインデックスが作成されているか否かを判別する。
The structured data /
If it is determined that the processing target data is stored, the structured data /
構造化データ/インデックス作成部23は、構造化データ/インデックス検索部22が、処理対象データが構造化データ記憶部132に記憶されていないと判別した場合に、非構造化データ記憶部131から処理対象データを抽出して、抽出したデータを構造化して、構造化データ記憶部132に記憶する。そして、その構造化した処理対象データに最適なインデックスを最適インデックス選択用テーブル133を参照して作成し、インデックス記憶部134に記憶する。
また、構造化データ/インデックス作成部23は、構造化データ/インデックス検索部22が、処理対象データが構造化データ記憶部132に記憶されているが該処理対象データに最適なインデックスが作成されていないと判別した場合、最適なインデックスを最適インデックス選択用テーブル133を参照して作成し、インデックス記憶部134に記憶する。
When the structured data /
Further, the structured data /
データ処理部24は、クエリを実行する。なお、この際クエリの処理対象となるデータには、処理に最適なインデックスデータがインデックス記憶部134に記憶されており、データ処理部24は、このインデックスデータを参照して処理を高速に実行する。
そして、データ処理部24はその処理結果を出力部12に表示させる。
The
Then, the
続いて、データ処理装置1で、ユーザから入力されたクエリを実行する処理(クエリ処理)の動作について説明する。
Next, an operation of processing (query processing) for executing a query input by the user in the
ユーザから、データ処理装置1に記憶されている非構造化データを処理するためのクエリが入力部11より入力され、その入力情報が制御部14に送信されると、図10に示すような、クエリ処理が開始される。
When a query for processing unstructured data stored in the
まず、クエリ解析部21は、入力されたクエリを解析して、「処理対象データ抽出条件」、「処理対象データ型」、および、「処理タイプ」を取得する(ステップS10)。
First, the
続いて、構造化データ/インデックス検索部22は、ステップS10で取得した、「処理対象データ抽出条件」と「処理対象データ型」の組が、構造化データ管理テーブル132aに登録されているか否かを判別する(ステップS20)。
Subsequently, the structured data /
構造化データ管理テーブル132aに登録されていないと判別した場合(ステップS20;No)、クエリによる処理の対象となるデータ(処理対象データ)は、未だ構造化されていないことになり、構造化データ/インデックス作成部23は、処理対象データを構造化する構造化処理を行う(ステップS30)。
If it is determined that the data is not registered in the structured data management table 132a (step S20; No), the data to be processed by the query (processing target data) is not yet structured, and structured data. The
図11に、構造化処理(ステップS30)の詳細を示す。
まず、構造化データ/インデックス作成部23は、新たな構造化データIDを発行し、構造化データ管理テーブル132aにエントリを1つ追加する(ステップS31)。なお、この追加されるエントリの「処理対象データ抽出条件」、および、「処理対象データ型」は、ステップS10で取得したものとする。
FIG. 11 shows details of the structuring process (step S30).
First, the structured data /
続いて、構造化データ/インデックス作成部23は、非構造化データ記憶部131から、ステップS10で取得した「処理対象データ抽出条件」に合致する非構造化データの値を抽出する(ステップS32)。
Subsequently, the structured data /
続いて、構造化データ/インデックス作成部23は、ステップS32で抽出した非構造化データの値を、ステップS10で取得した「処理対象データ型」が示す型に変換する(ステップS33)。
Subsequently, the structured data /
そして、構造化データ/インデックス作成部23は、変換した値それぞれに、構造化値IDを付与し、ステップS31で構造化データ管理テーブル132aに追加したエントリが示す構造化データの値として、構造化データ記憶部132に記憶する(ステップS34)。
以上で、構造化処理は終了し、図10のステップS60に処理が移る。
Then, the structured data /
Thus, the structuring process ends, and the process moves to step S60 in FIG.
「処理対象データ抽出条件」と「処理対象データ型」との組が、構造化データ管理テーブル132aに登録されていると判別した場合(ステップS20;Yes)、構造化データ/インデックス検索部22は、この組みに対応付けられている構造化IDを取得する(ステップS40)。
When it is determined that the set of “processing target data extraction condition” and “processing target data type” is registered in the structured data management table 132a (step S20; Yes), the structured data /
そして、構造化データ/インデックス検索部22は、クエリによる処理を実行するのに最適なインデックスが作成されているか否かを判別する(ステップS50)。
具体的には、構造化データ/インデックス検索部22は、ステップS10で取得した「処理対象データ型」、および、「処理タイプ」の組みに対応付けられているインデックスタイプを、最適インデックス選択用テーブル133から取得する。そして、構造化データ/インデックス検索部22は、取得したインデックスタイプとステップS40で取得した構造化データIDとの組みがインデックス管理テーブル134aに記憶されているか否かを判別することで、最適なインデックスが作成されているか否かを判別する。
Then, the structured data /
Specifically, the structured data /
最適なインデックスが作成されていないと判別した場合(ステップS50;No)、処理をステップS60に移す。
最適なインデックスが作成されていると判別した場合(ステップS50;Yes)、処理をステップS70に移す。
If it is determined that an optimal index has not been created (step S50; No), the process proceeds to step S60.
If it is determined that an optimal index has been created (step S50; Yes), the process proceeds to step S70.
ステップS60で、構造化データ/インデックス作成部23は、インデックスを作成、登録するインデックス作成・登録処理を行う。
In step S60, the structured data /
図12に、インデックス作成・登録処理(ステップS60)の詳細を示す。
まず、構造化データ/インデックス作成部23は、クエリによる処理を実行するのに、最適なインデックスのタイプを取得する(ステッS61)。
具体的には、構造化データ/インデックス作成部23は、ステップS10で取得した「処理対象データ型」と「処理タイプ」の組みに関連付けられているインデックスタイプを最適インデックス選択用テーブル133から取得する。
FIG. 12 shows details of the index creation / registration process (step S60).
First, the structured data /
Specifically, the structured data /
続いて、構造化データ/インデックス作成部23は、ステップS40で取得した構造化データIDが示す構造化データの値、又は、ステップS30で構造化した構造化データの値を、構造化データ記憶部132から取得する(ステップS62)。
Subsequently, the structured data /
そして、構造化データ/インデックス作成部23は、ステップS61で取得したインデックスタイプに基づいた手法で、さきほど取得した構造化データの値を高速に処理するためのインデックスデータを作成し、インデックス記憶部134に記憶する(ステップS63)。
Then, the structured data /
そして、構造化データ/インデックス作成部23は、インデックス管理テーブル134aに、記憶したインデックスデータに対応するエントリを登録し(ステップS64)、インデックス作成・登録処理は終了する。
Then, the structured data /
図10に戻り、ステップS70で、データ処理部24は、クエリによる処理を実行する(ステップS70)。なお、この際、処理の対象となるデータは、構造化されて、構造化データ記憶部132に記憶されている。また、この構造化された処理対象データには、処理に最適なタイプのインデックスデータが作成されており、クエリによる処理の実行の際に、データ処理部24は、このインデックスデータを参照する。
Returning to FIG. 10, in step S <b> 70, the
続いて、データ処理部24は、クエリによる処理の結果を、出力部12に表示させる(ステップS80)。以上で、クエリ処理は終了する。
Subsequently, the
以上説明したように、この実施の形態では、クエリを解析して、クエリの処理対象である非構造化データを、ユーザによる操作を介することなく構造化データに変換する。そして、この構造化データを処理するのに最適なインデックスデータを作成する。そして、クエリを実行する際には、このインデックスデータを参照するため、非構造化データに対するクエリ処理を従来より高速に行うことが可能となる。 As described above, in this embodiment, a query is analyzed, and unstructured data that is a processing target of the query is converted into structured data without an operation by the user. Then, optimal index data for processing the structured data is created. When executing a query, the index data is referred to, so that query processing for unstructured data can be performed at a higher speed than in the past.
なお、この発明は上記実施の形態に限定されず、様々な応用が可能である。 In addition, this invention is not limited to the said embodiment, A various application is possible.
例えば、本実施形態では、明確な構造を持たない非構造化データをクエリの処理対象としたが、何らかの構造を持つものの、その使われ方が一定ではないようなデータ(半構造化データ)に対しても、本発明を適用しても同様な効果を得ることができる。
何故ならば、本発明では、半構造化データを処理対象とするクエリを解析した各種情報に基づいて、半構造化データを構造化してインデックスデータを作成するため、半構造化データの使われ方に適したインデックスが作成されるからである。
For example, in this embodiment, unstructured data that does not have a clear structure is the target of query processing, but data that has some structure, but whose usage is not constant (semi-structured data). On the other hand, the same effect can be obtained even when the present invention is applied.
This is because in the present invention, semi-structured data is structured and index data is created based on various types of information obtained by analyzing a query for processing semi-structured data. This is because a suitable index is created.
また、本実施形態では、処理対象となる非構造化データはデータ処理装置1に記憶されているものとしたが、これに限る必要はなく、記録媒体に格納されている非構造化データや、インターネットなどのネットワークを介して与えられる非構造化データを処理対象としてもよい。
In the present embodiment, the unstructured data to be processed is stored in the
なお、本発明のデータ処理装置は、専用のハードウェアに限られるものではなく、通常のコンピュータシステムによっても実現することができる。
具体的には、上記実施の形態では、データ処理装置1のプログラムが、メモリ等に予め記憶されているものとして説明した。しかし、上述の処理動作を実行させるためのプログラムを、フレキシブルディスク、CD−ROM(Compact Disk Read-Only Memory)、DVD(Digital Versatile Disk)、MO(Magneto-Optical disk)等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータにインストールすることにより、上述の処理を実行するデータ処理装置1を構成してもよい。
The data processing apparatus of the present invention is not limited to dedicated hardware, and can be realized by a normal computer system.
Specifically, in the above embodiment, the program of the
また、プログラムをインターネット等の通信ネットワーク上のサーバ装置が有するディスク装置等に格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するようにしてもよい。さらに、通信ネットワークを介してプログラムを転送しながら起動実行することによっても、上述の処理を達成することができる。
また、上述の機能を、OS(Operating System)が分担又はOSとアプリケーションの協働により実現する場合等には、OS以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロード等してもよい。
Further, the program may be stored in a disk device or the like included in a server device on a communication network such as the Internet, and may be downloaded to a computer by being superimposed on a carrier wave, for example. Furthermore, the above-described processing can also be achieved by starting and executing a program while transferring it via a communication network.
When the above functions are realized by an OS (Operating System) sharing or by cooperation between the OS and an application, only the part other than the OS may be stored in a medium and distributed. You may download it.
1 データ処理装置
131 非構造化データ記憶部
132 構造化データ記憶部
133 最適インデックス選択用テーブル
134 インデックス記憶部
21 クエリ解析部
22 構造化データ/インデックス検索部
23 構造化データ/インデックス作成部
24 データ処理部
1
Claims (4)
前記非構造化データを処理対象とするクエリを受信するクエリ受信手段と、
前記クエリ受信手段で受信したクエリを解析して、該クエリによる処理の対象となる非構造化データの抽出条件を示す抽出条件情報と、該クエリによる処理が扱うデータ型を示す型情報と、該クエリによる処理のタイプを示した処理タイプ情報とを取得するクエリ情報取得手段と、
前記非構造化データから、前記抽出条件情報が示す条件に合致するデータを抽出し、抽出したデータを、前記型情報が示すデータ型に変換した構造化データを作成する構造化データ作成手段と、
前記構造化データ作成手段で作成した構造化データを記憶する構造化データ記憶手段と、
前記型情報と前記処理タイプ情報とに基づいて、前記構造化データ記憶手段に記憶した構造化データに対するインデックスデータを作成するインデックスデータ作成手段と、
前記インデックスデータ作成手段で作成したインデックスデータを記憶するインデックスデータ記憶手段と、
前記クエリ受信手段で受信したクエリによる処理を、処理対象データを前記構造化データ記憶手段に記憶した構造化データとして、前記インデックスデータ記憶手段に記憶したインデックスデータを参照して実行する、クエリ実行手段と、
を備えることを特徴とする、データ処理装置。 Unstructured data storage means for storing unstructured data;
Query receiving means for receiving a query for processing the unstructured data;
Analyzing the query received by the query receiving means, extraction condition information indicating an extraction condition of unstructured data to be processed by the query, type information indicating a data type handled by the process by the query, Query information acquisition means for acquiring processing type information indicating the type of processing by the query,
Structured data creating means for extracting data that matches the condition indicated by the extraction condition information from the unstructured data, and creating structured data obtained by converting the extracted data into a data type indicated by the type information;
Structured data storage means for storing structured data created by the structured data creation means;
Index data creating means for creating index data for the structured data stored in the structured data storage means based on the type information and the processing type information;
Index data storage means for storing the index data created by the index data creation means;
Query execution means for executing processing by the query received by the query receiving means as structured data having processing target data stored in the structured data storage means with reference to the index data stored in the index data storage means When,
A data processing apparatus comprising:
前記型情報と前記処理タイプ情報とに基づいてインデックスタイプを特定し、
特定したインデックスタイプのインデックスデータを作成する、
ことを特徴とする請求項1に記載のデータ処理装置。 The index data creation means includes
An index type is identified based on the type information and the processing type information,
Create index data of the specified index type,
The data processing apparatus according to claim 1.
非構造化データを処理対象とするクエリを受信するステップと、
受信したクエリを解析して、該クエリによる処理の対象となる非構造化データの抽出条件を示す抽出条件情報と、該クエリによる処理が扱うデータ型を示す型情報と、該クエリによる処理のタイプを示した処理タイプ情報とを取得するステップと、
前記非構造化データから、前記抽出条件情報が示す条件に合致するデータを抽出し、抽出したデータを、前記型情報が示すデータ型に変換した構造化データを作成するステップと、
前記型情報と前記処理タイプ情報とに基づいて、作成した構造化データに対するインデックスデータを作成するステップと、
受信したクエリによる処理を、処理対象データを作成した構造化データとして、作成したインデックスデータを参照して実行する、
ことを特徴とする、データ処理方法。 A data processing method for processing data using a computer,
Receiving a query for processing unstructured data;
Analyzing the received query, extraction condition information indicating the extraction condition of unstructured data to be processed by the query, type information indicating the data type handled by the process by the query, and the type of processing by the query Obtaining processing type information indicating
Extracting data that matches the condition indicated by the extraction condition information from the unstructured data, and creating structured data obtained by converting the extracted data into a data type indicated by the type information;
Creating index data for the created structured data based on the type information and the processing type information;
Execute the process based on the received query with reference to the created index data as structured data that created the data to be processed.
The data processing method characterized by the above-mentioned.
非構造化データを記憶する非構造化データ記憶手段と、
前記非構造化データを処理対象とするクエリを受信するクエリ受信手段と、
前記クエリ受信手段で受信したクエリを解析して、該クエリによる処理の対象となる非構造化データの抽出条件を示す抽出条件情報と、該クエリによる処理が扱うデータ型を示す型情報と、該クエリによる処理のタイプを示した処理タイプ情報とを取得するクエリ情報取得手段と、
前記非構造化データから、前記抽出条件情報が示す条件に合致するデータを抽出し、抽出したデータを、前記型情報が示すデータ型に変換した構造化データを作成する構造化データ作成手段と、
前記構造化データ作成手段で作成した構造化データを記憶する構造化データ記憶手段と、
前記型情報と前記処理タイプ情報とに基づいて、前記構造化データ記憶手段に記憶した構造化データに対するインデックスデータを作成するインデックスデータ作成手段と、
前記インデックスデータ作成手段で作成したインデックスデータを記憶するインデックスデータ記憶手段と、
前記クエリ受信手段で受信したクエリによる処理を、処理対象データを前記構造化データ記憶手段に記憶した構造化データとして、前記インデックスデータ記憶手段に記憶したインデックスデータを参照して実行する、クエリ実行手段と、
して機能させるプログラム。 Computer
Unstructured data storage means for storing unstructured data;
Query receiving means for receiving a query for processing the unstructured data;
Analyzing the query received by the query receiving means, extraction condition information indicating an extraction condition of unstructured data to be processed by the query, type information indicating a data type handled by the process by the query, Query information acquisition means for acquiring processing type information indicating the type of processing by the query,
Structured data creating means for extracting data that matches the condition indicated by the extraction condition information from the unstructured data, and creating structured data obtained by converting the extracted data into a data type indicated by the type information;
Structured data storage means for storing structured data created by the structured data creation means;
Index data creating means for creating index data for the structured data stored in the structured data storage means based on the type information and the processing type information;
Index data storage means for storing the index data created by the index data creation means;
Query execution means for executing processing by the query received by the query receiving means as structured data having processing target data stored in the structured data storage means with reference to the index data stored in the index data storage means When,
Program to make it work.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007303720A JP5162215B2 (en) | 2007-11-22 | 2007-11-22 | Data processing apparatus, data processing method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007303720A JP5162215B2 (en) | 2007-11-22 | 2007-11-22 | Data processing apparatus, data processing method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009129202A true JP2009129202A (en) | 2009-06-11 |
JP5162215B2 JP5162215B2 (en) | 2013-03-13 |
Family
ID=40820047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007303720A Active JP5162215B2 (en) | 2007-11-22 | 2007-11-22 | Data processing apparatus, data processing method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5162215B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019502980A (en) * | 2015-12-01 | 2019-01-31 | アリババ グループ ホウルディング リミテッド | Index establishment method and device |
JP2023067730A (en) * | 2021-10-31 | 2023-05-16 | 株式会社Datafluct | Information processing system, information processing method, and information processing program |
WO2024062861A1 (en) * | 2022-09-21 | 2024-03-28 | 株式会社レゾナック | Information search device, method, and program |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000155756A (en) * | 1998-06-30 | 2000-06-06 | Toshiba Corp | Structured document saving method, data repeating device, and data transmitting and receiving device |
JP2001067369A (en) * | 1999-08-27 | 2001-03-16 | Nec Corp | Information retrieval system, information retrieval method and recording medium recording information retrieval probram |
JP2003323427A (en) * | 2002-05-02 | 2003-11-14 | Nippon Telegr & Teleph Corp <Ntt> | Xml information retrieving device and method, program for executing method, and recording medium for recording program for executing method |
JP2004178084A (en) * | 2002-11-25 | 2004-06-24 | Systems Engineering Constructions Co Ltd | Method, device and program for storing xml data, and recording medium with program recorded thereon |
JP2006106907A (en) * | 2004-09-30 | 2006-04-20 | Toshiba Corp | Structured document management system, method for constructing index, and program |
JP2006107434A (en) * | 2004-09-30 | 2006-04-20 | Microsoft Corp | Indexing forced query |
-
2007
- 2007-11-22 JP JP2007303720A patent/JP5162215B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000155756A (en) * | 1998-06-30 | 2000-06-06 | Toshiba Corp | Structured document saving method, data repeating device, and data transmitting and receiving device |
JP2001067369A (en) * | 1999-08-27 | 2001-03-16 | Nec Corp | Information retrieval system, information retrieval method and recording medium recording information retrieval probram |
JP2003323427A (en) * | 2002-05-02 | 2003-11-14 | Nippon Telegr & Teleph Corp <Ntt> | Xml information retrieving device and method, program for executing method, and recording medium for recording program for executing method |
JP2004178084A (en) * | 2002-11-25 | 2004-06-24 | Systems Engineering Constructions Co Ltd | Method, device and program for storing xml data, and recording medium with program recorded thereon |
JP2006106907A (en) * | 2004-09-30 | 2006-04-20 | Toshiba Corp | Structured document management system, method for constructing index, and program |
JP2006107434A (en) * | 2004-09-30 | 2006-04-20 | Microsoft Corp | Indexing forced query |
Non-Patent Citations (2)
Title |
---|
CSNG199800874002; 高橋克巳: '不均一で分散した情報の構造情報集との関連付けによる統合-情報統合ディレクトリ-' 電子情報通信学会論文誌 第J81-D-I巻,第5号, 19980525, pp.443-450, 社団法人電子情報通信学会 * |
JPN6012022919; 高橋克巳: '不均一で分散した情報の構造情報集との関連付けによる統合-情報統合ディレクトリ-' 電子情報通信学会論文誌 第J81-D-I巻,第5号, 19980525, pp.443-450, 社団法人電子情報通信学会 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019502980A (en) * | 2015-12-01 | 2019-01-31 | アリババ グループ ホウルディング リミテッド | Index establishment method and device |
US11003649B2 (en) | 2015-12-01 | 2021-05-11 | Alibaba Group Holding Limited | Index establishment method and device |
JP2023067730A (en) * | 2021-10-31 | 2023-05-16 | 株式会社Datafluct | Information processing system, information processing method, and information processing program |
JP7429374B2 (en) | 2021-10-31 | 2024-02-08 | 株式会社Datafluct | Information processing system, information processing method, and information processing program |
WO2024062861A1 (en) * | 2022-09-21 | 2024-03-28 | 株式会社レゾナック | Information search device, method, and program |
Also Published As
Publication number | Publication date |
---|---|
JP5162215B2 (en) | 2013-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9619571B2 (en) | Method for searching related entities through entity co-occurrence | |
EP3077918A1 (en) | Systems and methods for in-memory database search | |
US20180253439A1 (en) | Characterizing files for similarity searching | |
JP2017220204A (en) | Method and system for matching images with content using whitelists and blacklists in response to search query | |
JP5994490B2 (en) | Data search program, database device, and information processing system | |
JP6908644B2 (en) | Document search device and document search method | |
JP5162215B2 (en) | Data processing apparatus, data processing method, and program | |
US20160117352A1 (en) | Apparatus and method for supporting visualization of connection relationship | |
US20140358522A1 (en) | Information search apparatus and information search method | |
JP2009098811A (en) | Document sorting apparatus and program | |
JP6194180B2 (en) | Text mask device and text mask program | |
JP2020160494A (en) | Information processing apparatus, document management system and program | |
JP2016045552A (en) | Feature extraction program, feature extraction method, and feature extraction device | |
JP5127553B2 (en) | Information processing apparatus, information processing method, program, and recording medium | |
JP5184987B2 (en) | Index information creating apparatus, index information creating method and program | |
JP6707410B2 (en) | Document search device, document search method, and computer program | |
JP4489034B2 (en) | Structured document processing apparatus, structured document processing method, and structured document processing program | |
KR20160001167A (en) | Method and Apparatus for moving data in DBMS | |
JP2013125429A (en) | Analysis object determination device | |
CN112136123B (en) | Characterizing files for similarity searching | |
JP2011086152A (en) | Device, method and program for extracting time expression | |
JP2018018279A (en) | Document retrieval device and program | |
JP2018005759A (en) | Citation map generation device, citation map generation method, and computer program | |
Sah et al. | ‘Learning to Rank’Text Search Engine Platform for Internal Wikis | |
JP2015201024A (en) | Term standardization system, term standardization program, and term standardization method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100324 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120426 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120508 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120604 |
|
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: 20121120 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121217 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5162215 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: 20151221 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |