JP6849904B2 - Search program, search device and search method - Google Patents
Search program, search device and search method Download PDFInfo
- Publication number
- JP6849904B2 JP6849904B2 JP2016212018A JP2016212018A JP6849904B2 JP 6849904 B2 JP6849904 B2 JP 6849904B2 JP 2016212018 A JP2016212018 A JP 2016212018A JP 2016212018 A JP2016212018 A JP 2016212018A JP 6849904 B2 JP6849904 B2 JP 6849904B2
- Authority
- JP
- Japan
- Prior art keywords
- child
- parent
- name
- search
- unstructured
- 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.)
- Active
Links
Images
Description
本発明は、検索プログラム、検索装置および検索方法に関する。 The present invention relates to a search program, a search device, and a search method.
コンピュータで使用するデータベースの1つとして、関係データベースが知られている。関係データベースは、ER図(Entity Relationship Diagram)などに基づくデータモデルを正規化することで作成される。関係データベースは、データがテーブルの中に配置されており、データの検索時には、例えば、検索性能を向上させるためのインデックスを使用した検索が行われる。ただし、関係データベースに対する検索には、日本語文章に対する部分一致検索のように、インデックスが有効に機能しない検索がある。関係データベースに対するこのような検索は、処理が過大となり、実行が困難である。 A relational database is known as one of the databases used by a computer. A relational database is created by normalizing a data model based on an ER diagram (Entity Relationship Diagram) or the like. In the relational database, data is arranged in a table, and when searching for data, for example, a search using an index for improving search performance is performed. However, there are some searches for relational databases, such as partial match searches for Japanese sentences, where the index does not work effectively. Such a search on a relational database would be overkill and difficult to perform.
関係データベースを用いて検索をすることが困難な場合、非構造化データベースを用いることができる。非構造化データベースは、例えば、関係データベースを基に正規化の解除または正規化レベルを下げることにより作成される。非構造化データベースに対する検索では、検索性能が、インデックスではなく、検索対象の日本語文章のデータサイズに依存する。従って、関係データベースを基に非構造化データベースを作成しておくことで、関係データベースに対する実行が困難な検索を、非構造化データベースに対して実行することができる。 If it is difficult to search using a relational database, an unstructured database can be used. An unstructured database is created, for example, by denormalizing or lowering the normalization level based on a relational database. In a search against an unstructured database, the search performance depends on the data size of the Japanese text to be searched, not on the index. Therefore, by creating an unstructured database based on the relational database, it is possible to execute a search that is difficult to perform on the relational database on the unstructured database.
ここで、データベースに関する技術が提案されている。例えば、ワークフロー処理システムは、電子帳票の全データ項目に関する情報を抽出して案件属性テーブルを作成する。また、例えば、共通情報抽出装置は、n個(nは3以上の正の整数)のソフトウェア生産支援装置の内から2以上、n−1個以下のソフトウェア生産支援装置を抽出し、抽出したソフトウェア生産支援装置に共通する情報を共通情報ファイルとして生成する。共通情報抽出装置は、共通情報ファイルを含む共通データベースを構成する。局所化転送装置は、抽出したソフトウェア生産支援装置のいずれかに共通データベースを転送する。 Here, a technique related to a database is proposed. For example, the workflow processing system extracts information on all data items of the electronic form and creates a matter attribute table. Further, for example, the common information extraction device is software that extracts 2 or more and n-1 or less software production support devices from n (n is a positive integer of 3 or more) software production support devices. Generate information common to production support devices as a common information file. The common information extraction device constitutes a common database including a common information file. The localized transfer device transfers the common database to one of the extracted software production support devices.
非構造化データベースは、関係データベースに対して実行が困難な検索を実行できる一方、正規化レベルが低いため、冗長な情報を含む。そのため、非構造化データベースは関係データベースに比べてデータ量が多く、データ量の増大が、検索時間短縮の妨げとなっている。 Unstructured databases can perform difficult searches on relational databases, but because of their low level of normalization, they contain redundant information. Therefore, the unstructured database has a larger amount of data than the relational database, and the increase in the amount of data hinders the shortening of the search time.
1つの側面では、本発明は、非構造化データベースを用いた検索を高速化することを目的とする。 In one aspect, the present invention aims to speed up searches using unstructured databases.
1つの態様では、検索プログラムが提供される。この検索プログラムは、コンピュータに、要素名と要素内容とを示す検索情報を取得し、子要素名と子要素内容とを含む子要素を複数有する親要素が、複数格納されている非構造化データベースから、検索情報が示す要素名と要素内容とに一致する子要素名と子要素内容とを含む第1子要素を有する第1親要素を検索し、第1親要素が有する子要素のうち、第1子要素以外の第2子要素を取得し、非構造化データベースから、第2子要素と一致する子要素名と子要素内容とを含む子要素を有する、第1親要素以外の第2親要素を検索し、第1親要素または第2親要素が有する子要素を出力する、処理を実行させる。 In one aspect, a search program is provided. This search program acquires search information indicating the element name and the element content on the computer, and stores a plurality of parent elements having a plurality of child elements including the child element name and the child element content in an unstructured database. Searches for the first parent element having the first child element including the child element name and the child element content that match the element name and the element content indicated by the search information, and among the child elements of the first parent element, A second child element other than the first parent element that acquires a second child element other than the first child element and has a child element that includes a child element name and child element contents that match the second child element from an unstructured database. The process of searching the parent element and outputting the child element of the first parent element or the second parent element is executed.
また、1つの態様では、検索装置が提供される。この検索装置は記憶部と検索部とを有する。記憶部は、子要素名と子要素内容とを含む子要素を複数有する親要素を、複数格納する非構造化データベースを記憶する。検索部は、要素名と要素内容とを示す検索情報を取得し、非構造化データベースから、検索情報が示す要素名と要素内容とに一致する子要素名と子要素内容とを含む第1子要素を有する第1親要素を検索し、第1親要素が有する子要素のうち、第1子要素以外の第2子要素を取得し、非構造化データベースから、第2子要素と一致する子要素名と子要素内容とを含む子要素を有する、第1親要素以外の第2親要素を検索し、第1親要素または第2親要素が有する子要素を出力する。 Also, in one aspect, a search device is provided. This search device has a storage unit and a search unit. The storage unit stores an unstructured database that stores a plurality of parent elements having a plurality of child elements including a child element name and a child element content. The search unit acquires the search information indicating the element name and the element content, and from the unstructured database, the first child including the child element name and the child element content that match the element name and the element content indicated by the search information. The first parent element having an element is searched, the second child element other than the first child element among the child elements possessed by the first parent element is acquired, and the child matching the second child element is obtained from the unstructured database. A second parent element other than the first parent element having a child element including an element name and a child element content is searched, and the child element of the first parent element or the second parent element is output.
また、1つの態様では、検索方法が提供される。この検索方法は、コンピュータが、要素名と要素内容とを示す検索情報を取得し、子要素名と子要素内容とを含む子要素を複数有する親要素が、複数格納されている非構造化データベースから、検索情報が示す要素名と要素内容とに一致する子要素名と子要素内容とを含む第1子要素を有する第1親要素を検索し、第1親要素が有する子要素のうち、第1子要素以外の第2子要素を取得し、非構造化データベースから、第2子要素と一致する子要素名と子要素内容とを含む子要素を有する、第1親要素以外の第2親要素を検索し、第1親要素または第2親要素が有する子要素を出力する。 Also, in one aspect, a search method is provided. In this search method, a computer acquires search information indicating an element name and an element content, and an unstructured database in which a plurality of parent elements having a plurality of child elements including a child element name and a child element content are stored. Searches for the first parent element having the first child element including the child element name and the child element content matching the element name and the element content indicated by the search information, and among the child elements of the first parent element, A second child element other than the first parent element that acquires a second child element other than the first child element and has a child element that includes the child element name and the child element content that match the second child element from the unstructured database. The parent element is searched, and the child element of the first parent element or the second parent element is output.
1つの側面では、非構造化データベースを用いた検索を高速化できる。 On one side, searches using unstructured databases can be accelerated.
以下、本実施の形態について図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の検索装置を示す図である。検索装置1は、記憶部1aおよび検索部1bを有する。記憶部1aは、RAM(Random Access Memory)などの揮発性記憶装置でもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置でもよい。検索部1bは、例えば、プロセッサである。プロセッサには、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを含み得る。また、検索部1bは、マルチプロセッサであってもよい。
Hereinafter, the present embodiment will be described with reference to the drawings.
[First Embodiment]
FIG. 1 is a diagram showing a search device according to the first embodiment. The search device 1 has a
記憶部1aは、非構造化データベース1aaを記憶する。非構造化データベース1aaは、子要素名と子要素内容とを含む子要素を複数有する親要素を複数格納している。例えば、非構造化データベース1aaは、親要素1a1,1a2を格納する。親要素1a1は、子要素名“顧客名”と子要素内容“X1”とを含む子要素を有する。また、親要素1a1は、子要素名“オーダ番号”と子要素内容“Y1”とを含む子要素を有する。親要素1a2は、子要素名“オーダ番号”と子要素内容“Y1”とを含む子要素を有する。また、親要素1a2は、子要素名“製品ID(identifier)”と子要素内容“Z1”とを含む子要素を有する。
The
また、非構造化データベース1aaは、正規化レベルが高い状態で複数の親要素を格納する。すなわち、非構造化データベース1aaの冗長性は、少ない。なお、非構造化データベース1aaは、ユーザが検索装置1または他の装置を用いて作成されたものでもよいし、検索装置1が関係データベースを基に作成したものでもよい。 Further, the unstructured database 1aa stores a plurality of parent elements in a state where the normalization level is high. That is, the redundancy of the unstructured database 1aa is small. The unstructured database 1aa may be created by the user using the search device 1 or another device, or may be created by the search device 1 based on the relational database.
検索部1bは、検索情報2を取得する(ステップS1)。例えば、検索部1bは、ユーザが検索装置1に直接入力した検索情報2を取得する。または、検索部1bは、ネットワークを介して検索装置1に接続可能な他の装置から送信された検索情報2を取得する。検索情報2は、要素名と要素内容とを示す。例えば、検索情報2は、要素名“顧客名”と要素内容“X1”とを示す。 The search unit 1b acquires the search information 2 (step S1). For example, the search unit 1b acquires the search information 2 directly input by the user to the search device 1. Alternatively, the search unit 1b acquires the search information 2 transmitted from another device that can be connected to the search device 1 via the network. The search information 2 indicates an element name and an element content. For example, the search information 2 indicates an element name “customer name” and an element content “X1”.
検索部1bは、非構造化データベース1aaから、検索情報2が示す要素名と要素内容とに一致する子要素名と子要素内容とを含む第1子要素を有する第1親要素を検索する。例えば、検索部1bは、検索情報2が示す要素名“顧客名”と要素内容“X1”とに一致する子要素名と子要素内容とを含む子要素を有する親要素を検索する。そして、検索部1bは、親要素1a1を特定する(ステップS2)。 The search unit 1b searches the unstructured database 1aa for the first parent element having the first child element including the child element name and the child element content that match the element name and the element content indicated by the search information 2. For example, the search unit 1b searches for a parent element having a child element including a child element name and a child element content that match the element name “customer name” indicated by the search information 2 and the element content “X1”. Then, the search unit 1b identifies the parent element 1a1 (step S2).
検索部1bは、第1親要素が有する子要素のうち、第1子要素以外の第2子要素を取得する。例えば、検索部1bは、親要素1a1が有する子要素のうち、子要素名“顧客名”と子要素内容“X1”とを含む子要素以外の子要素を取得する。これにより、検索部1bは、子要素名“オーダ番号”と子要素内容“Y1”とを含む子要素を取得する(ステップS3)。 The search unit 1b acquires the second child element other than the first child element among the child elements of the first parent element. For example, the search unit 1b acquires child elements other than the child elements including the child element name “customer name” and the child element content “X1” among the child elements possessed by the parent element 1a1. As a result, the search unit 1b acquires the child element including the child element name “order number” and the child element content “Y1” (step S3).
検索部1bは、非構造化データベース1aaから、第2子要素と一致する子要素名と子要素内容とを含む子要素を有する、第1親要素以外の第2親要素を検索する。例えば、検索部1bは、子要素名“オーダ番号”と子要素内容“Y1”とを含む子要素と一致する要素名と要素内容とを含む子要素を有する親要素を検索する。また、検索部1bは、検索対象から親要素1a1を除く。そして、検索部1bは、親要素1a2を特定する(ステップS4)。 The search unit 1b searches the unstructured database 1aa for a second parent element other than the first parent element, which has a child element including a child element name and a child element content that match the second child element. For example, the search unit 1b searches for a parent element having a child element including an element name and an element content that matches the child element including the child element name “order number” and the child element content “Y1”. Further, the search unit 1b excludes the parent element 1a1 from the search target. Then, the search unit 1b identifies the parent element 1a2 (step S4).
検索部1bは、第1親要素または第2親要素が有する子要素を出力する(ステップS5)。例えば、検索部1bは、親要素1a1または親要素1a2が有する子要素を含む検索結果3を出力する。出力先は、検索装置1が有するディスプレイでもよいし、検索情報2を送信した他の装置でもよい。なお、検索部1bは、第1親要素および第2親要素が有する子要素を出力してもよい。
The search unit 1b outputs the child element of the first parent element or the second parent element (step S5). For example, the search unit 1b outputs a
ここで、非構造化データベースは、関係データベースに対して実行が困難な検索を実行できる一方、正規化レベルが低いため、冗長な情報を含む。そのため、非構造化データベースは関係データベースに比べてデータ量が多く、データ量の増大が、検索時間短縮の妨げとなっている。 Here, the unstructured database can perform difficult searches on the relational database, but contains redundant information due to the low level of normalization. Therefore, the unstructured database has a larger amount of data than the relational database, and the increase in the amount of data hinders the shortening of the search time.
第1の実施の形態によれば、非構造化データベース1aaは、正規化レベルが高い状態で複数の親要素を格納する。そのため、非構造化データベース1aaは、正規化レベルが低い非構造化データベースに比べて冗長性が少ない。すなわち、非構造化データベース1aaは、正規化レベルが低い非構造化データベースに比べてデータ量が少ない。検索装置1は、データ量が少ない非構造化データベース1aaを用いて検索することで、非構造化データベースを用いた検索を高速化できる。 According to the first embodiment, the unstructured database 1aa stores a plurality of parent elements with a high normalization level. Therefore, the unstructured database 1aa has less redundancy than the unstructured database having a low normalization level. That is, the unstructured database 1aa has a smaller amount of data than the unstructured database having a low normalization level. The search device 1 can speed up the search using the unstructured database by searching using the unstructured database 1aa having a small amount of data.
また、検索部1bは、上記で記載したように関係データベースに基づいて、関係データベースと同じ正規化レベルの非構造化データベース1aaを作成してもよい。例えば、検索部1bは、関係データベースに含まれるテーブル内のレコードに対応する親要素を生成し、レコードに設定された値に対応する子要素を作成し、作成した子要素を、レコードに対応する親要素に含める。これにより、検索装置1は、正規化レベルが高い状態の非構造化データベース1aaを保持することができる。 Further, the search unit 1b may create an unstructured database 1aa having the same normalization level as the relational database based on the relational database as described above. For example, the search unit 1b generates a parent element corresponding to a record in a table included in a relational database, creates a child element corresponding to a value set in the record, and corresponds the created child element to the record. Include in parent element. As a result, the search device 1 can hold the unstructured database 1aa in a state where the normalization level is high.
親要素は、親要素名を含んでもよい。例えば、親要素名は、親要素のタイトル名(例えば、図1の顧客情報や出荷情報)でもよいし、関係データベースを基に親要素が作成されている場合はテーブル名でもよい。記憶部1aは、親要素名と子要素名とを対応付けた第1定義を記憶してもよい。例えば、検索部1bは、第1親要素を検索する場合、第1定義を参照し、検索情報2が示す要素名と一致する子要素名に対応する親要素名を特定する。検索部1bは、特定した親要素名と一致する親要素名を有する親要素の中から、第1親要素を検索する。このように、非構造化データベース1aaに対する検索条件に親要素名が加わる。検索装置1は、非構造化データベース1aaに対する検索条件が多くなることで、的確な検索結果を得ることができる。
The parent element may include the parent element name. For example, the parent element name may be the title name of the parent element (for example, customer information or shipping information in FIG. 1), or may be a table name when the parent element is created based on the relational database. The
記憶部1aは、同じ子要素名の子要素をそれぞれが有する複数の親要素の親要素名を関係付けた第2定義を記憶してもよい。例えば、検索部1bは、第2親要素を検索する場合、第2定義を参照し、第1親要素の親要素名と関係を有し、第2子要素が示す要素名と一致する子要素名を有する親要素の親要素名を特定する。検索部1bは、特定した親要素名と一致する親要素名を有する親要素の中から、第2親要素を検索する。このように、検索装置1は、第2定義を有することで、第2親要素を特定できる。また、検索装置1は、第2定義を参照し、第1親要素の親要素名と関係を有し、第2子要素が示す要素名と一致する子要素名を有する親要素の親要素名を特定できない場合、第2子要素が示す要素名に基づく、親要素の検索を実行しない。これにより、検索装置1は、余計な検索処理を行わなくて済む。
The
検索部1bは、複数の親要素に含まれる親要素名と子要素に基づいて、第1定義と第2定義とを作成してもよい。検索装置1が第1定義と第2定義を自動で作成することで、ユーザが第1定義と第2定義を作成する手間を省くことができる。 The search unit 1b may create the first definition and the second definition based on the parent element name and the child element included in the plurality of parent elements. Since the search device 1 automatically creates the first definition and the second definition, the user can save the trouble of creating the first definition and the second definition.
[第2の実施の形態]
次に、第2の実施の形態について説明する。第2の実施の形態は、サーバが記憶する関係データベースに基づいて非構造化データベースを作成し、非構造化データベースを用いて検索を可能とする。
[Second Embodiment]
Next, the second embodiment will be described. In the second embodiment, an unstructured database is created based on the relational database stored in the server, and the unstructured database can be used for searching.
図2は、第2の実施の形態の情報処理システムを示す図である。第2の実施の形態の情報処理システムは、サーバ100および端末装置200を含む。サーバ100および端末装置200は、ネットワーク300を介して接続されている。ネットワーク300は、LAN(Local Area Network)でもよいし、WAN(Wide Area Network)やインターネットなどの広域ネットワークでもよい。
FIG. 2 is a diagram showing an information processing system according to the second embodiment. The information processing system of the second embodiment includes a
サーバ100は、関係データベースを記憶する。サーバ100は、関係データベースに基づいて非構造化データベースを作成する。サーバ100は、端末装置200から検索依頼を受信した場合、非構造化データベースを用いて検索を行う。サーバ100は、検索結果を端末装置200に送信する。
The
なお、サーバ100は、ユーザがサーバ100に直接入力した検索依頼に応じて、非構造化データベースを用いて検索を行ってもよい。
端末装置200は、ユーザが使用するクライアントコンピュータである。端末装置200は、サーバ100から取得した検索結果を自装置に表示することができる。
The
The
次に、サーバ100のハードウェアについて、説明する。
図3は、サーバのハードウェア例を示す図である。サーバ100は、プロセッサ101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、読み取り装置106および通信インタフェース107を有する。各ユニットがサーバ100のバスに接続されている。
Next, the hardware of the
FIG. 3 is a diagram showing an example of server hardware. The
プロセッサ101は、サーバ100全体を制御する。プロセッサ101は、例えば、CPU、DSP、ASICまたはFPGAなどである。また、プロセッサ101は、複数のプロセッシング要素を含むマルチプロセッサであってもよい。さらに、プロセッサ101は、CPU、DSP、ASIC、FPGAなどのうちの2以上の要素の組み合わせであってもよい。
The
RAM102は、サーバ100の主記憶装置である。RAM102は、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM102は、プロセッサ101による処理に用いる各種データを記憶する。
The
HDD103は、サーバ100の補助記憶装置である。HDD103は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。サーバ100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
The
画像信号処理部104は、プロセッサ101からの命令に従って、サーバ100に接続されたディスプレイ11に画像を出力する。ディスプレイ11としては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、有機EL(Electro-Luminescence)ディスプレイなど各種のディスプレイを用いることができる。
The image
入力信号処理部105は、サーバ100に接続された入力デバイス12から入力信号を取得し、プロセッサ101に出力する。入力デバイス12としては、マウスやタッチパネルなどのポインティングデバイスやキーボードなどの各種の入力デバイスを用いることができる。サーバ100には、複数の種類の入力デバイスが接続されてもよい。
The input
読み取り装置106は、記録媒体13に記録されたプログラムやデータを読み取る装置である。記録媒体13として、例えば、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、光磁気ディスク(MO:Magneto-Optical disk)を使用できる。また、記録媒体13として、例えば、フラッシュメモリカードなどの不揮発性の半導体メモリを使用することもできる。読み取り装置106は、例えば、プロセッサ101からの命令に従って、記録媒体13から読み取ったプログラムやデータをRAM102またはHDD103に格納する。
The
通信インタフェース107は、ネットワーク300を介して端末装置200と通信を行う。通信インタフェース107は、有線通信インタフェースでもよいし、無線通信インタフェースでもよい。
The
なお、端末装置200もサーバ100と同様のハードウェアにより実現できる。
次に、サーバ100の機能について説明する。
図4は、サーバの機能例を示す図である。サーバ100は、記憶部110、非構造化処理部120、定義情報作成部130、登録部140および検索部150を有する。
The
Next, the function of the
FIG. 4 is a diagram showing a functional example of the server. The
記憶部110は、例えば、RAM102またはHDD103に確保した記憶領域として実装される。記憶部110は、関係データベース群111、非構造化データベース112、入力定義情報113および文書関係定義情報114を記憶する。
The
関係データベース群111は、複数の関係データベースを含む。非構造化データベース112は、関係データベース群111を基に作成されたデータベースである。入力定義情報113および文書関係定義情報114については、後で詳細に説明する。
The
非構造化処理部120、定義情報作成部130、登録部140および検索部150は、例えば、プロセッサ101が実行するプログラムのモジュールとして実装される。
非構造化処理部120は、関係データベース群111を基に非構造文書を作成する。定義情報作成部130は、非構造文書に基づいて、入力定義情報113および文書関係定義情報114を作成する。登録部140は、非構造文書を非構造化データベース112に登録する。検索部150は、端末装置200から検索依頼を受信した場合、非構造化データベース112を用いて検索を行う。
The
The
次に、非構造化処理部120が関係データベース群111を基に非構造文書を作成する処理について、具体例を用いて説明する。
図5は、非構造文書の作成処理の具体例を示す図(その1)である。図5は、顧客情報111aと出荷情報111bとが関係データベース群111に含まれることを示している。
Next, a process in which the
FIG. 5 is a diagram (No. 1) showing a specific example of the process of creating a non-structured document. FIG. 5 shows that the
顧客情報111aは、顧客ID、顧客名、オーダ番号の項目を含む。顧客IDの項目は、顧客の識別子を示す。顧客名の項目は、顧客の名称を示す。オーダ番号の項目は、オーダ番号の識別子を示す。
The
出荷情報111bは、オーダ番号、製品IDの項目を含む。オーダ番号の項目は、オーダ番号の識別子を示す。製品IDの項目は、製品の識別子を示す。
非構造化処理部120は、正規化レベルを変えずに、顧客情報111aの各レコードを基に非構造文書400a,400bを作成する。例えば、非構造化処理部120は、顧客情報111aの顧客ID“C001”、顧客名“A社”、オーダ番号“ORDER001”のレコードを基に非構造文書400aを作成する。非構造文書400a,400bは、XML(Extensible Markup Language)形式で作成される。非構造化処理部120は、非構造文書400a,400bの開始タグと終了タグとに顧客情報111aのテーブル名“顧客情報”を追加する。
The
The
非構造化処理部120は、正規化レベルを変えずに、出荷情報111bの各レコードを基に非構造文書401a〜401eを作成する。非構造文書401a〜401eは、XML形式で作成される。非構造化処理部120は、非構造文書401a〜401eの開始タグと終了タグとに出荷情報111bのテーブル名“出荷情報”を追加する。
The
図6は、非構造文書の作成処理の具体例を示す図(その2)である。図6は、製品情報111cと問合せ履歴111dとが関係データベース群111に含まれることを示している。
FIG. 6 is a diagram (No. 2) showing a specific example of the process of creating a non-structured document. FIG. 6 shows that the
製品情報111cは、製品ID、製品名の項目を含む。製品IDの項目は、製品の識別子を示す。製品名の項目は、製品の名称を示す。
問合せ履歴111dは、問合せID、顧客ID、オーダ番号、製品ID、問合せ内容の項目を含む。問合せIDの項目は、問合せの識別子を示す。顧客IDの項目は、顧客の識別子を示す。オーダ番号の項目は、オーダ番号の識別子を示す。製品IDの項目は、製品の識別子を示す。問合せ内容の項目は、製品に対する質問や製品故障などを示す。
The
非構造化処理部120は、正規化レベルを変えずに、製品情報111cの各レコードを基に非構造文書402a〜402eを作成する。非構造文書402a〜402eは、XML形式で作成される。非構造化処理部120は、非構造文書402a〜402eの開始タグと終了タグとに製品情報111cのテーブル名“製品情報”を追加する。
The
非構造化処理部120は、正規化レベルを変えずに、問合せ履歴111dの各レコードを基に非構造文書403a〜403eを作成する。非構造文書403a〜403eは、XML形式で作成される。非構造化処理部120は、非構造文書403a〜403eの開始タグと終了タグとに問合せ履歴111dのテーブル名“問合せ履歴”を追加する。
The
次に、非構造化データベース112について、具体例を用いて説明する。
図7は、非構造化データベースの具体例を示す図である。登録部140は、非構造化処理部120が作成した非構造文書を非構造化データベース112に登録する。例えば、非構造化データベース112は、非構造文書400aに登録されていた情報(枠112aの内側)を有する。
Next, the
FIG. 7 is a diagram showing a specific example of an unstructured database. The
図7の非構造化データベース112に示している枠112a〜112e内のそれぞれを以下、文書と表現する。なお、文書は、第1の実施の形態の親要素の一例である。文書は、項目と項目内容とを含む。なお、項目は、第1の実施の形態の子要素名の一例である。項目内容は、第1の実施の形態の子要素内容の一例である。図7は、非構造化データベース112が5つ以上の文書を有していることを示している。なお、非構造化データベース112上に示している枠112a〜112eは、1つの文書を説明するためのものであるため、非構造化データベース112に含まれない。
Each of the
また、文書内の上位タグを以下、文書名と表現する。例えば、枠112a内の文書の文書名は、顧客情報である。
非構造化データベース112は、順序性を有していなくてもよい。例えば、枠112a内の顧客情報を示す文書と枠112c内の顧客情報を示す文書とが、非構造化データベース112に連続して登録されない。
In addition, the upper tag in the document is hereinafter referred to as the document name. For example, the document name of the document in the
The
ここで、非構造化処理部120は、関係データベースと同じ正規化レベルで非構造文書を作成する。登録部140は、関係データベースと同じ正規化レベルの非構造文書を非構造化データベース112に登録する。そのため、非構造化データベース112は、関係データベースと同じ正規化レベルの文書を有する。これにより、非構造化データベース112のデータ量は、正規化レベルが低い非構造化データベースのデータ量に比べて少なくなる。
Here, the
次に、入力定義情報113と文書関係定義情報114とについて、説明する。
図8は、入力定義情報の例を示す図である。入力定義情報113は、入力項目、検索対象文書名/項目を含む。入力項目は、サーバ100が端末装置200から取得した検索依頼に含まれる入力項目に対応する。検索対象文書名/項目は、検索対象の文書名と当該文書名の文書に含まれる項目が検索対象の項目であることを示す。
Next, the
FIG. 8 is a diagram showing an example of input definition information. The
例えば、入力定義情報113は、入力項目“顧客ID”、検索対象文書名“顧客情報”/項目“顧客ID”、検索対象文書名“問合せ履歴”/項目“顧客ID”を示す。これは、サーバ100が端末装置200から取得した検索依頼に含まれる入力項目が“顧客ID”の場合、“顧客情報”の“顧客ID”、“問合せ履歴”の“顧客ID”を検索対象の項目にすることを示す。
For example, the
図9は、文書関係定義情報の例を示す図である。文書関係定義情報114は、検索対象文書名/項目、検索対象文書名(関係文書名)/項目を含む。検索対象文書名/項目は、検索対象とされた文書名と当該文書名の文書に含まれる項目を示す。検索対象文書名(関係文書名)/項目は、検索対象文書名/項目の検索対象文書名と関係のある文書名と当該文書名の文書に含まれる項目を示す。
FIG. 9 is a diagram showing an example of document-related definition information. The document
例えば、文書関係定義情報114は、検索対象文書名“顧客情報”/項目“顧客ID”、検索対象文書名(関係文書名)“問合せ履歴”/項目“顧客ID”を示す。これは、“顧客情報”と関係のある文書名が“問合せ履歴”であることを示す。また、“顧客情報”の“顧客ID”と“問合せ履歴”の“顧客ID”が関係を有することを示す。
For example, the document-related
次に、サーバ100が実行する処理について、フローチャートを用いて説明する。
図10は、非構造文書の作成処理の例を示すフローチャートである。例えば、非構造化処理部120は、端末装置200から非構造文書の作成指示を受信することで図10の処理を実行する。以下、図10に示す処理をステップ番号に沿って説明する。
Next, the process executed by the
FIG. 10 is a flowchart showing an example of a non-structured document creation process. For example, the
(S11)非構造化処理部120は、関係データベース群から1つのテーブルを選択する。例えば、非構造化処理部120は、関係データベース群から顧客情報111aを選択する。
(S11) The
(S12)非構造化処理部120は、テーブルから1つのレコードを選択する。例えば、非構造化処理部120は、顧客情報111aの顧客ID“C001”、顧客名“A社”、オーダ番号“ORDER001”を含むレコードを選択する。
(S12) The
(S13)非構造化処理部120は、レコードの情報をXML形式に変換した非構造文書を作成する。
(S14)非構造化処理部120は、テーブル名の開始タグとテーブル名の終了タグとを非構造文書に追加する。
(S13) The
(S14) The
(S15)非構造化処理部120は、XML形式の非構造文書を記憶部110に格納する。
(S16)非構造化処理部120は、全てのレコードを選択したか否かを判定する。全てのレコードを選択した場合、非構造化処理部120は、処理をステップS17に進める。全てのレコードを選択していない場合、非構造化処理部120は、処理をステップS12に進める。
(S15) The
(S16) The
(S17)非構造化処理部120は、全てのテーブルを選択したか否かを判定する。全てのテーブルを選択した場合、非構造化処理部120は、処理を終了する。全てのテーブルを選択していない場合、非構造化処理部120は、処理をステップS11に進める。
(S17) The
図11は、定義情報の作成処理の例を示すフローチャート(その1)である。定義情報作成部130は、登録部140が非構造文書を非構造化データベース112に登録する前に図11の処理を実行する。以下、図11に示す処理をステップ番号に沿って説明する。
FIG. 11 is a flowchart (No. 1) showing an example of the definition information creation process. The definition
(S21)定義情報作成部130は、非構造文書を読み込む。
(S22)定義情報作成部130は、非構造文書内から1つの項目を選択する。例えば、定義情報作成部130は、非構造文書400a内から“顧客ID”を選択する。なお、定義情報作成部130は、非構造文書内から項目を選択する場合、文書名を除外する。例えば、定義情報作成部130は、非構造文書400a内の文書名“顧客情報”を除外する。
(S21) The definition
(S22) The definition
(S23)定義情報作成部130は、選択した項目が入力定義情報113の入力項目に存在し、かつ、ステップS21で読み込んだ非構造文書の文書名が入力定義情報113の検索対象文書に存在するか否かを判定する。判定条件を満たす場合、定義情報作成部130は、処理をステップS31に進める。判定条件を満たさない場合、定義情報作成部130は、処理をステップS24に進める。
(S23) In the definition
(S24)定義情報作成部130は、選択した項目が入力定義情報113の入力項目に存在するか否かを判定する。選択した項目が入力定義情報113の入力項目に存在する場合、定義情報作成部130は、処理をステップS25に進める。選択した項目が入力定義情報113の入力項目に存在しない場合、定義情報作成部130は、処理をステップS26に進める。
(S24) The definition
(S25)定義情報作成部130は、同一の項目の行末に項目を追加する。例えば、ステップS21で読み込んだ非構造文書が非構造文書403a、ステップS22で選択した項目が“顧客ID”の場合、定義情報作成部130は、入力定義情報113の“顧客ID,顧客情報/顧客ID”の後に、“問合せ履歴/顧客ID”を追加する。
(S25) The definition
定義情報作成部130は、処理をステップS31に進める。
(S26)定義情報作成部130は、入力定義情報113に入力項目、検索対象文書名/項目を登録する。例えば、ステップS21で読み込んだ非構造文書が非構造文書400a、ステップS22で選択した項目が“顧客名”の場合、定義情報作成部130は、入力定義情報113に“顧客名,顧客情報/顧客名”を登録する。
The definition
(S26) The definition
定義情報作成部130は、処理をステップS31に進める。
図12は、定義情報の作成処理の例を示すフローチャート(その2)である。以下、図12に示す処理をステップ番号に沿って説明する。
The definition
FIG. 12 is a flowchart (No. 2) showing an example of the definition information creation process. Hereinafter, the process shown in FIG. 12 will be described along with the step numbers.
(S31)定義情報作成部130は、選択した項目とステップS21で読み込んだ非構造文書の文書名とが文書関係定義情報114に存在するか否かを判定する。判定条件を満たす場合、定義情報作成部130は、処理をステップS35に進める。判定条件を満たさない場合、定義情報作成部130は、処理をステップS32に進める。
(S31) The definition
(S32)定義情報作成部130は、記憶部110に設けられた退避領域に退避されている非構造文書の項目とステップS22で選択した項目とが同じであるか否かを判定する。同じ場合、定義情報作成部130は、処理をステップS33に進める。異なる場合、定義情報作成部130は、処理をステップS34に進める。
(S32) The definition
(S33)定義情報作成部130は、退避領域に退避されている非構造文書の項目とステップS22で選択した項目とを関係付けて、文書関係定義情報114に登録する。例えば、退避領域に退避されている非構造文書の項目が、“顧客情報”の“顧客ID”であるとする。ステップS21で読み込んだ非構造文書が非構造文書403a、ステップS22で選択した項目が“顧客ID”の場合、定義情報作成部130は、“顧客情報/顧客ID=問合せ履歴/顧客ID”を文書関係定義情報114に登録する。
(S33) The definition
定義情報作成部130は、処理をステップS35に進める。
(S34)定義情報作成部130は、ステップS21で読み込んだ非構造文書の文書名とステップS22で選択した項目とを対応付けて退避領域に格納する。そして、定義情報作成部130は、処理をステップS35に進める。
The definition
(S34) The definition
(S35)定義情報作成部130は、全ての項目を選択したか否かを判定する。全ての項目を選択した場合、定義情報作成部130は、処理を終了する。全ての項目を選択していない場合、定義情報作成部130は、処理をステップS22に進める。
(S35) The definition
このように、定義情報作成部130が非構造文書に基づいて、入力定義情報113と文書関係定義情報114とを自動で作成することで、ユーザが入力定義情報113と文書関係定義情報114を作成する手間を省くことができる。
In this way, the definition
定義情報作成部130は、非構造化処理部120が非構造文書を作成する度に図11,12の処理を実行する。なお、登録部140は、定義情報作成部130による定義情報の作成処理が終了した非構造文書を非構造化データベース112に登録する。
The definition
図13は、検索処理の例を示すフローチャートである。検索部150は、端末装置200から検索依頼を受信した場合、図13の処理を実行する。以下、図13に示す処理をステップ番号に沿って説明する。
FIG. 13 is a flowchart showing an example of the search process. When the
(S41)検索部150は、端末装置200から検索依頼を受信する。検索依頼は、入力項目と入力内容を含む。
(S42)検索部150は、入力定義情報113を参照し、入力項目に対応する検索対象文書名を特定する。
(S41) The
(S42) The
(S43)検索部150は、非構造化データベース112を参照し、検索対象文書名、入力項目および入力内容と、文書名、項目および項目内容とが一致する文書を検索する。
(S44)検索部150は、ステップS43の検索で条件を満たす文書を特定する。検索部150は、特定した文書に含まれる情報を取得する。
(S43) The
(S44) The
(S45)検索部150は、文書関係定義情報114を参照し、1度検索した検索対象文書名を除外し、前回の検索対象文書名と関係のある検索対象文書名(関係文書名)が残っているか否かを判定する。残っている場合、検索部150は、処理をステップS46に進める。残っていない場合、検索部150は、処理をステップS51に進める。
(S45) The
(S46)検索部150は、文書関係定義情報114を参照し、前回の検索対象文書名と関係のある検索対象文書名(関係文書名)を特定する。
(S47)検索部150は、ステップS44で取得した情報のうち、ステップS43で検索した項目以外の他の項目と他の項目に対応する項目内容を特定する。また、ステップS47を2回以上実行する場合、検索部150は、ステップS50で取得した情報のうち、ステップS49で検索した項目以外の他の項目と他の項目に対応する項目内容を特定する。
(S46) The
(S47) The
(S48)検索部150は、文書関係定義情報114を参照し、ステップS46で特定した検索対象文書名(関係文書名)のうち、ステップS47で特定した他の項目と一致する関係文書名/項目を特定する。
(S48) The
(S49)検索部150は、非構造化データベース112を参照し、検索対象文書名(関係文書名)、ステップS48で特定した項目および当該項目に対応するステップS47で特定した項目内容と、文書名、項目および項目内容とが一致する文書を検索する。
(S49) The
(S50)検索部150は、ステップS49の検索で条件を満たす文書を特定する。検索部150は、特定した文書に含まれる情報を取得する。そして、検索部150は、処理をステップS45に進める。
(S50) The
(S51)検索部150は、ステップS44,50で取得した文書の情報を結合して検索結果を作成する。検索部150は、作成した検索結果を端末装置200に出力する。
次に、検索処理について、具体例を用いて説明する。
(S51) The
Next, the search process will be described with reference to specific examples.
図14は、検索処理の具体例を示す図である。検索部150は、端末装置200から検索依頼500を受信する(ステップST1)。検索依頼500は、入力項目“顧客名”と入力内容“A社”とを示す。
FIG. 14 is a diagram showing a specific example of the search process. The
検索部150は、入力定義情報113を参照し、入力項目“顧客名”に対応する検索対象文書名“顧客情報”を特定する(ステップST2)。検索部150は、非構造化データベース112を参照し、検索対象文書名“顧客情報”、入力項目“顧客名”および入力内容“A社”と、文書名、項目および項目内容とが一致する文書を検索する。検索部150は、条件を満たす文書を特定する(ステップST3)。検索部150は、特定した文書に含まれる情報を取得する。当該情報は、顧客情報、顧客ID“C001”、顧客名“A社”、オーダ番号“ORDER001”である。
The
検索部150は、文書関係定義情報114を参照し、検索対象文書名“顧客情報”と関係のある検索対象文書名(関係文書名)“出荷情報”,“問合せ履歴”を特定する(ステップST4)。
The
検索部150は、文書名“顧客情報”を含む文書のうち、検索した項目“顧客名”以外の他の項目と他の項目に対応する項目内容を特定する。すなわち、検索部150は、顧客ID“C001”、オーダ番号“ORDER001”を特定する。
The
検索部150は、文書関係定義情報114を参照し、“顧客情報/顧客ID=問合せ履歴/顧客ID”から問合せ履歴/顧客IDを特定する。検索部150は、文書関係定義情報114を参照し、“顧客情報/オーダ番号=出荷情報/オーダ番号”から出荷情報/オーダ番号を特定する。検索部150は、文書関係定義情報114を参照し、“顧客情報/オーダ番号=問合せ履歴/オーダ番号”から問合せ履歴/オーダ番号を特定する。
The
検索部150は、非構造化データベース112を参照し、検索対象文書名(関係文書名)“問合せ履歴”、項目“顧客ID”および項目内容“C001”と、文書名、項目および項目内容とが一致する文書を検索する。検索部150は、非構造化データベース112を参照し、検索対象文書名(関係文書名)“出荷情報”、項目“オーダ番号”および項目内容“ORDER001”と、文書名、項目および項目内容とが一致する文書を検索する。また、検索部150は、非構造化データベース112を参照し、検索対象文書名(関係文書名)“問合せ履歴”、項目“オーダ番号”および項目内容“ORDER001”と、文書名、項目および項目内容とが一致する文書を検索してもよい。また、検索部150は、“出荷情報”などを含む文書と“問合せ履歴”などを含む文書との検索を同時に実行する。
The
検索部150は、出荷情報、オーダ番号“ORDER001”、製品ID“PRD001”を含む文書の情報を取得する(ステップST5)。また、検索部150は、問合せ履歴、問合せID“QA001”、顧客ID“C001”、オーダ番号“ORDER001”、製品ID“PRD001”、問合せ内容“CT1”を含む文書の情報を取得する(ステップST5)。
The
検索部150は、文書関係定義情報114を参照し、検索対象文書名“出荷情報”または、検索対象文書名“問合せ履歴”と関係のある関係文書名“製品情報”を特定する(ステップST6)。
The
検索部150は、文書名“出荷情報”を含む文書のうち、検索した項目“オーダ番号”以外の他の項目と他の項目に対応する項目内容を特定する。すなわち、検索部150は、製品ID“PRD001”を特定する。検索部150は、文書名“問合せ履歴”を含む文書のうち、検索した項目“顧客ID”,“オーダ番号”以外の他の項目と他の項目に対応する項目内容を特定する。すなわち、検索部150は、問合せID“QA001”、製品ID“PRD001”、問合せ内容“CT1”を特定する。
The
検索部150は、文書関係定義情報114を参照し、“出荷情報/製品ID=製品情報/製品ID”または“問合せ履歴/製品ID=製品情報/製品ID”から製品情報/製品IDを特定する。なお、検索部150は、検索対象文書名(関係文書名)“製品情報”と関係のない項目“問合せID”、“問合せ内容”を除外する。
The
検索部150は、非構造化データベース112を参照し、関係文書名“製品情報”、項目“製品ID”および項目内容“PRD001”と、文書名、項目および項目内容とが一致する文書を検索する。これにより、検索部150は、製品情報、製品ID“PRD001”、製品名“製品A”を含む文書の情報を取得する(ステップST7)。
The
検索部150は、1度検索した検索対象文書名を除外し、検索対象文書名“製品情報”と関係のある検索対象文書名(関係文書名)が残っていないと判定する。検索部150は、ステップST3,ST5,ST7で取得した文書の情報を結合して検索結果を作成する。検索部150は、作成した検索結果を端末装置200に出力する。
The
図15は、検索結果の具体例を示す図である。図15は、図14の検索処理によって出力された検索結果600である。検索結果600は、端末装置200に表示される。
第2の実施の形態によれば、非構造化データベース112は、関係データベース群111に含まれるテーブルと同じ正規化レベルの複数の文書を含む。そのため、非構造化データベース112は、正規化レベルが低い非構造化データベースに比べて冗長性が少ない。すなわち、非構造化データベース112は、正規化レベルが低い非構造化データベースに比べてデータ量が少ない。サーバ100は、データ量が少ない非構造化データベース112を用いて検索することで、非構造化データベースを用いた検索を高速化できる。
FIG. 15 is a diagram showing a specific example of the search result. FIG. 15 is a search result 600 output by the search process of FIG. The search result 600 is displayed on the
According to the second embodiment, the
サーバ100は、入力定義情報113を参照し、検索対象文書名、入力項目および入力内容と、文書名、項目および項目内容とが一致する文書を検索する。このように、サーバ100は、非構造化データベース112に対する検索条件が多くなることで、的確な検索結果を得ることができる。
The
また、検索依頼に含まれる入力項目に対応する複数の検索対象文書名が入力定義情報113に登録されている場合、サーバ100は、検索対象文書名を有する文書名を同時に検索する。例えば、検索依頼に含まれる入力項目“顧客ID”に対応する検索対象文書名“顧客情報”,“問合せ履歴”が入力定義情報113に登録されている場合、サーバ100は、文書名“顧客情報”を有する文書と文書名“問合せ履歴”を有する文書とを同時に検索する。このように、サーバ100は、検索対象文書名を有する文書名を同時に検索することで、検索時間を短くできる。
Further, when a plurality of search target document names corresponding to the input items included in the search request are registered in the
また、サーバ100は、文書関係定義情報114を参照し、検索対象の項目と検索対象外の項目を特定する。例えば、図14のステップST6の後、サーバ100は、“製品ID”を検索対象の項目として特定する。また、サーバ100は、検索対象文書名(関係文書名)“製品情報”と関係のない項目“問合せID”、“問合せ内容”を検索対象から除外する。これにより、サーバ100は、“問合せID”、“問合せ内容”を検索対象の項目として、非構造化データベース112に対して検索を行わなくて済む。すなわち、サーバ100は、文書関係定義情報114を有することで、余計な検索処理を行わなくて済む。
Further, the
また、文書関係定義情報114は、異なる文書名を有する文書それぞれを、少なくとも1つの項目が共通する文書と当該文書以外の他の文書とが対応付けられた情報である。すなわち、異なる文書名で共通する項目を有する文書同士は、互いに関係を有することになる。これにより、サーバ100は、異なる文書名を有する文書それぞれに設定された内容を出力することができる。例えば、サーバ100は、異なる文書名“顧客情報”、“出荷情報”、“製品情報”、“問合せ履歴”それぞれに設定された内容を出力することができる。
Further, the document-related
また、第1の実施の形態の情報処理は、検索装置1に用いられるプロセッサに、プログラムを実行させることで実現できる。第2の実施の形態の情報処理は、プロセッサ101にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体に記録できる。
Further, the information processing of the first embodiment can be realized by causing the processor used in the search device 1 to execute the program. The information processing of the second embodiment can be realized by causing the
例えば、プログラムを記録した記録媒体は、プログラムを流通させることで配布することができる。また、非構造化処理部120、定義情報作成部130、登録部140および検索部150に相当する機能を実現するプログラムは、別個のプログラムとして各プログラムを別個に配布することができる。非構造化処理部120、定義情報作成部130、登録部140および検索部150の機能は、別個のコンピュータにより実現されてもよい。コンピュータは、例えば、記録媒体に記録されたプログラムを、RAM102、HDD103に格納し、プログラムを読み込んで実行してもよい。
For example, the recording medium on which the program is recorded can be distributed by distributing the program. Further, the programs that realize the functions corresponding to the
1 検索装置
1a 記憶部
1aa 非構造化データベース
1a1,1a2 親要素
1b 検索部
2 検索情報
3 検索結果
S1,S2,S3,S4,S5 ステップ
1
Claims (7)
関係データベースに含まれる複数のテーブルのいずれかのテーブル内のレコードに対応し、該レコードに含まれる項目の名称を子要素名とし、該項目の値を子要素内容とする子要素を複数有し、該テーブルの名称を親要素名として有する親要素が、複数格納されている非構造化データベースを検索対象とする、要素名と要素内容とを示す検索情報を取得し、
前記子要素名に対応付けて、前記子要素名の前記子要素を有する前記親要素それぞれの前記親要素名を列挙した第1定義を参照し、前記検索情報が示す前記要素名と一致する前記子要素名の前記子要素を有する前記親要素の前記親要素名を特定し、
前記非構造化データベース内の複数の前記親要素のうちの、特定した前記親要素名と同じ前記親要素名の前記親要素の中から、前記検索情報が示す前記要素名と前記要素内容とに一致する前記子要素名と前記子要素内容とを含む第1子要素を有する第1親要素を検索し、
前記第1親要素が有する前記子要素のうち、前記第1子要素以外の第2子要素を取得し、
前記非構造化データベースから、前記第2子要素と一致する前記子要素名と前記子要素内容とを含む前記子要素を有する、前記第1親要素以外の第2親要素を検索し、
前記第1親要素または前記第2親要素が有する前記子要素を出力する、
処理を実行させる検索プログラム。 On the computer
It corresponds to a record in any of the multiple tables included in the relational database, and has a plurality of child elements whose child element name is the name of the item included in the record and whose child element content is the value of the item. , The parent element having the name of the table as the parent element name acquires the search information indicating the element name and the element content in the unstructured database in which a plurality of stored elements are stored.
Refer to the first definition in which the parent element name of each of the parent elements having the child element of the child element name is listed in association with the child element name, and the element name that matches the element name indicated by the search information. Identify the parent element name of the parent element having the child element of the child element name,
Wherein among the plurality of the parent element of the unstructured database, from among the parent element of the same the parent element name and the parent element name identified, the said element contents and the element name the search information indicating Search for the first parent element having the first child element including the matching child element name and the child element content, and search for the first parent element.
Among the child elements possessed by the first parent element, a second child element other than the first child element is acquired.
From the unstructured database, a second parent element other than the first parent element having the child element including the child element name and the child element content matching the second child element is searched for.
Outputs the child element of the first parent element or the second parent element.
A search program that executes processing.
前記関係データベースに基づいて、前記関係データベースと同じ正規化レベルの前記非構造化データベースを作成する処理を実行させる、請求項1に記載の検索プログラム。 On the computer,
On the basis of the relational database, to execute processing for creating the unstructured database with the same normalized level and the relational database, the search program according to claim 1.
同じ前記子要素名の前記子要素をそれぞれが有する複数の前記親要素の前記親要素名を関係付けた第2定義を参照し、
前記第1親要素の前記親要素名と関係を有し、前記第2子要素が示す前記要素名と一致する前記子要素名を有する前記親要素の前記親要素名を特定し、
特定した前記親要素名と一致する前記親要素名を有する前記親要素の中から、前記第2親要素を検索する、請求項1に記載の検索プログラム。 In the search for the second parent element,
Refer to the second definition relating the parent element names of the plurality of parent elements each having the child element of the same child element name.
The parent element name of the parent element having a relationship with the parent element name of the first parent element and having the child element name matching the element name indicated by the second child element is specified.
The parent element name from the parent element with, searches the second parent element search program according to claim 1 that match specified the parent element name.
要素名と要素内容とを示す検索情報を取得し、前記子要素名に対応付けて、前記子要素名の前記子要素を有する前記親要素それぞれの前記親要素名を列挙した第1定義を参照し、前記検索情報が示す前記要素名と一致する前記子要素名の前記子要素を有する前記親要素の前記親要素名を特定し、前記非構造化データベース内の複数の前記親要素のうちの、特定した前記親要素名と同じ前記親要素名の前記親要素の中から、前記検索情報が示す前記要素名と前記要素内容とに一致する前記子要素名と前記子要素内容とを含む第1子要素を有する第1親要素を検索し、前記第1親要素が有する前記子要素のうち、前記第1子要素以外の第2子要素を取得し、前記非構造化データベースから、前記第2子要素と一致する前記子要素名と前記子要素内容とを含む前記子要素を有する、前記第1親要素以外の第2親要素を検索し、前記第1親要素または前記第2親要素が有する前記子要素を出力する検索部と、
有する検索装置。 It corresponds to a record in any of the multiple tables included in the relational database, and has a plurality of child elements whose child element name is the name of the item included in the record and whose child element content is the value of the item. , A storage unit that stores a plurality of unstructured databases in which a plurality of parent elements having the name of the table as a parent element name are stored.
Refer to the first definition in which the search information indicating the element name and the element content is acquired, and the parent element name of each of the parent elements having the child element of the child element name is listed in association with the child element name. Then, the parent element name of the parent element having the child element of the child element name matching the element name indicated by the search information is specified, and among the plurality of parent elements in the unstructured database. Among the parent elements having the same parent element name as the specified parent element name, the child element name and the child element content matching the element name and the element content indicated by the search information are included. The first parent element having one child element is searched, the second child element other than the first child element among the child elements possessed by the first parent element is acquired, and the first child element is obtained from the unstructured database. A second parent element other than the first parent element having the child element including the child element name and the child element contents matching the two child elements is searched, and the first parent element or the second parent element is searched. A search unit that outputs the child elements of
Search device to have.
関係データベースに含まれる複数のテーブルのいずれかのテーブル内のレコードに対応し、該レコードに含まれる項目の名称を子要素名とし、該項目の値を子要素内容とする子要素を複数有し、該テーブルの名称を親要素名として有する親要素が、複数格納されている非構造化データベースを検索対象とする、要素名と要素内容とを示す検索情報を取得し、
前記子要素名に対応付けて、前記子要素名の前記子要素を有する前記親要素それぞれの前記親要素名を列挙した第1定義を参照し、前記検索情報が示す前記要素名と一致する前記子要素名の前記子要素を有する前記親要素の前記親要素名を特定し、
前記非構造化データベース内の複数の前記親要素のうちの、特定した前記親要素名と同じ前記親要素名の前記親要素の中から、前記検索情報が示す前記要素名と前記要素内容とに一致する前記子要素名と前記子要素内容とを含む第1子要素を有する第1親要素を検索し、
前記第1親要素が有する前記子要素のうち、前記第1子要素以外の第2子要素を取得し、
前記非構造化データベースから、前記第2子要素と一致する前記子要素名と前記子要素内容とを含む前記子要素を有する、前記第1親要素以外の第2親要素を検索し、
前記第1親要素または前記第2親要素が有する前記子要素を出力する、
検索方法。 The computer
It corresponds to a record in any of the multiple tables included in the relational database, and has a plurality of child elements whose child element name is the name of the item included in the record and whose child element content is the value of the item. , The parent element having the name of the table as the parent element name acquires the search information indicating the element name and the element content in the unstructured database in which a plurality of stored elements are stored.
Refer to the first definition in which the parent element name of each of the parent elements having the child element of the child element name is listed in association with the child element name, and the element name that matches the element name indicated by the search information. Identify the parent element name of the parent element having the child element of the child element name,
Wherein among the plurality of the parent element of the unstructured database, from among the parent element of the same the parent element name and the parent element name identified, the said element contents and the element name the search information indicating Search for the first parent element having the first child element including the matching child element name and the child element content, and search for the first parent element.
Among the child elements possessed by the first parent element, a second child element other than the first child element is acquired.
From the unstructured database, a second parent element other than the first parent element having the child element including the child element name and the child element content matching the second child element is searched for.
Outputs the child element of the first parent element or the second parent element.
retrieval method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016212018A JP6849904B2 (en) | 2016-10-28 | 2016-10-28 | Search program, search device and search method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016212018A JP6849904B2 (en) | 2016-10-28 | 2016-10-28 | Search program, search device and search method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018073116A JP2018073116A (en) | 2018-05-10 |
JP6849904B2 true JP6849904B2 (en) | 2021-03-31 |
Family
ID=62114225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016212018A Active JP6849904B2 (en) | 2016-10-28 | 2016-10-28 | Search program, search device and search method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6849904B2 (en) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4207438B2 (en) * | 2002-03-06 | 2009-01-14 | 日本電気株式会社 | XML document storage / retrieval apparatus, XML document storage / retrieval method used therefor, and program thereof |
JP2004348479A (en) * | 2003-05-22 | 2004-12-09 | Nippon Telegr & Teleph Corp <Ntt> | Retrieval apparatus, retrieval method, retrieval program, and retrieval program recording medium |
JP2010509691A (en) * | 2006-11-13 | 2010-03-25 | エクセジー・インコーポレイテツド | High-performance data metatagging and data indexing method and system using a coprocessor |
JP2010267081A (en) * | 2009-05-14 | 2010-11-25 | Nippon Telegr & Teleph Corp <Ntt> | Information search method, device and program |
US9460189B2 (en) * | 2010-09-23 | 2016-10-04 | Microsoft Technology Licensing, Llc | Data model dualization |
US20180341709A1 (en) * | 2014-12-02 | 2018-11-29 | Longsand Limited | Unstructured search query generation from a set of structured data terms |
-
2016
- 2016-10-28 JP JP2016212018A patent/JP6849904B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018073116A (en) | 2018-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1643384B1 (en) | Query forced indexing | |
US10083227B2 (en) | On-the-fly determination of search areas and queries for database searches | |
US9501474B2 (en) | Enhanced use of tags when storing relationship information of enterprise objects | |
US20090125529A1 (en) | Extracting information based on document structure and characteristics of attributes | |
US20090077625A1 (en) | Associating information related to components in structured documents stored in their native format in a database | |
US8527867B2 (en) | Enabling users to edit very large XML data | |
US20100175055A1 (en) | Method and system to identify gui objects for non-markup-language-presented applications | |
JP2009187414A (en) | Analytic attribute entry extraction program, analytic attribute entry extracting method, and information analyzing device | |
US20190042639A1 (en) | Technology for generating a model in response to user selection of data | |
US11244109B2 (en) | Information processing device and information processing method | |
JPWO2004097679A1 (en) | Database device and creation method, database search device and search method | |
JP5010624B2 (en) | Search device | |
US10241899B2 (en) | Test input information search device and method | |
JP6849904B2 (en) | Search program, search device and search method | |
US8639709B2 (en) | Comparing very large XML data | |
JP3994188B2 (en) | Multimedia data search system, multimedia search method, and program for realizing the search method | |
JP5488792B2 (en) | Database operation device, database operation method, and program | |
US8015210B2 (en) | Method and system for generating string-based addresses | |
JP6017055B2 (en) | Data linkage support apparatus and data linkage support method | |
JP5972461B2 (en) | Data linkage support apparatus and data linkage support method | |
JP2021056704A (en) | Data extracting method and data extracting program | |
JP2008077285A (en) | Sql management system and sql management method and program | |
JP2005056223A (en) | Text data retrieval system, method therefor and its program | |
Luo et al. | An open schema for XML data in Hive | |
US11860922B1 (en) | Tagging documents to display with context sensitivity for improved user experience |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190709 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20190718 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20190718 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200529 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200707 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200907 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201117 |
|
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: 20210202 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210215 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6849904 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |