JP6849904B2 - Search program, search device and search method - Google Patents

Search program, search device and search method Download PDF

Info

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
Application number
JP2016212018A
Other languages
Japanese (ja)
Other versions
JP2018073116A (en
Inventor
佑太郎 寺島
佑太郎 寺島
玲奈 高坂
玲奈 高坂
拓郎 勝又
拓郎 勝又
昭司 猪狩
昭司 猪狩
松浦 正卓
正卓 松浦
裕寿 渋谷
裕寿 渋谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016212018A priority Critical patent/JP6849904B2/en
Publication of JP2018073116A publication Critical patent/JP2018073116A/en
Application granted granted Critical
Publication of JP6849904B2 publication Critical patent/JP6849904B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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.

特開2000−163495号公報Japanese Unexamined Patent Publication No. 2000-163495 特開2000−330769号公報Japanese Unexamined Patent Publication No. 2000-330769

非構造化データベースは、関係データベースに対して実行が困難な検索を実行できる一方、正規化レベルが低いため、冗長な情報を含む。そのため、非構造化データベースは関係データベースに比べてデータ量が多く、データ量の増大が、検索時間短縮の妨げとなっている。 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の実施の形態の検索装置を示す図である。It is a figure which shows the search apparatus of 1st Embodiment. 第2の実施の形態の情報処理システムを示す図である。It is a figure which shows the information processing system of the 2nd Embodiment. サーバのハードウェア例を示す図である。It is a figure which shows the hardware example of a server. サーバの機能例を示す図である。It is a figure which shows the functional example of a server. 非構造文書の作成処理の具体例を示す図(その1)である。It is a figure (the 1) which shows the specific example of the creation process of a non-structured document. 非構造文書の作成処理の具体例を示す図(その2)である。It is a figure (the 2) which shows the specific example of the creation process of a non-structured document. 非構造化データベースの具体例を示す図である。It is a figure which shows the specific example of the unstructured database. 入力定義情報の例を示す図である。It is a figure which shows the example of the input definition information. 文書関係定義情報の例を示す図である。It is a figure which shows the example of the document relation definition information. 非構造文書の作成処理の例を示すフローチャートである。It is a flowchart which shows the example of the creation process of a non-structured document. 定義情報の作成処理の例を示すフローチャート(その1)である。It is a flowchart (the 1) which shows the example of the definition information creation process. 定義情報の作成処理の例を示すフローチャート(その2)である。It is a flowchart (2) which shows an example of the definition information creation process. 検索処理の例を示すフローチャートである。It is a flowchart which shows the example of the search process. 検索処理の具体例を示す図である。It is a figure which shows the specific example of a search process. 検索結果の具体例を示す図である。It is a figure which shows the specific example of a search result.

以下、本実施の形態について図面を参照して説明する。
[第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 storage unit 1a and a search unit 1b. The storage unit 1a may be a volatile storage device such as a RAM (Random Access Memory) or a non-volatile storage device such as an HDD (Hard Disk Drive) or a flash memory. The search unit 1b is, for example, a processor. The processor may include a CPU (Central Processing Unit), a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), and the like. Further, the search unit 1b may be a multiprocessor.

記憶部1aは、非構造化データベース1aaを記憶する。非構造化データベース1aaは、子要素名と子要素内容とを含む子要素を複数有する親要素を複数格納している。例えば、非構造化データベース1aaは、親要素1a1,1a2を格納する。親要素1a1は、子要素名“顧客名”と子要素内容“X1”とを含む子要素を有する。また、親要素1a1は、子要素名“オーダ番号”と子要素内容“Y1”とを含む子要素を有する。親要素1a2は、子要素名“オーダ番号”と子要素内容“Y1”とを含む子要素を有する。また、親要素1a2は、子要素名“製品ID(identifier)”と子要素内容“Z1”とを含む子要素を有する。 The storage unit 1a stores the unstructured database 1aa. The unstructured database 1aa stores a plurality of parent elements having a plurality of child elements including the child element name and the child element contents. For example, the unstructured database 1aa stores the parent elements 1a1,1a2. The parent element 1a1 has a child element including the child element name "customer name" and the child element content "X1". Further, the parent element 1a1 has a child element including the child element name "order number" and the child element content "Y1". The parent element 1a2 has a child element including the child element name "order number" and the child element content "Y1". Further, the parent element 1a2 has a child element including the child element name "product ID (identifier)" and the child element content "Z1".

また、非構造化データベース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 search result 3 including a child element of the parent element 1a1 or the parent element 1a2. The output destination may be a display included in the search device 1 or another device that has transmitted the search information 2. The search unit 1b may output the child elements of the first parent element and the second parent element.

ここで、非構造化データベースは、関係データベースに対して実行が困難な検索を実行できる一方、正規化レベルが低いため、冗長な情報を含む。そのため、非構造化データベースは関係データベースに比べてデータ量が多く、データ量の増大が、検索時間短縮の妨げとなっている。 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 storage unit 1a may store the first definition in which the parent element name and the child element name are associated with each other. For example, when searching for the first parent element, the search unit 1b refers to the first definition and specifies the parent element name corresponding to the child element name that matches the element name indicated by the search information 2. The search unit 1b searches for the first parent element from the parent elements having the parent element name that matches the specified parent element name. In this way, the parent element name is added to the search condition for the unstructured database 1aa. The search device 1 can obtain accurate search results by increasing the number of search conditions for the unstructured database 1aa.

記憶部1aは、同じ子要素名の子要素をそれぞれが有する複数の親要素の親要素名を関係付けた第2定義を記憶してもよい。例えば、検索部1bは、第2親要素を検索する場合、第2定義を参照し、第1親要素の親要素名と関係を有し、第2子要素が示す要素名と一致する子要素名を有する親要素の親要素名を特定する。検索部1bは、特定した親要素名と一致する親要素名を有する親要素の中から、第2親要素を検索する。このように、検索装置1は、第2定義を有することで、第2親要素を特定できる。また、検索装置1は、第2定義を参照し、第1親要素の親要素名と関係を有し、第2子要素が示す要素名と一致する子要素名を有する親要素の親要素名を特定できない場合、第2子要素が示す要素名に基づく、親要素の検索を実行しない。これにより、検索装置1は、余計な検索処理を行わなくて済む。 The storage unit 1a may store a second definition in which the parent element names of a plurality of parent elements, each of which has a child element having the same child element name, are associated with each other. For example, when the search unit 1b searches for the second parent element, the search unit 1b refers to the second definition, has a relationship with the parent element name of the first parent element, and is a child element that matches the element name indicated by the second child element. Identify the parent element name of the parent element that has the name. The search unit 1b searches for the second parent element from the parent elements having the parent element name that matches the specified parent element name. In this way, the search device 1 can specify the second parent element by having the second definition. Further, the search device 1 refers to the second definition, and has a relationship with the parent element name of the first parent element, and the parent element name of the parent element having a child element name that matches the element name indicated by the second child element. If cannot be specified, the search for the parent element based on the element name indicated by the second child element is not executed. As a result, the search device 1 does not have to perform an extra search process.

検索部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 server 100 and a terminal device 200. The server 100 and the terminal device 200 are connected via the network 300. The network 300 may be a LAN (Local Area Network) or a wide area network such as a WAN (Wide Area Network) or the Internet.

サーバ100は、関係データベースを記憶する。サーバ100は、関係データベースに基づいて非構造化データベースを作成する。サーバ100は、端末装置200から検索依頼を受信した場合、非構造化データベースを用いて検索を行う。サーバ100は、検索結果を端末装置200に送信する。 The server 100 stores a relational database. Server 100 creates an unstructured database based on the relational database. When the server 100 receives the search request from the terminal device 200, the server 100 performs a search using the unstructured database. The server 100 transmits the search result to the terminal device 200.

なお、サーバ100は、ユーザがサーバ100に直接入力した検索依頼に応じて、非構造化データベースを用いて検索を行ってもよい。
端末装置200は、ユーザが使用するクライアントコンピュータである。端末装置200は、サーバ100から取得した検索結果を自装置に表示することができる。
The server 100 may perform a search using an unstructured database in response to a search request directly input to the server 100 by the user.
The terminal device 200 is a client computer used by the user. The terminal device 200 can display the search result acquired from the server 100 on its own device.

次に、サーバ100のハードウェアについて、説明する。
図3は、サーバのハードウェア例を示す図である。サーバ100は、プロセッサ101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、読み取り装置106および通信インタフェース107を有する。各ユニットがサーバ100のバスに接続されている。
Next, the hardware of the server 100 will be described.
FIG. 3 is a diagram showing an example of server hardware. The server 100 includes a processor 101, a RAM 102, an HDD 103, an image signal processing unit 104, an input signal processing unit 105, a reading device 106, and a communication interface 107. Each unit is connected to the bus of server 100.

プロセッサ101は、サーバ100全体を制御する。プロセッサ101は、例えば、CPU、DSP、ASICまたはFPGAなどである。また、プロセッサ101は、複数のプロセッシング要素を含むマルチプロセッサであってもよい。さらに、プロセッサ101は、CPU、DSP、ASIC、FPGAなどのうちの2以上の要素の組み合わせであってもよい。 The processor 101 controls the entire server 100. The processor 101 is, for example, a CPU, DSP, ASIC, FPGA, or the like. Further, the processor 101 may be a multiprocessor including a plurality of processing elements. Further, the processor 101 may be a combination of two or more elements such as a CPU, a DSP, an ASIC, and an FPGA.

RAM102は、サーバ100の主記憶装置である。RAM102は、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM102は、プロセッサ101による処理に用いる各種データを記憶する。 The RAM 102 is the main storage device of the server 100. The RAM 102 temporarily stores at least a part of an OS (Operating System) program or an application program to be executed by the processor 101. Further, the RAM 102 stores various data used for processing by the processor 101.

HDD103は、サーバ100の補助記憶装置である。HDD103は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。サーバ100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。 The HDD 103 is an auxiliary storage device of the server 100. The HDD 103 magnetically writes and reads data from the built-in magnetic disk. The OS program, application program, and various data are stored in the HDD 103. The server 100 may include other types of auxiliary storage devices such as a flash memory and an SSD (Solid State Drive), or may include a plurality of auxiliary storage devices.

画像信号処理部104は、プロセッサ101からの命令に従って、サーバ100に接続されたディスプレイ11に画像を出力する。ディスプレイ11としては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、有機EL(Electro-Luminescence)ディスプレイなど各種のディスプレイを用いることができる。 The image signal processing unit 104 outputs an image to the display 11 connected to the server 100 in accordance with an instruction from the processor 101. As the display 11, various displays such as a CRT (Cathode Ray Tube) display, a liquid crystal display (LCD: Liquid Crystal Display), and an organic EL (Electro-Luminescence) display can be used.

入力信号処理部105は、サーバ100に接続された入力デバイス12から入力信号を取得し、プロセッサ101に出力する。入力デバイス12としては、マウスやタッチパネルなどのポインティングデバイスやキーボードなどの各種の入力デバイスを用いることができる。サーバ100には、複数の種類の入力デバイスが接続されてもよい。 The input signal processing unit 105 acquires an input signal from the input device 12 connected to the server 100 and outputs the input signal to the processor 101. As the input device 12, various input devices such as a pointing device such as a mouse and a touch panel and a keyboard can be used. A plurality of types of input devices may be connected to the server 100.

読み取り装置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 reading device 106 is a device that reads programs and data recorded on the recording medium 13. As the recording medium 13, for example, a magnetic disk such as a flexible disk (FD) or HDD, an optical disk such as a CD (Compact Disc) or a DVD (Digital Versatile Disc), or a magneto-optical disk (MO) can be used. Can be used. Further, as the recording medium 13, for example, a non-volatile semiconductor memory such as a flash memory card can be used. The reading device 106 stores, for example, a program or data read from the recording medium 13 in the RAM 102 or the HDD 103 in accordance with an instruction from the processor 101.

通信インタフェース107は、ネットワーク300を介して端末装置200と通信を行う。通信インタフェース107は、有線通信インタフェースでもよいし、無線通信インタフェースでもよい。 The communication interface 107 communicates with the terminal device 200 via the network 300. The communication interface 107 may be a wired communication interface or a wireless communication interface.

なお、端末装置200もサーバ100と同様のハードウェアにより実現できる。
次に、サーバ100の機能について説明する。
図4は、サーバの機能例を示す図である。サーバ100は、記憶部110、非構造化処理部120、定義情報作成部130、登録部140および検索部150を有する。
The terminal device 200 can also be realized by the same hardware as the server 100.
Next, the function of the server 100 will be described.
FIG. 4 is a diagram showing a functional example of the server. The server 100 has a storage unit 110, an unstructured processing unit 120, a definition information creation unit 130, a registration unit 140, and a search unit 150.

記憶部110は、例えば、RAM102またはHDD103に確保した記憶領域として実装される。記憶部110は、関係データベース群111、非構造化データベース112、入力定義情報113および文書関係定義情報114を記憶する。 The storage unit 110 is implemented as, for example, a storage area secured in the RAM 102 or the HDD 103. The storage unit 110 stores the relational database group 111, the unstructured database 112, the input definition information 113, and the document relational definition information 114.

関係データベース群111は、複数の関係データベースを含む。非構造化データベース112は、関係データベース群111を基に作成されたデータベースである。入力定義情報113および文書関係定義情報114については、後で詳細に説明する。 The relational database group 111 includes a plurality of relational databases. The unstructured database 112 is a database created based on the relational database group 111. The input definition information 113 and the document-related definition information 114 will be described in detail later.

非構造化処理部120、定義情報作成部130、登録部140および検索部150は、例えば、プロセッサ101が実行するプログラムのモジュールとして実装される。
非構造化処理部120は、関係データベース群111を基に非構造文書を作成する。定義情報作成部130は、非構造文書に基づいて、入力定義情報113および文書関係定義情報114を作成する。登録部140は、非構造文書を非構造化データベース112に登録する。検索部150は、端末装置200から検索依頼を受信した場合、非構造化データベース112を用いて検索を行う。
The unstructured processing unit 120, the definition information creation unit 130, the registration unit 140, and the search unit 150 are implemented as, for example, modules of a program executed by the processor 101.
The unstructured processing unit 120 creates an unstructured document based on the relational database group 111. The definition information creation unit 130 creates the input definition information 113 and the document-related definition information 114 based on the non-structured document. The registration unit 140 registers the unstructured document in the unstructured database 112. When the search unit 150 receives the search request from the terminal device 200, the search unit 150 searches using the unstructured database 112.

次に、非構造化処理部120が関係データベース群111を基に非構造文書を作成する処理について、具体例を用いて説明する。
図5は、非構造文書の作成処理の具体例を示す図(その1)である。図5は、顧客情報111aと出荷情報111bとが関係データベース群111に含まれることを示している。
Next, a process in which the unstructured processing unit 120 creates an unstructured document based on the relational database group 111 will be described with reference to a specific example.
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 customer information 111a and the shipping information 111b are included in the relational database group 111.

顧客情報111aは、顧客ID、顧客名、オーダ番号の項目を含む。顧客IDの項目は、顧客の識別子を示す。顧客名の項目は、顧客の名称を示す。オーダ番号の項目は、オーダ番号の識別子を示す。 The customer information 111a includes items of a customer ID, a customer name, and an order number. The customer ID item indicates the customer's identifier. The customer name item indicates the customer's name. The order number item indicates the order number identifier.

出荷情報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 shipping information 111b includes items of an order number and a product ID. The order number item indicates the order number identifier. The product ID item indicates the product identifier.
The unstructured processing unit 120 creates the unstructured documents 400a and 400b based on each record of the customer information 111a without changing the normalization level. For example, the unstructured processing unit 120 creates the unstructured document 400a based on the records of the customer ID “C001”, the customer name “A company”, and the order number “ORDER001” of the customer information 111a. The non-structural documents 400a and 400b are created in XML (Extensible Markup Language) format. The unstructured processing unit 120 adds the table name “customer information” of the customer information 111a to the start tag and the end tag of the unstructured documents 400a and 400b.

非構造化処理部120は、正規化レベルを変えずに、出荷情報111bの各レコードを基に非構造文書401a〜401eを作成する。非構造文書401a〜401eは、XML形式で作成される。非構造化処理部120は、非構造文書401a〜401eの開始タグと終了タグとに出荷情報111bのテーブル名“出荷情報”を追加する。 The unstructured processing unit 120 creates the unstructured documents 401a to 401e based on each record of the shipping information 111b without changing the normalization level. The non-structural documents 401a to 401e are created in XML format. The unstructured processing unit 120 adds the table name “shipping information” of the shipping information 111b to the start tag and the end tag of the unstructured documents 401a to 401e.

図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 product information 111c and the inquiry history 111d are included in the relational database group 111.

製品情報111cは、製品ID、製品名の項目を含む。製品IDの項目は、製品の識別子を示す。製品名の項目は、製品の名称を示す。
問合せ履歴111dは、問合せID、顧客ID、オーダ番号、製品ID、問合せ内容の項目を含む。問合せIDの項目は、問合せの識別子を示す。顧客IDの項目は、顧客の識別子を示す。オーダ番号の項目は、オーダ番号の識別子を示す。製品IDの項目は、製品の識別子を示す。問合せ内容の項目は、製品に対する質問や製品故障などを示す。
Product information 111c includes items of product ID and product name. The product ID item indicates the product identifier. The item of product name indicates the name of the product.
The inquiry history 111d includes items such as an inquiry ID, a customer ID, an order number, a product ID, and an inquiry content. The item of the inquiry ID indicates the identifier of the inquiry. The customer ID item indicates the customer's identifier. The order number item indicates the order number identifier. The product ID item indicates the product identifier. Inquiry content items indicate questions about the product, product failures, and so on.

非構造化処理部120は、正規化レベルを変えずに、製品情報111cの各レコードを基に非構造文書402a〜402eを作成する。非構造文書402a〜402eは、XML形式で作成される。非構造化処理部120は、非構造文書402a〜402eの開始タグと終了タグとに製品情報111cのテーブル名“製品情報”を追加する。 The unstructured processing unit 120 creates the unstructured documents 402a to 402e based on each record of the product information 111c without changing the normalization level. The non-structural documents 402a to 402e are created in XML format. The unstructured processing unit 120 adds the table name “product information” of the product information 111c to the start tag and the end tag of the unstructured documents 402a to 402e.

非構造化処理部120は、正規化レベルを変えずに、問合せ履歴111dの各レコードを基に非構造文書403a〜403eを作成する。非構造文書403a〜403eは、XML形式で作成される。非構造化処理部120は、非構造文書403a〜403eの開始タグと終了タグとに問合せ履歴111dのテーブル名“問合せ履歴”を追加する。 The unstructured processing unit 120 creates the unstructured documents 403a to 403e based on each record of the inquiry history 111d without changing the normalization level. The non-structural documents 403a to 403e are created in XML format. The unstructured processing unit 120 adds the table name “inquiry history” of the inquiry history 111d to the start tag and the end tag of the unstructured documents 403a to 403e.

次に、非構造化データベース112について、具体例を用いて説明する。
図7は、非構造化データベースの具体例を示す図である。登録部140は、非構造化処理部120が作成した非構造文書を非構造化データベース112に登録する。例えば、非構造化データベース112は、非構造文書400aに登録されていた情報(枠112aの内側)を有する。
Next, the unstructured database 112 will be described with reference to specific examples.
FIG. 7 is a diagram showing a specific example of an unstructured database. The registration unit 140 registers the unstructured document created by the unstructured processing unit 120 in the unstructured database 112. For example, the unstructured database 112 has information (inside the frame 112a) registered in the unstructured document 400a.

図7の非構造化データベース112に示している枠112a〜112e内のそれぞれを以下、文書と表現する。なお、文書は、第1の実施の形態の親要素の一例である。文書は、項目と項目内容とを含む。なお、項目は、第1の実施の形態の子要素名の一例である。項目内容は、第1の実施の形態の子要素内容の一例である。図7は、非構造化データベース112が5つ以上の文書を有していることを示している。なお、非構造化データベース112上に示している枠112a〜112eは、1つの文書を説明するためのものであるため、非構造化データベース112に含まれない。 Each of the frames 112a to 112e shown in the unstructured database 112 of FIG. 7 is hereinafter referred to as a document. The document is an example of the parent element of the first embodiment. The document contains items and item contents. The item is an example of the child element name of the first embodiment. The item content is an example of the child element content of the first embodiment. FIG. 7 shows that the unstructured database 112 has 5 or more documents. The frames 112a to 112e shown on the unstructured database 112 are not included in the unstructured database 112 because they are for explaining one document.

また、文書内の上位タグを以下、文書名と表現する。例えば、枠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 frame 112a is customer information.
The unstructured database 112 does not have to be ordered. For example, the document showing the customer information in the frame 112a and the document showing the customer information in the frame 112c are not continuously registered in the unstructured database 112.

ここで、非構造化処理部120は、関係データベースと同じ正規化レベルで非構造文書を作成する。登録部140は、関係データベースと同じ正規化レベルの非構造文書を非構造化データベース112に登録する。そのため、非構造化データベース112は、関係データベースと同じ正規化レベルの文書を有する。これにより、非構造化データベース112のデータ量は、正規化レベルが低い非構造化データベースのデータ量に比べて少なくなる。 Here, the unstructured processing unit 120 creates an unstructured document at the same normalization level as the relational database. The registration unit 140 registers an unstructured document having the same normalization level as the relational database in the unstructured database 112. Therefore, the unstructured database 112 has the same level of normalization as the relational database. As a result, the amount of data in the unstructured database 112 is smaller than the amount of data in the unstructured database with a low normalization level.

次に、入力定義情報113と文書関係定義情報114とについて、説明する。
図8は、入力定義情報の例を示す図である。入力定義情報113は、入力項目、検索対象文書名/項目を含む。入力項目は、サーバ100が端末装置200から取得した検索依頼に含まれる入力項目に対応する。検索対象文書名/項目は、検索対象の文書名と当該文書名の文書に含まれる項目が検索対象の項目であることを示す。
Next, the input definition information 113 and the document-related definition information 114 will be described.
FIG. 8 is a diagram showing an example of input definition information. The input definition information 113 includes an input item and a search target document name / item. The input items correspond to the input items included in the search request acquired by the server 100 from the terminal device 200. The search target document name / item indicates that the search target document name and the item included in the document with the document name are the search target items.

例えば、入力定義情報113は、入力項目“顧客ID”、検索対象文書名“顧客情報”/項目“顧客ID”、検索対象文書名“問合せ履歴”/項目“顧客ID”を示す。これは、サーバ100が端末装置200から取得した検索依頼に含まれる入力項目が“顧客ID”の場合、“顧客情報”の“顧客ID”、“問合せ履歴”の“顧客ID”を検索対象の項目にすることを示す。 For example, the input definition information 113 indicates an input item “customer ID”, a search target document name “customer information” / item “customer ID”, and a search target document name “inquiry history” / item “customer ID”. This means that when the input item included in the search request acquired from the terminal device 200 by the server 100 is the "customer ID", the "customer ID" of the "customer information" and the "customer ID" of the "inquiry history" are searched. Indicates that it should be an item.

図9は、文書関係定義情報の例を示す図である。文書関係定義情報114は、検索対象文書名/項目、検索対象文書名(関係文書名)/項目を含む。検索対象文書名/項目は、検索対象とされた文書名と当該文書名の文書に含まれる項目を示す。検索対象文書名(関係文書名)/項目は、検索対象文書名/項目の検索対象文書名と関係のある文書名と当該文書名の文書に含まれる項目を示す。 FIG. 9 is a diagram showing an example of document-related definition information. The document relationship definition information 114 includes a search target document name / item and a search target document name (related document name) / item. The search target document name / item indicates the document name searched and the item included in the document with the document name. The search target document name (related document name) / item indicates a document name related to the search target document name of the search target document name / item and an item included in the document of the document name.

例えば、文書関係定義情報114は、検索対象文書名“顧客情報”/項目“顧客ID”、検索対象文書名(関係文書名)“問合せ履歴”/項目“顧客ID”を示す。これは、“顧客情報”と関係のある文書名が“問合せ履歴”であることを示す。また、“顧客情報”の“顧客ID”と“問合せ履歴”の“顧客ID”が関係を有することを示す。 For example, the document-related definition information 114 indicates a search target document name “customer information” / item “customer ID” and a search target document name (related document name) “inquiry history” / item “customer ID”. This indicates that the document name related to "customer information" is "inquiry history". It also indicates that the "customer ID" of the "customer information" and the "customer ID" of the "inquiry history" have a relationship.

次に、サーバ100が実行する処理について、フローチャートを用いて説明する。
図10は、非構造文書の作成処理の例を示すフローチャートである。例えば、非構造化処理部120は、端末装置200から非構造文書の作成指示を受信することで図10の処理を実行する。以下、図10に示す処理をステップ番号に沿って説明する。
Next, the process executed by the server 100 will be described with reference to a flowchart.
FIG. 10 is a flowchart showing an example of a non-structured document creation process. For example, the unstructured processing unit 120 executes the processing of FIG. 10 by receiving an instruction for creating an unstructured document from the terminal device 200. Hereinafter, the process shown in FIG. 10 will be described along with the step numbers.

(S11)非構造化処理部120は、関係データベース群から1つのテーブルを選択する。例えば、非構造化処理部120は、関係データベース群から顧客情報111aを選択する。 (S11) The unstructured processing unit 120 selects one table from the relational database group. For example, the unstructured processing unit 120 selects customer information 111a from the relational database group.

(S12)非構造化処理部120は、テーブルから1つのレコードを選択する。例えば、非構造化処理部120は、顧客情報111aの顧客ID“C001”、顧客名“A社”、オーダ番号“ORDER001”を含むレコードを選択する。 (S12) The unstructured processing unit 120 selects one record from the table. For example, the unstructured processing unit 120 selects a record including the customer ID “C001”, the customer name “A company”, and the order number “ORDER001” of the customer information 111a.

(S13)非構造化処理部120は、レコードの情報をXML形式に変換した非構造文書を作成する。
(S14)非構造化処理部120は、テーブル名の開始タグとテーブル名の終了タグとを非構造文書に追加する。
(S13) The unstructured processing unit 120 creates an unstructured document in which record information is converted into XML format.
(S14) The unstructured processing unit 120 adds the start tag of the table name and the end tag of the table name to the unstructured document.

(S15)非構造化処理部120は、XML形式の非構造文書を記憶部110に格納する。
(S16)非構造化処理部120は、全てのレコードを選択したか否かを判定する。全てのレコードを選択した場合、非構造化処理部120は、処理をステップS17に進める。全てのレコードを選択していない場合、非構造化処理部120は、処理をステップS12に進める。
(S15) The unstructured processing unit 120 stores an XML-format unstructured document in the storage unit 110.
(S16) The unstructured processing unit 120 determines whether or not all the records have been selected. When all the records are selected, the unstructured processing unit 120 advances the processing to step S17. If not all records have been selected, the unstructured processing unit 120 advances the processing to step S12.

(S17)非構造化処理部120は、全てのテーブルを選択したか否かを判定する。全てのテーブルを選択した場合、非構造化処理部120は、処理を終了する。全てのテーブルを選択していない場合、非構造化処理部120は、処理をステップS11に進める。 (S17) The unstructured processing unit 120 determines whether or not all the tables have been selected. When all the tables are selected, the unstructured processing unit 120 ends the processing. If all the tables are not selected, the unstructured processing unit 120 advances the processing to step S11.

図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 information creation unit 130 executes the process of FIG. 11 before the registration unit 140 registers the unstructured document in the unstructured database 112. Hereinafter, the process shown in FIG. 11 will be described along with the step numbers.

(S21)定義情報作成部130は、非構造文書を読み込む。
(S22)定義情報作成部130は、非構造文書内から1つの項目を選択する。例えば、定義情報作成部130は、非構造文書400a内から“顧客ID”を選択する。なお、定義情報作成部130は、非構造文書内から項目を選択する場合、文書名を除外する。例えば、定義情報作成部130は、非構造文書400a内の文書名“顧客情報”を除外する。
(S21) The definition information creation unit 130 reads a non-structured document.
(S22) The definition information creation unit 130 selects one item from the non-structured document. For example, the definition information creation unit 130 selects the “customer ID” from the non-structural document 400a. The definition information creation unit 130 excludes the document name when selecting an item from the non-structured document. For example, the definition information creation unit 130 excludes the document name “customer information” in the non-structural document 400a.

(S23)定義情報作成部130は、選択した項目が入力定義情報113の入力項目に存在し、かつ、ステップS21で読み込んだ非構造文書の文書名が入力定義情報113の検索対象文書に存在するか否かを判定する。判定条件を満たす場合、定義情報作成部130は、処理をステップS31に進める。判定条件を満たさない場合、定義情報作成部130は、処理をステップS24に進める。 (S23) In the definition information creation unit 130, the selected item exists in the input item of the input definition information 113, and the document name of the non-structural document read in step S21 exists in the search target document of the input definition information 113. Judge whether or not. If the determination condition is satisfied, the definition information creation unit 130 advances the process to step S31. If the determination condition is not satisfied, the definition information creation unit 130 advances the process to step S24.

(S24)定義情報作成部130は、選択した項目が入力定義情報113の入力項目に存在するか否かを判定する。選択した項目が入力定義情報113の入力項目に存在する場合、定義情報作成部130は、処理をステップS25に進める。選択した項目が入力定義情報113の入力項目に存在しない場合、定義情報作成部130は、処理をステップS26に進める。 (S24) The definition information creation unit 130 determines whether or not the selected item exists in the input item of the input definition information 113. If the selected item exists in the input item of the input definition information 113, the definition information creation unit 130 advances the process to step S25. If the selected item does not exist in the input item of the input definition information 113, the definition information creation unit 130 proceeds to the process in step S26.

(S25)定義情報作成部130は、同一の項目の行末に項目を追加する。例えば、ステップS21で読み込んだ非構造文書が非構造文書403a、ステップS22で選択した項目が“顧客ID”の場合、定義情報作成部130は、入力定義情報113の“顧客ID,顧客情報/顧客ID”の後に、“問合せ履歴/顧客ID”を追加する。 (S25) The definition information creation unit 130 adds an item to the end of the line of the same item. For example, when the unstructured document read in step S21 is the unstructured document 403a and the item selected in step S22 is the "customer ID", the definition information creation unit 130 determines the "customer ID, customer information / customer" of the input definition information 113. Add "Inquiry history / Customer ID" after "ID".

定義情報作成部130は、処理をステップS31に進める。
(S26)定義情報作成部130は、入力定義情報113に入力項目、検索対象文書名/項目を登録する。例えば、ステップS21で読み込んだ非構造文書が非構造文書400a、ステップS22で選択した項目が“顧客名”の場合、定義情報作成部130は、入力定義情報113に“顧客名,顧客情報/顧客名”を登録する。
The definition information creation unit 130 advances the process to step S31.
(S26) The definition information creation unit 130 registers an input item and a search target document name / item in the input definition information 113. For example, when the unstructured document read in step S21 is the unstructured document 400a and the item selected in step S22 is the "customer name", the definition information creation unit 130 adds "customer name, customer information / customer" to the input definition information 113. Register the "name".

定義情報作成部130は、処理をステップS31に進める。
図12は、定義情報の作成処理の例を示すフローチャート(その2)である。以下、図12に示す処理をステップ番号に沿って説明する。
The definition information creation unit 130 advances the process to step S31.
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 information creation unit 130 determines whether or not the selected item and the document name of the non-structural document read in step S21 exist in the document-related definition information 114. If the determination condition is satisfied, the definition information creation unit 130 advances the process to step S35. If the determination condition is not satisfied, the definition information creation unit 130 advances the process to step S32.

(S32)定義情報作成部130は、記憶部110に設けられた退避領域に退避されている非構造文書の項目とステップS22で選択した項目とが同じであるか否かを判定する。同じ場合、定義情報作成部130は、処理をステップS33に進める。異なる場合、定義情報作成部130は、処理をステップS34に進める。 (S32) The definition information creation unit 130 determines whether or not the item of the non-structural document saved in the save area provided in the storage unit 110 and the item selected in step S22 are the same. In the same case, the definition information creation unit 130 advances the process to step S33. If they are different, the definition information creation unit 130 advances the process to step S34.

(S33)定義情報作成部130は、退避領域に退避されている非構造文書の項目とステップS22で選択した項目とを関係付けて、文書関係定義情報114に登録する。例えば、退避領域に退避されている非構造文書の項目が、“顧客情報”の“顧客ID”であるとする。ステップS21で読み込んだ非構造文書が非構造文書403a、ステップS22で選択した項目が“顧客ID”の場合、定義情報作成部130は、“顧客情報/顧客ID=問合せ履歴/顧客ID”を文書関係定義情報114に登録する。 (S33) The definition information creation unit 130 associates the items of the non-structured document saved in the save area with the items selected in step S22, and registers them in the document-related definition information 114. For example, it is assumed that the item of the non-structured document saved in the save area is the "customer ID" of the "customer information". When the unstructured document read in step S21 is the unstructured document 403a and the item selected in step S22 is the "customer ID", the definition information creation unit 130 documents "customer information / customer ID = inquiry history / customer ID". Register in the relationship definition information 114.

定義情報作成部130は、処理をステップS35に進める。
(S34)定義情報作成部130は、ステップS21で読み込んだ非構造文書の文書名とステップS22で選択した項目とを対応付けて退避領域に格納する。そして、定義情報作成部130は、処理をステップS35に進める。
The definition information creation unit 130 advances the process to step S35.
(S34) The definition information creation unit 130 stores the document name of the unstructured document read in step S21 and the item selected in step S22 in association with each other in the save area. Then, the definition information creation unit 130 advances the process to step S35.

(S35)定義情報作成部130は、全ての項目を選択したか否かを判定する。全ての項目を選択した場合、定義情報作成部130は、処理を終了する。全ての項目を選択していない場合、定義情報作成部130は、処理をステップS22に進める。 (S35) The definition information creation unit 130 determines whether or not all the items have been selected. When all the items are selected, the definition information creation unit 130 ends the process. If all the items are not selected, the definition information creation unit 130 advances the process to step S22.

このように、定義情報作成部130が非構造文書に基づいて、入力定義情報113と文書関係定義情報114とを自動で作成することで、ユーザが入力定義情報113と文書関係定義情報114を作成する手間を省くことができる。 In this way, the definition information creation unit 130 automatically creates the input definition information 113 and the document relationship definition information 114 based on the non-structural document, so that the user creates the input definition information 113 and the document relationship definition information 114. You can save the trouble of doing it.

定義情報作成部130は、非構造化処理部120が非構造文書を作成する度に図11,12の処理を実行する。なお、登録部140は、定義情報作成部130による定義情報の作成処理が終了した非構造文書を非構造化データベース112に登録する。 The definition information creation unit 130 executes the processes shown in FIGS. 11 and 12 each time the unstructured processing unit 120 creates an unstructured document. The registration unit 140 registers the unstructured document for which the definition information creation process by the definition information creation unit 130 has been completed in the unstructured database 112.

図13は、検索処理の例を示すフローチャートである。検索部150は、端末装置200から検索依頼を受信した場合、図13の処理を実行する。以下、図13に示す処理をステップ番号に沿って説明する。 FIG. 13 is a flowchart showing an example of the search process. When the search unit 150 receives the search request from the terminal device 200, the search unit 150 executes the process shown in FIG. Hereinafter, the process shown in FIG. 13 will be described along with the step numbers.

(S41)検索部150は、端末装置200から検索依頼を受信する。検索依頼は、入力項目と入力内容を含む。
(S42)検索部150は、入力定義情報113を参照し、入力項目に対応する検索対象文書名を特定する。
(S41) The search unit 150 receives a search request from the terminal device 200. The search request includes input items and input contents.
(S42) The search unit 150 refers to the input definition information 113 and specifies the search target document name corresponding to the input item.

(S43)検索部150は、非構造化データベース112を参照し、検索対象文書名、入力項目および入力内容と、文書名、項目および項目内容とが一致する文書を検索する。
(S44)検索部150は、ステップS43の検索で条件を満たす文書を特定する。検索部150は、特定した文書に含まれる情報を取得する。
(S43) The search unit 150 refers to the unstructured database 112 and searches for a document in which the search target document name, the input item, and the input content match the document name, the item, and the item content.
(S44) The search unit 150 identifies a document satisfying the conditions in the search in step S43. The search unit 150 acquires the information contained in the specified document.

(S45)検索部150は、文書関係定義情報114を参照し、1度検索した検索対象文書名を除外し、前回の検索対象文書名と関係のある検索対象文書名(関係文書名)が残っているか否かを判定する。残っている場合、検索部150は、処理をステップS46に進める。残っていない場合、検索部150は、処理をステップS51に進める。 (S45) The search unit 150 refers to the document-related definition information 114, excludes the search target document name searched once, and the search target document name (related document name) related to the previous search target document name remains. Determine if it is. If it remains, the search unit 150 proceeds to step S46. If not, the search unit 150 proceeds to step S51.

(S46)検索部150は、文書関係定義情報114を参照し、前回の検索対象文書名と関係のある検索対象文書名(関係文書名)を特定する。
(S47)検索部150は、ステップS44で取得した情報のうち、ステップS43で検索した項目以外の他の項目と他の項目に対応する項目内容を特定する。また、ステップS47を2回以上実行する場合、検索部150は、ステップS50で取得した情報のうち、ステップS49で検索した項目以外の他の項目と他の項目に対応する項目内容を特定する。
(S46) The search unit 150 refers to the document-related definition information 114 and specifies the search target document name (related document name) related to the previous search target document name.
(S47) The search unit 150 identifies other items other than the item searched in step S43 and the item contents corresponding to the other items among the information acquired in step S44. When the step S47 is executed two or more times, the search unit 150 identifies other items other than the item searched in step S49 and the item contents corresponding to the other items among the information acquired in step S50.

(S48)検索部150は、文書関係定義情報114を参照し、ステップS46で特定した検索対象文書名(関係文書名)のうち、ステップS47で特定した他の項目と一致する関係文書名/項目を特定する。 (S48) The search unit 150 refers to the document-related definition information 114, and among the search target document names (related document names) specified in step S46, the related document name / item that matches the other items specified in step S47. To identify.

(S49)検索部150は、非構造化データベース112を参照し、検索対象文書名(関係文書名)、ステップS48で特定した項目および当該項目に対応するステップS47で特定した項目内容と、文書名、項目および項目内容とが一致する文書を検索する。 (S49) The search unit 150 refers to the unstructured database 112, the search target document name (related document name), the item specified in step S48, the item content specified in step S47 corresponding to the item, and the document name. , Search for documents that match the item and item content.

(S50)検索部150は、ステップS49の検索で条件を満たす文書を特定する。検索部150は、特定した文書に含まれる情報を取得する。そして、検索部150は、処理をステップS45に進める。 (S50) The search unit 150 identifies a document satisfying the conditions in the search in step S49. The search unit 150 acquires the information contained in the specified document. Then, the search unit 150 advances the process to step S45.

(S51)検索部150は、ステップS44,50で取得した文書の情報を結合して検索結果を作成する。検索部150は、作成した検索結果を端末装置200に出力する。
次に、検索処理について、具体例を用いて説明する。
(S51) The search unit 150 creates a search result by combining the information of the documents acquired in steps S44 and 50. The search unit 150 outputs the created search result to the terminal device 200.
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 search unit 150 receives the search request 500 from the terminal device 200 (step ST1). The search request 500 indicates the input item "customer name" and the input content "company A".

検索部150は、入力定義情報113を参照し、入力項目“顧客名”に対応する検索対象文書名“顧客情報”を特定する(ステップST2)。検索部150は、非構造化データベース112を参照し、検索対象文書名“顧客情報”、入力項目“顧客名”および入力内容“A社”と、文書名、項目および項目内容とが一致する文書を検索する。検索部150は、条件を満たす文書を特定する(ステップST3)。検索部150は、特定した文書に含まれる情報を取得する。当該情報は、顧客情報、顧客ID“C001”、顧客名“A社”、オーダ番号“ORDER001”である。 The search unit 150 refers to the input definition information 113 and specifies the search target document name “customer information” corresponding to the input item “customer name” (step ST2). The search unit 150 refers to the unstructured database 112, and a document in which the document name, the item, and the item content match the search target document name “customer information”, the input item “customer name”, and the input content “Company A”. To search for. The search unit 150 identifies a document satisfying the conditions (step ST3). The search unit 150 acquires the information contained in the specified document. The information is customer information, customer ID "C001", customer name "Company A", and order number "ORDER001".

検索部150は、文書関係定義情報114を参照し、検索対象文書名“顧客情報”と関係のある検索対象文書名(関係文書名)“出荷情報”,“問合せ履歴”を特定する(ステップST4)。 The search unit 150 refers to the document-related definition information 114 and specifies the search target document name (related document name) “shipping information” and “inquiry history” related to the search target document name “customer information” (step ST4). ).

検索部150は、文書名“顧客情報”を含む文書のうち、検索した項目“顧客名”以外の他の項目と他の項目に対応する項目内容を特定する。すなわち、検索部150は、顧客ID“C001”、オーダ番号“ORDER001”を特定する。 The search unit 150 identifies other items other than the searched item "customer name" and the item contents corresponding to the other items in the document including the document name "customer information". That is, the search unit 150 specifies the customer ID "C001" and the order number "ORDER001".

検索部150は、文書関係定義情報114を参照し、“顧客情報/顧客ID=問合せ履歴/顧客ID”から問合せ履歴/顧客IDを特定する。検索部150は、文書関係定義情報114を参照し、“顧客情報/オーダ番号=出荷情報/オーダ番号”から出荷情報/オーダ番号を特定する。検索部150は、文書関係定義情報114を参照し、“顧客情報/オーダ番号=問合せ履歴/オーダ番号”から問合せ履歴/オーダ番号を特定する。 The search unit 150 refers to the document-related definition information 114 and identifies the inquiry history / customer ID from "customer information / customer ID = inquiry history / customer ID". The search unit 150 refers to the document-related definition information 114 and specifies the shipping information / order number from "customer information / order number = shipping information / order number". The search unit 150 refers to the document-related definition information 114 and specifies the inquiry history / order number from "customer information / order number = inquiry history / order number".

検索部150は、非構造化データベース112を参照し、検索対象文書名(関係文書名)“問合せ履歴”、項目“顧客ID”および項目内容“C001”と、文書名、項目および項目内容とが一致する文書を検索する。検索部150は、非構造化データベース112を参照し、検索対象文書名(関係文書名)“出荷情報”、項目“オーダ番号”および項目内容“ORDER001”と、文書名、項目および項目内容とが一致する文書を検索する。また、検索部150は、非構造化データベース112を参照し、検索対象文書名(関係文書名)“問合せ履歴”、項目“オーダ番号”および項目内容“ORDER001”と、文書名、項目および項目内容とが一致する文書を検索してもよい。また、検索部150は、“出荷情報”などを含む文書と“問合せ履歴”などを含む文書との検索を同時に実行する。 The search unit 150 refers to the unstructured database 112, and finds the search target document name (related document name) "inquiry history", the item "customer ID", the item content "C001", and the document name, item, and item content. Search for matching documents. The search unit 150 refers to the unstructured database 112, and finds the document name (related document name) "shipping information", the item "order number", the item content "ORDER001", and the document name, item, and item content. Search for matching documents. Further, the search unit 150 refers to the unstructured database 112, and refers to the search target document name (related document name) "inquiry history", the item "order number" and the item content "ORDER001", and the document name, the item and the item content. You may search for documents that match. Further, the search unit 150 simultaneously executes a search for a document including "shipping information" and the like and a document including "inquiry history" and the like.

検索部150は、出荷情報、オーダ番号“ORDER001”、製品ID“PRD001”を含む文書の情報を取得する(ステップST5)。また、検索部150は、問合せ履歴、問合せID“QA001”、顧客ID“C001”、オーダ番号“ORDER001”、製品ID“PRD001”、問合せ内容“CT1”を含む文書の情報を取得する(ステップST5)。 The search unit 150 acquires document information including shipping information, an order number “ORDER001”, and a product ID “PRD001” (step ST5). Further, the search unit 150 acquires document information including the inquiry history, the inquiry ID "QA001", the customer ID "C001", the order number "ORDER001", the product ID "PRD001", and the inquiry content "CT1" (step ST5). ).

検索部150は、文書関係定義情報114を参照し、検索対象文書名“出荷情報”または、検索対象文書名“問合せ履歴”と関係のある関係文書名“製品情報”を特定する(ステップST6)。 The search unit 150 refers to the document-related definition information 114 and specifies the search target document name “shipping information” or the related document name “product information” related to the search target document name “inquiry history” (step ST6). ..

検索部150は、文書名“出荷情報”を含む文書のうち、検索した項目“オーダ番号”以外の他の項目と他の項目に対応する項目内容を特定する。すなわち、検索部150は、製品ID“PRD001”を特定する。検索部150は、文書名“問合せ履歴”を含む文書のうち、検索した項目“顧客ID”,“オーダ番号”以外の他の項目と他の項目に対応する項目内容を特定する。すなわち、検索部150は、問合せID“QA001”、製品ID“PRD001”、問合せ内容“CT1”を特定する。 The search unit 150 identifies other items other than the searched item "order number" and the item contents corresponding to the other items in the document including the document name "shipping information". That is, the search unit 150 identifies the product ID "PRD001". The search unit 150 identifies other items other than the searched items "customer ID" and "order number" and the item contents corresponding to the other items in the document including the document name "inquiry history". That is, the search unit 150 specifies the inquiry ID "QA001", the product ID "PRD001", and the inquiry content "CT1".

検索部150は、文書関係定義情報114を参照し、“出荷情報/製品ID=製品情報/製品ID”または“問合せ履歴/製品ID=製品情報/製品ID”から製品情報/製品IDを特定する。なお、検索部150は、検索対象文書名(関係文書名)“製品情報”と関係のない項目“問合せID”、“問合せ内容”を除外する。 The search unit 150 refers to the document-related definition information 114 and identifies the product information / product ID from "shipping information / product ID = product information / product ID" or "inquiry history / product ID = product information / product ID". .. The search unit 150 excludes the items "inquiry ID" and "inquiry content" that are not related to the search target document name (related document name) "product information".

検索部150は、非構造化データベース112を参照し、関係文書名“製品情報”、項目“製品ID”および項目内容“PRD001”と、文書名、項目および項目内容とが一致する文書を検索する。これにより、検索部150は、製品情報、製品ID“PRD001”、製品名“製品A”を含む文書の情報を取得する(ステップST7)。 The search unit 150 refers to the unstructured database 112 and searches for a document in which the related document name “product information”, item “product ID” and item content “PRD001” match the document name, item and item content. .. As a result, the search unit 150 acquires the information of the document including the product information, the product ID "PRD001", and the product name "Product A" (step ST7).

検索部150は、1度検索した検索対象文書名を除外し、検索対象文書名“製品情報”と関係のある検索対象文書名(関係文書名)が残っていないと判定する。検索部150は、ステップST3,ST5,ST7で取得した文書の情報を結合して検索結果を作成する。検索部150は、作成した検索結果を端末装置200に出力する。 The search unit 150 excludes the search target document name that has been searched once, and determines that the search target document name (related document name) related to the search target document name “product information” does not remain. The search unit 150 creates a search result by combining the document information acquired in steps ST3, ST5, and ST7. The search unit 150 outputs the created search result to the terminal device 200.

図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 terminal device 200.
According to the second embodiment, the unstructured database 112 includes a plurality of documents having the same normalization level as the tables included in the relational database group 111. Therefore, the unstructured database 112 has less redundancy than the unstructured database having a low normalization level. That is, the unstructured database 112 has a smaller amount of data than the unstructured database having a low normalization level. The server 100 can speed up the search using the unstructured database by searching using the unstructured database 112 having a small amount of data.

サーバ100は、入力定義情報113を参照し、検索対象文書名、入力項目および入力内容と、文書名、項目および項目内容とが一致する文書を検索する。このように、サーバ100は、非構造化データベース112に対する検索条件が多くなることで、的確な検索結果を得ることができる。 The server 100 refers to the input definition information 113 and searches for a document in which the search target document name, the input item, and the input content match the document name, the item, and the item content. In this way, the server 100 can obtain accurate search results by increasing the number of search conditions for the unstructured database 112.

また、検索依頼に含まれる入力項目に対応する複数の検索対象文書名が入力定義情報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 input definition information 113, the server 100 simultaneously searches for the document names having the search target document names. For example, when the search target document names "customer information" and "inquiry history" corresponding to the input item "customer ID" included in the search request are registered in the input definition information 113, the server 100 uses the document name "customer information". The document having "" and the document having the document name "inquiry history" are searched at the same time. In this way, the server 100 can shorten the search time by simultaneously searching for the document name having the search target document name.

また、サーバ100は、文書関係定義情報114を参照し、検索対象の項目と検索対象外の項目を特定する。例えば、図14のステップST6の後、サーバ100は、“製品ID”を検索対象の項目として特定する。また、サーバ100は、検索対象文書名(関係文書名)“製品情報”と関係のない項目“問合せID”、“問合せ内容”を検索対象から除外する。これにより、サーバ100は、“問合せID”、“問合せ内容”を検索対象の項目として、非構造化データベース112に対して検索を行わなくて済む。すなわち、サーバ100は、文書関係定義情報114を有することで、余計な検索処理を行わなくて済む。 Further, the server 100 refers to the document-related definition information 114 and identifies an item to be searched and an item not to be searched. For example, after step ST6 in FIG. 14, the server 100 identifies the "product ID" as a search target item. Further, the server 100 excludes the items "inquiry ID" and "inquiry content" that are not related to the search target document name (related document name) "product information" from the search target. As a result, the server 100 does not have to search the unstructured database 112 with the "query ID" and "query content" as search target items. That is, since the server 100 has the document-related definition information 114, it is not necessary to perform an extra search process.

また、文書関係定義情報114は、異なる文書名を有する文書それぞれを、少なくとも1つの項目が共通する文書と当該文書以外の他の文書とが対応付けられた情報である。すなわち、異なる文書名で共通する項目を有する文書同士は、互いに関係を有することになる。これにより、サーバ100は、異なる文書名を有する文書それぞれに設定された内容を出力することができる。例えば、サーバ100は、異なる文書名“顧客情報”、“出荷情報”、“製品情報”、“問合せ履歴”それぞれに設定された内容を出力することができる。 Further, the document-related definition information 114 is information in which documents having different document names are associated with a document having at least one item in common and a document other than the document. That is, documents having different document names and common items have a relationship with each other. As a result, the server 100 can output the contents set for each document having a different document name. For example, the server 100 can output the contents set in each of the different document names "customer information", "shipping information", "product information", and "inquiry history".

また、第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 processor 101 to execute the program. The program can be recorded on a computer-readable recording medium.

例えば、プログラムを記録した記録媒体は、プログラムを流通させることで配布することができる。また、非構造化処理部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 unstructured processing unit 120, the definition information creation unit 130, the registration unit 140, and the search unit 150 can be distributed separately as separate programs. The functions of the unstructured processing unit 120, the definition information creation unit 130, the registration unit 140, and the search unit 150 may be realized by separate computers. For example, the computer may store the program recorded on the recording medium in the RAM 102 and the HDD 103, read the program, and execute the program.

1 検索装置
1a 記憶部
1aa 非構造化データベース
1a1,1a2 親要素
1b 検索部
2 検索情報
3 検索結果
S1,S2,S3,S4,S5 ステップ
1 Search device 1a Storage unit 1aa Unstructured database 1a1,1a2 Parent element 1b Search unit 2 Search information 3 Search results S1, S2, S3, S4, S5 Step

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に記載の検索プログラム。 In the generation of the unstructured database, the parent element corresponding to the record in the table included in the relational database is generated, the child element corresponding to the value set in the record is created, and the created child is created. The search program according to claim 2, wherein the element is included in the parent element corresponding to the record. 前記第2親要素の検索では、
同じ前記子要素名の前記子要素をそれぞれが有する複数の前記親要素の前記親要素名を関係付けた第2定義を参照し、
前記第1親要素の前記親要素名と関係を有し、前記第2子要素が示す前記要素名と一致する前記子要素名を有する前記親要素の前記親要素名を特定し、
特定した前記親要素名と一致する前記親要素名を有する前記親要素の中から、前記第2親要素を検索する、請求項に記載の検索プログラム。
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定義と前記第2定義とを作成する、請求項に記載の検索プログラム。 The search program according to claim 4 , wherein the first definition and the second definition are created based on the parent element name and the child element included in the plurality of parent elements. 関係データベースに含まれる複数のテーブルのいずれかのテーブル内のレコードに対応し、該レコードに含まれる項目の名称を子要素名とし、該項目の値を子要素内容とする子要素を複数有し、該テーブルの名称を親要素名として有する親要素が、複数格納されている非構造化データベースを記憶する記憶部と、
要素名と要素内容とを示す検索情報を取得し、前記子要素名に対応付けて、前記子要素名の前記子要素を有する前記親要素それぞれの前記親要素名を列挙した第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.
JP2016212018A 2016-10-28 2016-10-28 Search program, search device and search method Active JP6849904B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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