(57)【要約】【課題】検索要求の検索精度の低下を抑止することを図ること。【解決手段】図１の（ａ）で示すように、コンピュータ１０１は、第２の記憶領域１１２に対して発行された検索要求１１３を取得する。次に、コンピュータ１０１は、発行された検索要求１１３に基づいて、第１の記憶領域１１１に記憶されるデータから、第２の記憶領域１１２へ記憶する対象とするデータを決定する。そして、図１の（ｂ）で示すように、コンピュータ１０１は、決定したデータを第１の記憶領域１１１から所定の周期で読み出して、読み出したデータを第２の記憶領域１１２に記憶する。【選択図】図１
2016053814.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
第１の記憶領域から読み出されたデータを記憶する第２の記憶領域に対して発行された検索要求を取得し、
取得した前記検索要求に基づいて、前記第１の記憶領域に記憶されるデータから、前記第２の記憶領域へ記憶する対象とするデータを決定し、
決定した前記データを前記第１の記憶領域から所定の周期で読み出して、読み出したデータを前記第２の記憶領域に記憶する、
処理を実行させることを特徴とするデータ検索制御プログラム。
【請求項２】
前記第１の記憶領域に記憶されるデータは、複数の属性の各々の属性に対応付けられた値であり、
前記決定する処理は、
前記検索要求で特定される属性を、前記第２の記憶領域へ記憶する対象とする属性として決定し、
前記記憶する処理は、
決定した前記属性に対応する値を前記第１の記憶領域から前記所定の周期で読み出して、読み出した値を前記属性と対応付けて前記第２の記憶領域に記憶することを特徴とする請求項１に記載のデータ検索制御プログラム。
【請求項３】
前記決定する処理は、
前記複数の属性のうちの前記検索要求で特定される属性と前記各々の属性に対応付けられた値の組を識別する値に対応付けられた属性とを、前記第２の記憶領域へ記憶する対象とする属性として決定して、決定した前記属性を特定するルールを生成し、
前記記憶する処理は、
生成した前記ルールにより特定される属性に対応する値を前記第１の記憶領域から前記所定の周期で読み出して、読み出した値を前記ルールにより特定される属性と対応付けて前記第２の記憶領域に記憶することを特徴とする請求項２に記載のデータ検索制御プログラム。
【請求項４】
前記コンピュータに、
前記ルールに従って読み出された値と前記ルールにより特定される属性とを対応付けて記憶する前記第２の記憶領域に対して発行された検索要求と前記検索要求に対応する検索結果とを取得し、
取得した前記検索結果が前記検索要求で特定される属性に対応する値が検出されなかったことを示す場合、前記ルールを、前記検索要求で特定される属性を前記第２の記憶領域へ記憶する対象とする属性に含むルールに更新し、
更新した前記ルールにより特定される属性に対応する値を前記第１の記憶領域から前記所定の周期で読み出して、読み出した値を前記ルールにより特定される属性と対応付けて前記第２の記憶領域に記憶する、
処理を実行させることを特徴とする請求項３に記載のデータ検索制御プログラム。
【請求項５】
前記決定する処理は、
前記検索要求により検出したデータを丸めたデータを出力することが前記検索要求に含まれる場合、前記丸めたデータを、前記第２の記憶領域へ記憶する対象とするデータとして決定することを特徴とする請求項１に記載のデータ検索制御プログラム。
【請求項６】
第１の記憶領域から読み出されたデータを記憶する第２の記憶領域に対して発行された検索要求を取得し、
取得した前記検索要求に基づいて、前記第１の記憶領域に記憶されるデータから、前記第２の記憶領域へ記憶する対象とするデータを決定し、
決定した前記データを前記第１の記憶領域から所定の周期で読み出して、読み出したデータを前記第２の記憶領域に記憶する、
制御部を有することを特徴とするコンピュータ。
【請求項７】
コンピュータが、
第１の記憶領域から読み出されたデータを記憶する第２の記憶領域に対して発行された検索要求を取得し、
取得した前記検索要求に基づいて、前記第１の記憶領域に記憶されるデータから、前記第２の記憶領域へ記憶する対象とするデータを決定し、
決定した前記データを前記第１の記憶領域から所定の周期で読み出して、読み出したデータを前記第２の記憶領域に記憶する、
処理を実行することを特徴とするデータ検索制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ検索制御プログラム、コンピュータ、およびデータ検索制御方法に関する。
【背景技術】
【０００２】
従来、検索要求を基に、記憶領域に記憶されたデータを検索する技術がある。関連する先行技術として、例えば、データベース（ＤａｔａＢａｓｅ：ＤＢ）から、指定された項目を抽出して作成した集約ＤＢに集約した項目を参照して、検索条件を基に検索対象の集約ＤＢを特定し、検索条件を基に作成したコマンドに基づき、特定した集約ＤＢを検索するものがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−６６０９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術によれば、第１の記憶領域の一部のデータを記憶する第２の記憶領域に対して検索要求の発行を行うと、検索要求の検索精度を確保することが困難である。例えば、第２の記憶領域に記憶するデータを予め固定にすると、検索されるデータの傾向が変化した際に、検索精度が低下する場合がある。また、利用者により第２の記憶領域に記憶するデータを指定するとなると、手間がかかる。
【０００５】
１つの側面では、本発明は、検索要求の検索精度の低下を抑止できるデータ検索制御プログラム、コンピュータ、およびデータ検索制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様によれば、第１の記憶領域から読み出されたデータを記憶する第２の記憶領域に対して発行された検索要求を取得し、取得した検索要求に基づいて、第１の記憶領域に記憶されるデータから、第２の記憶領域へ記憶する対象とするデータを決定し、決定したデータを第１の記憶領域から所定の周期で読み出して、読み出したデータを第２の記憶領域に記憶する、データ検索制御プログラム、コンピュータ、およびデータ検索制御方法が提案される。
【発明の効果】
【０００７】
本発明の一側面によれば、検索要求の検索精度の低下を抑止できるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、コンピュータ１０１の動作例を示す説明図である。
【図２】図２は、検索システム２００の構成例を示す説明図である。
【図３】図３は、ＤＢサーバ２０１のハードウェア構成例を示すブロック図である。
【図４】図４は、利用者端末２０３のハードウェア構成例を示すブロック図である。
【図５】図５は、ＤＢサーバ２０１の機能構成例を示すブロック図である。
【図６】図６は、生データ２１２の記憶内容の一例を示す説明図である。
【図７】図７は、検索クエリの一例を示す説明図である。
【図８】図８は、抽出ルールファイル５１１の記憶内容の一例を示す説明図である。
【図９】図９は、抽出ルールファイル５１１の生成例を示す説明図（その１）である。
【図１０】図１０は、抽出ルールファイル５１１の生成例を示す説明図（その２）である。
【図１１】図１１は、抽出ルールファイル５１１の生成例を示す説明図（その３）である。
【図１２】図１２は、抽出ルールファイル５１１適用後の統合サマリＤＢ２０４の記憶内容の一例を示す説明図である。
【図１３】図１３は、抽出ルールファイル５１１の更新例を示す説明図である。
【図１４】図１４は、データ取り込み処理手順の一例を示すフローチャートである。
【図１５】図１５は、検索制御処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下に図面を参照して、開示のデータ検索制御プログラム、コンピュータ、およびデータ検索制御方法の実施の形態を詳細に説明する。
【００１０】
図１は、コンピュータ１０１の動作例を示す説明図である。本実施の形態にかかるコンピュータ１０１は、データに対する検索の制御を行うコンピュータである。コンピュータ１０１は、例えば、サーバである。データは、どのようなものでもよく、例えば、コンピュータ処理の結果やログデータ等の生データである。ここで、生データとは、記録されて以来、加工が一切施されていないデータのことである。
【００１１】
ここで、生データは、加工されていないため、膨大なデータ量となる。そこで、コンピュータ１０１は、生データを記憶する第１の記憶領域１１１から生データの一部を、所定の周期で読み出して、第２の記憶領域１１２に書き込む。そして、コンピュータ１０１は、検索要求を第２の記憶領域１１２に発行し、検索要求に対する検索結果を検索要求の発行元に送信する。所定の周期は、どのような間隔でもよく、例えば、１日、１週間、１か月である。
【００１２】
ここで、第１の記憶領域１１１に記憶されており第２の記憶領域１１２に記憶されていないデータが検索される場合があり、検索要求の検索精度を確保することが困難である。具体的には、例えば、第２の記憶領域１１２に記憶するデータを予め固定にすると、検索されるデータの傾向が変化した際に、検索精度が低下する場合がある。また、利用者により第２の記憶領域１１２に記憶するデータを指定するとなると、手間がかかる。
【００１３】
そこで、コンピュータ１０１は、第２の記憶領域１１２に対する検索要求を基に第２の記憶領域１１２に記憶するデータを決定し、第２の記憶領域１１２に記憶するデータを第１の記憶領域１１１から周期的に読み出し第２の記憶領域１１２に記憶する。これにより、コンピュータ１０１は、検索要求の傾向にあったデータを第２の記憶領域１１２に記憶して検索精度の低下を抑止しつつ、第２の記憶領域１１２の記憶量を抑えることができる。
【００１４】
より具体的な動作を、図１を用いて説明する。図１では、第１の記憶領域１１１には、生データが格納される。生データのデータ形式は、どのようなものでもよく、図１の例では、ＣＳＶ（Ｃｏｍｍａ  Ｓｅｐａｒａｔｅｄ  Ｖａｌｕｅｓ）で格納されている。図１の（ａ）では、ＣＳＶ形式の生データを生成するシステムの稼働が開始したばかりの状態を示すものとする。従って、第１の記憶領域１１１に記憶されたデータ量が少なく、第２の記憶領域１１２には、第１の記憶領域１１１に記憶されたデータの全てが書き込まれたものとする。また、図１の（ａ）で示す第１の記憶領域１１１、第２の記憶領域１１２には、「Ａ１，Ａ２，Ａ３，Ａ４，Ａ５」という行と、「Ｂ１，Ｂ２，Ｂ３，Ｂ４，Ｂ５」という行とが格納されている。
【００１５】
図１の（ａ）で示すように、コンピュータ１０１は、第２の記憶領域１１２に対して発行された検索要求１１３を取得する。図１の（ａ）に示す検索要求１１３は、「各行の左から３番目の値と５番目の値を抽出」するという検索要求である。なお、検索要求１１３を受けた場合、コンピュータ１０１は、第２の記憶領域１１２から、検索要求１１３に合致するデータを検出し、検索要求１１３の発行元に検索結果１１４「Ａ３，Ａ５  Ｂ３，Ｂ５」を送信する。ここで、検索要求に合致するデータを検出し、検索要求１１３の発行元に検索結果１１４を送信する装置は、コンピュータ１０１以外の他のコンピュータでもよい。
【００１６】
次に、コンピュータ１０１は、発行された検索要求１１３に基づいて、第１の記憶領域１１１に記憶されるデータから、第２の記憶領域１１２へ記憶する対象とするデータを決定する。図１の例では、検索要求１１３から、コンピュータ１０１は、第１の記憶領域１１１に記憶されるデータのうち、「各行の左から３番目」のデータと「各行の左から５番目」のデータとを、第２の記憶領域１１２へ記憶する対象とするデータとして決定する。図１の（ａ）の例では、「各行の左から３番目」のデータを含む枠１１５を示し、「各行の左から５番目」のデータ含む枠１１６を示す。
【００１７】
そして、図１の（ｂ）で示すように、コンピュータ１０１は、決定したデータを第１の記憶領域１１１から所定の周期で読み出して、読み出したデータを第２の記憶領域１１２に記憶する。図１の（ｂ）は、図１の（ａ）以降で所定の周期が満了した状態を示す。図１の（ｂ）の例では、コンピュータ１０１は、枠１１５に含まれる「Ａ３、Ｂ３、Ｃ３」と、枠１１６に含まれる「Ａ５、Ｂ５、Ｃ５」とを、第２の記憶領域１１２に記憶する。次に、コンピュータ１０１をＤＢサーバに適用した例を、図２に示す。
【００１８】
図２は、検索システム２００の構成例を示す説明図である。検索システム２００は、ＤＢサーバ２０１と、ＡＰ（ＡＰｐｌｉｃａｔｉｏｎ）サーバ２０２と、利用者端末２０３と、統合サマリＤＢ２０４とを含む。また、ＤＢサーバ２０１は、業務システム２１１−１、業務システム２１１−２、…、と接続する。業務システム２１１−１は、生データ２１２−１を有する。また、業務システム２１１−２は、生データ２１２−２を有する。ここで、ＤＢサーバ２０１は、図１で示したコンピュータ１０１に相当する。また、生データ２１２は、図１で示した第１の記憶領域１１１に記憶されるデータに相当する。また、統合サマリＤＢ２０４は、図１で示した第２の記憶領域１１２に相当する。
【００１９】
ここで、生データ２１２は、複数の属性の各々の属性に対応付けられた値である。具体的には、生データ２１２は、リレーショナルＤＢで管理されるデータである。以下、値に対置付けられた属性を「カラム」と称する。また、カラムに対応付けられた値の組を、「レコード」と称する。カラムとレコードとで形成されるデータ群を、「テーブル」と称する。生データ２１２は、１以上のテーブルにより管理される。
【００２０】
ここで、業務システム２１１は、ある製薬会社に関するシステムであるとする。そして、ある製薬会社のマーケティング部門に所属する者が、利用者端末２０３を用いて検索システム２００を利用するものとする。以下、検索システム２００を利用する者を、単に「利用者」と称する。
【００２１】
検索システム２００は、利用者端末２０３を利用する利用者に、生データ２１２−１、２、…を検索するサービスを提供する。ここで、生データ２１２−１、２、…は加工されていないデータであり、膨大なデータ量である。そこで、検索システム２００は、生データ２１２−１、２、…の一部のデータを、統合サマリＤＢ２０４に格納し、ＡＰサーバ２０２は、統合サマリＤＢ２０４を有するＤＢサーバ２０１に検索要求を発行する。統合サマリＤＢ２０４は、生データ２１２の一部のデータを記憶していることから、生データ２１２と同様に、リレーショナルＤＢで管理されるデータである。そして、検索要求は、リレーショナルＤＢに対する問い合わせ言語であるＳＱＬに従って記載される。以下、検索要求を、「検索クエリ」と称する。
【００２２】
ＤＢサーバ２０１は、ＡＰサーバ２０２から検索クエリを受け付けて、統合サマリＤＢ２０４から検索クエリに合致するデータを検出し、検出したデータを検索結果としてＡＰサーバ２０２に送信する。さらに、ＤＢサーバ２０１は、検索クエリに基づいて、生データ２１２に記憶されるデータから、統合サマリＤＢ２０４へ記憶する対象とするデータを決定する。そして、ＤＢサーバ２０１は、決定したデータを生データ２１２から所定の周期で読み出して、読み出したデータを統合サマリＤＢ２０４に記憶する。
【００２３】
ＡＰサーバ２０２は、ＤＢサーバ２０１に検索クエリを発行して、ＤＢサーバ２０１から検索結果を受け付ける。より具体的には、ＡＰサーバ２０２は、利用者端末２０３からアクセスを受け付けると、画面データを生成して、利用者端末２０３に画面データを送信する。ここで、画面データは、検索クエリを生成可能な画面を形成するデータである。
【００２４】
例えば、ＡＰサーバ２０２は、生データ２１２が有する複数のカラムのいずれかを選択する選択メニューを有する画面データを生成して、利用者端末２０３に画面データを送信する。画面データを受信した利用者端末２０３は、画面データより画面を形成し、利用者の操作で選択メニューにより複数のカラムのいずれかを選択して、ＡＰサーバ２０２に選択したカラム名を送信する。ＡＰサーバ２０２は、送信されたカラム名を用いて、検索クエリを組み立てて、組み立てた検索クエリをＤＢサーバ２０１に発行する。
【００２５】
統合サマリＤＢ２０４は、生データ２１２の一部を記憶する記憶領域である。また、統合サマリＤＢ２０４は、クラウドサービスが提供する記憶領域を利用する。従って、統合サマリＤＢ２０４に保存できるデータ量の上限が決まっていたり、統合サマリＤＢ２０４のデータ量に応じた課金が発生したりするため、検索システム２００は、統合サマリＤＢ２０４に保存するデータ量を抑えることになる。
【００２６】
業務システム２１１は、前述したように、ある製薬会社に関するシステムであるとする。例えば、業務システム２１１−１が、ある製薬会社の薬を取り扱う薬局で導入されたＰＯＳ（Ｐｏｉｎｔ  ｏｆ  Ｓａｌｅ）システムである場合、生データ２１２−１は、ＰＯＳシステムで発生したデータである、薬を服薬した人の会員番号、薬の製品番号、服用開始日等である。また、業務システム２１１−２は、例えば、製薬会社の業務システムであれば、生データ２１２−２は、例えば、薬の製品番号、販売開始、アレルギー成分等である。生データ２１２の具体例については、図６で説明する。
【００２７】
図３は、ＤＢサーバ２０１のハードウェア構成例を示すブロック図である。図３において、ＤＢサーバ２０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０３と、を含む。また、ＤＢサーバ２０１は、ディスクドライブ３０４およびディスク３０５と、通信インターフェース３０６と、を含む。また、ＣＰＵ３０１〜ディスクドライブ３０４、通信インターフェース３０６はバス３０７によってそれぞれ接続される。
【００２８】
ＣＰＵ３０１は、ＤＢサーバ２０１の全体の制御を司る演算処理装置である。ＲＯＭ３０２は、ブートプログラムなどのプログラムを記憶する不揮発性メモリである。ＲＡＭ３０３は、ＣＰＵ３０１のワークエリアとして使用される揮発性メモリである。
【００２９】
ディスクドライブ３０４は、ＣＰＵ３０１の制御に従ってディスク３０５に対するデータのリードおよびライトを制御する制御装置である。ディスクドライブ３０４には、例えば、磁気ディスクドライブ、ソリッドステートドライブなどを採用することができる。ディスク３０５は、ディスクドライブ３０４の制御で書き込まれたデータを記憶する不揮発性メモリである。例えばディスクドライブ３０４が磁気ディスクドライブである場合、ディスク３０５には、磁気ディスクを採用することができる。また、ディスクドライブ３０４がソリッドステートドライブである場合、ディスク３０５には、半導体素子によって形成された半導体メモリ、いわゆる半導体ディスクを採用することができる。
【００３０】
通信インターフェース３０６は、ネットワークと内部のインターフェースを司り、他の装置からのデータの入出力を制御する制御装置である。具体的に、通信インターフェース３０６は、通信回線を通じてネットワークを介して他の装置に接続される。通信インターフェース３０６には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００３１】
また、検索システム２００の管理者が、ＤＢサーバ２０１を直接操作する場合、ＤＢサーバ２０１は、ディスプレイ、キーボード、マウスといったハードウェアを有してもよい。また、図３には図示していないが、ＡＰサーバ２０２も、ＤＢサーバ２０１と同様のハードウェアを有する。
【００３２】
図４は、利用者端末２０３のハードウェア構成例を示すブロック図である。利用者端末２０３は、ＣＰＵ４０１と、ＲＯＭ４０２と、ＲＡＭ４０３と、を含む。また、利用者端末２０３は、ディスクドライブ４０４と、ディスク４０５と、通信インターフェース４０６と、を含む。また、利用者端末２０３は、ディスプレイ４０７と、キーボード４０８と、マウス４０９とを含む。また、ＣＰＵ４０１〜ディスクドライブ４０４と、通信インターフェース４０６〜マウス４０９とは、バス４１０によってそれぞれ接続される。
【００３３】
ＣＰＵ４０１は、利用者端末２０３の全体の制御を司る演算処理装置である。ＲＯＭ４０２は、ブートプログラムなどのプログラムを記憶する不揮発性メモリである。ＲＡＭ４０３は、ＣＰＵ４０１のワークエリアとして使用される揮発性メモリである。
【００３４】
ディスクドライブ４０４は、ＣＰＵ４０１の制御に従ってディスク４０５に対するデータのリードおよびライトを制御する制御装置である。ディスクドライブ４０４には、例えば、磁気ディスクドライブ、光ディスクドライブ、ソリッドステートドライブなどを採用することができる。ディスク４０５は、ディスクドライブ４０４の制御で書き込まれたデータを記憶する不揮発性メモリである。例えばディスクドライブ４０４が磁気ディスクドライブである場合、ディスク４０５には、磁気ディスクを採用することができる。また、ディスクドライブ４０４が光ディスクドライブである場合、ディスク４０５には、光ディスクを採用することができる。また、ディスクドライブ４０４がソリッドステートドライブである場合、ディスク４０５には、半導体素子によって形成された半導体メモリ、いわゆる半導体ディスクを採用することができる。
【００３５】
通信インターフェース４０６は、ネットワークと内部のインターフェースを司り、外部装置からのデータの入出力を制御する制御装置である。具体的に、通信インターフェース４０６は、通信回線を通じてネットワークを介して他の装置に接続される。通信インターフェース４０６には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００３６】
ディスプレイ４０７は、マウスカーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する装置である。ディスプレイ４０７には、例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）、ＴＦＴ（Ｔｈｉｎ  Ｆｉｌｍ  Ｔｒａｎｓｉｓｔｏｒ）液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００３７】
キーボード４０８は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う装置である。また、キーボード４０８は、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス４０９は、マウスカーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う装置である。マウス４０９は、ポインティングデバイスとして同様に機能を有するものであれば、トラックボールやジョイスティックなどであってもよい。
【００３８】
（ＤＢサーバ２０１の機能構成例）
図５は、ＤＢサーバ２０１の機能構成例を示すブロック図である。ＤＢサーバ２０１は、制御部５００を有する。制御部５００は、取得部５０１と、決定部５０２と、記憶部５０３と、更新部５０４とを有する。制御部５００は、記憶装置に記憶されたプログラムをＣＰＵ３０１が実行することにより、各部の機能を実現する。記憶装置とは、具体的には、例えば、図３に示したＲＯＭ３０２、ＲＡＭ３０３、ディスク３０５などである。また、各部の処理結果は、ＣＰＵ３０１のレジスタや、ＣＰＵ３０１のキャッシュメモリ等に格納される。
【００３９】
また、ＤＢサーバ２０１は、通信インターフェース３０６を介して、生データ２１２、統合サマリＤＢ２０４にアクセス可能である。
【００４０】
取得部５０１は、生データ２１２から読み出されたデータを記憶する統合サマリＤＢ２０４に対して発行された検索クエリ５１２を取得する。
【００４１】
決定部５０２は、取得部５０１が取得した検索クエリ５１２に基づいて、生データ２１２に記憶されるデータから、統合サマリＤＢ２０４へ記憶する対象とするデータを決定する。また、決定部５０２は、検索クエリ５１２で特定されるカラム名を、統合サマリＤＢ２０４へ記憶する対象とするカラム名として決定してもよい。具体的には、例えば、決定部５０２は、検索クエリ５１２のｓｅｌｅｃｔ句で使用されたカラム名を、統合サマリＤＢ２０４へ記憶する対象とするカラム名として決定する。また、決定部５０２は、検索クエリ５１２のいずれかの句で使用されたカラム名を、統合サマリＤＢ２０４へ記憶する対象とするカラム名として決定してもよい。
【００４２】
また、決定部５０２は、複数のカラム名のうちの検索クエリ５１２で特定されるカラム名と主キーとして設定されたカラム名とを、統合サマリＤＢ２０４へ記憶する対象とするカラム名として決定して、決定したカラム名を特定するルールを生成してもよい。以下、ルールを、「抽出ルールファイル」と称する。図５では、抽出ルールファイル５１１として示す。また、抽出ルールファイルの生成例は、図９〜図１１で説明する。
【００４３】
また、主キーとして設定されたカラム名とは、各々のカラム名に対応付けられた値の組を識別する値に対応付けられたカラム名のことである。ここで、テーブルが有する複数のカラムのうちのいずれが主キーに設定されているかは、テーブルの定義を参照することにより特定することができる。
【００４４】
抽出ルールファイル５１１は、統合サマリＤＢ２０４へ記憶する対象として決定したカラム名を記憶してもよいし、生データ２１２が有する複数のカラム名のうち、統合サマリＤＢ２０４へ記憶する対象として決定したカラム名以外のカラム名を記憶してもよい。本実施の形態では、抽出ルールファイル５１１は、生データ２１２が有する複数のカラム名のうち、統合サマリＤＢ２０４へ記憶する対象として決定したカラム名以外のカラム名を記憶するものとする。抽出ルールファイル５１１の記憶内容の一例は、図８で説明する。
【００４５】
記憶部５０３は、決定部５０２が決定したデータを生データ２１２から所定の周期で読み出して、読み出したデータを統合サマリＤＢ２０４に記憶する。また、記憶部５０３は、決定部５０２が決定したカラム名に対応する値を生データ２１２から所定の周期で読み出して、読み出した値をカラム名と対応付けて統合サマリＤＢ２０４に記憶してもよい。
【００４６】
また、記憶部５０３は、抽出ルールファイル５１１により特定されるカラム名に対応する値を生データ２１２から所定の周期で読み出して、読み出した値を抽出ルールファイル５１１により特定されるカラム名と対応付けて統合サマリＤＢ２０４に記憶してもよい。
【００４７】
また、取得部５０１は、統合サマリＤＢ２０４に対して発行された検索クエリ５１２と検索クエリ５１２に対応する検索結果５１３とを取得してもよい。そして、取得部５０１が取得した検索結果５１３が、検索クエリ５１２で特定されるカラム名に対応する値が検出されなかったことを示したとする。この場合、更新部５０４は、抽出ルールファイル５１１を、検索クエリ５１２で特定されるカラム名を統合サマリＤＢ２０４へ記憶する対象とするカラム名に含む抽出ルールファイル５１１に更新する。具体的な抽出ルールファイル５１１の更新例は、図１３で説明する。
【００４８】
そして、記憶部５０３は、更新部５０４が更新した抽出ルールファイル５１１により特定されるカラム名に対応する値を生データ２１２から所定の周期で読み出す。次に、記憶部５０３は、読み出した値を抽出ルールファイル５１１により特定されるカラム名と対応付けて統合サマリＤＢ２０４に記憶する。
【００４９】
また、決定部５０２は、検索クエリ５１２により検出したデータを丸めたデータを出力することが検索クエリ５１２に含まれる場合、丸めたデータを、統合サマリＤＢ２０４へ記憶する対象とするデータとして決定する。また、決定部５０２は、検索クエリ５１２で特定されるカラム名に対して検出した値を丸めた値を出力することが検索クエリ５１２に含まれる場合、丸めた値を、統合サマリＤＢ２０４へ記憶する対象とする値として決定する。そして、記憶部５０３は、決定した値を生データ２１２から所定の周期で読み出して、読み出した値をカラム名と対応付けて統合サマリＤＢ２０４に記憶する。丸めるデータの例については、図１１で説明する。
【００５０】
図６は、生データ２１２の記憶内容の一例を示す説明図である。図６に示す生データ２１２は、会員マスタ６０１、服薬履歴６０２、製品マスタ６０３、製品区分６０４、製品明細６０５、製造元６０６という、６つのテーブルを有する。図６に示す会員マスタ６０１は、レコード６０１−１〜３を有する。同様に、図６に示す服薬履歴６０２、製品マスタ６０３、製品区分６０４、製品明細６０５、製造元６０６は、それぞれ、レコード６０２−１〜３、レコード６０３−１〜３、レコード６０４−１〜３、レコード６０５−１〜３、レコード６０６−１〜３、を有する。
【００５１】
一例として、会員マスタ６０１は、主キーとなる会員番号カラムと、氏名カラムと、性別カラムと、生年月日カラムと、アレルギーカラムとを有する。また、製造元６０６は、主キーとなる製造元番号と、会社名と、電話番号と、住所＿都道府県と、住所＿市区町村とを有する。
【００５２】
また、会員マスタ６０１〜製造元６０６は、生データ２１２−１、２、…のうちのいずれかに記憶されたデータである。例えば、会員マスタ６０１と、服薬履歴６０２とが、生データ２１２−１に記憶されたデータであり、製品マスタ６０３〜製造元６０６は、生データ２１２−２に記憶されたデータである。
【００５３】
図７は、検索クエリの一例を示す説明図である。図７に示す検索クエリ７０１〜７０４は、ＡＰサーバ２０２から発行されたものである。
【００５４】
検索クエリ７０１は、会員マスタ６０１が記憶する全てのレコードの氏名カラムの値と性別カラムの値とを出力するクエリである。また、検索クエリ７０２は、製造元６０６が記憶する全てのレコードの会社名カラムの値と住所＿都道府県カラムの値とを出力するクエリである。
【００５５】
また、検索クエリ７０３は、会員マスタ６０１と服薬履歴６０２との会員番号を用いて会員マスタ６０１を優先し外部結合し、結合した全てのレコードの氏名カラムの値と、年代という別名が付与されたカラムの値と、製品名称カラムの値とを出力するクエリである。また、年代という別名が付与されたカラムは、現在日から会員マスタ６０１の生年月日カラムの値を減じた値を１００００で除した値を、１０の位で切り捨てた値に対応付けられたカラムである。ここで、検索クエリ７０３内の「ｔｒｕｎｃａｔｅ（ｘ，ｙ）」は、ｘをｙで指定される位で切り捨てた値を出力する関数である。また、検索クエリ７０３内の「ｃｕｒｄａｔｅ（）」は、現在日を出力する関数である。
【００５６】
検索クエリ７０４は、会員マスタ６０１が記憶する全てのレコードの氏名カラムの値と性別カラムの値とアレルギーカラムの値を出力するクエリである。
【００５７】
図８は、抽出ルールファイル５１１の記憶内容の一例を示す説明図である。抽出ルールファイル５１１は、項目として、抽出不要カラムと、丸めルールとを有する。
【００５８】
抽出不要カラムは、生データ２１２の各テーブルのうち、統合サマリＤＢ２０４に取り込まないカラムを示す項目である。具体的には、例えば、抽出不要カラムには、生データ２１２のテーブルごとに、統合サマリＤＢ２０４に取り込まないカラム名が格納される。また、図８で示すように、抽出不要カラムに格納された「＊」は、該当のテーブルの全てのカラムを取り込まないことを示す。また、抽出不要カラムの該当のテーブルに、カラム名が一つも格納されておらず、空欄であれば、該当のテーブルの全てのカラムを取り込むことを示す。
【００５９】
丸めルールは、生データ２１２の各テーブルの値を丸めた値を、統合サマリＤＢ２０４に取り込む際のルールを示す項目である。具体的な丸めルールの内容は、図１１で説明する。
【００６０】
次に、図９〜１１を用いて、検索クエリ７０１〜７０３が発行された際に生成される抽出ルールファイル５１１の例を説明する。そして、図１２を用いて、検索クエリ７０３が発行された後の抽出ルールファイル５１１に従って、データを読み込んだ統合サマリＤＢ２０４の記憶内容の一例を説明する。さらに、図１３を用いて、検索クエリ７０３が発行された後の抽出ルールファイル５１１に従って統合サマリＤＢ２０４にデータを読み込ませた後に、検索クエリ７０４が発行された際に更新される抽出ルールファイル５１１の例を説明する。
【００６１】
図９は、抽出ルールファイル５１１の生成例を示す説明図（その１）である。ＤＢサーバ２０１は、発行された検索クエリ７０１を取得し、検索クエリ７０１のｓｅｌｅｃｔ句で使用されるカラム名を、統合サマリＤＢ２０４に記憶する対象のカラム名として決定する。より具体的には、ＤＢサーバ２０１は、検索クエリ７０１から、ｆｒｏｍ句で使用されるテーブルを特定する。図９で示すように、検索クエリ７０１は、会員マスタ６０１をｆｒｏｍ句で使用するため、ＤＢサーバ２０１は、会員マスタ６０１を特定する。そして、ＤＢサーバ２０１は、特定した会員マスタ６０１のうちの、ｓｅｌｅｃｔ句で使用される氏名カラムと性別カラムと、主キーである会員番号カラムとを、統合サマリＤＢ２０４に記憶する対象のカラム名として決定する。
【００６２】
次に、ＤＢサーバ２０１は、会員マスタ６０１の各カラム名のうち、統合サマリＤＢ２０４に記憶する対象のカラム名として決定したカラム名以外となる、生年月日カラムとアレルギーカラムとを、抽出ルールファイル５１１の抽出不要カラムに登録する。
【００６３】
図１０は、抽出ルールファイル５１１の生成例を示す説明図（その２）である。図１０では、検索クエリ７０１が発行された後に、検索クエリ７０２が発行された状態を示す。ＤＢサーバ２０１は、発行された検索クエリ７０２を取得し、検索クエリ７０２のｓｅｌｅｃｔ句で使用されるカラム名を、統合サマリＤＢ２０４に記憶する対象のカラム名として決定する。具体的な処理内容は図９と同様であるため、説明を省略する。
【００６４】
図１０で示すように、ＤＢサーバ２０１は、製造元６０６の各カラム名のうち、検索クエリ７０２で使用される会社名カラムと住所＿都道府県カラムと、主キーである製造元番号カラムを、統合サマリＤＢ２０４に記憶する対象のカラム名として決定する。そして、ＤＢサーバ２０１は、製造元６０６の各カラム名のうち、決定したカラム名以外となる、電話番号カラムと住所＿市区町村カラムとを、抽出ルールファイル５１１の抽出不要カラムに登録する。
【００６５】
図１１は、抽出ルールファイル５１１の生成例を示す説明図（その３）である。図１１では、検索クエリ７０２が発行された後に、検索クエリ７０３が発行された状態を示す。ＤＢサーバ２０１は、発行された検索クエリ７０３を取得し、検索クエリ７０３のｓｅｌｅｃｔ句で使用される丸めルールを抽出して、抽出ルールファイル５１１に登録する。ここで、丸めルールは、カラム名の値を丸める条件を含むルールである。具体的には、ＤＢサーバ２０１は、ｓｅｌｅｃｔ句に、値を丸める関数が使用されている際に、丸めルールとして特定する。値を丸める関数としては、値が数値であれば、例えば、値の切り捨てを行う関数、値の切り上げを行う関数、値の四捨五入を行う関数である。または、カラム名の値が文字列であれば、例えば、文字列の右端を削除する関数である。
【００６６】
図１１で示すように、ＤＢサーバ２０１は、検索クエリ７０３のｓｅｌｅｃｔ句に、丸めルールがあることを特定し、丸めルールを、抽出ルールファイル５１１に登録する。具体的には、ＤＢサーバ２０１は、「ｔｒｕｎｃａｔｅ（（（ｃｕｒｄａｔｅ（）＋０）−（会員マスタ．生年月日＋０））／１００００，−１）  ａｓ  年代」を丸めルールに追加する。
【００６７】
また、ＤＢサーバ２０１は、丸めルールとは別に、ｓｅｌｅｃｔ句に、複数の値を一つの値に纏める関数が使用されている際に、抽出ルールファイル５１１に登録してもよい。複数の値を一つの値に纏める関数としては、例えば、複数の値の平均値を求める関数、複数の値の合計値を求める関数、複数の値のうちの最大値を求める関数、複数の値のうちの最小値を求める関数等である。例えば、服薬履歴６０２が、会員番号カラムと、製品番号カラムと、服用開始カラムという３つのカラムで主キーを形成するとする。さらに、服薬履歴６０２が、服用錠数カラムを有するとする。
【００６８】
そして、ＡＰサーバ２０２が、服薬履歴６０２から、会員番号カラムの値と、会員番号ごとの服用錠数カラムの値の平均値を服薬錠数平均値という別名が付与されたカラムの値と、を出力する検索クエリが発行されたとする。このとき、ＤＢサーバ２０１は、発行された検索クエリのｓｅｌｅｃｔ句にある、会員番号ごとの服用錠数カラムの値の平均値を求める関数を抽出ルールファイル５１１に登録する。
【００６９】
図１２は、抽出ルールファイル５１１適用後の統合サマリＤＢ２０４の記憶内容の一例を示す説明図である。統合サマリＤＢ２０４は、会員マスタ１１０１、製造元１１０２という２つのテーブルを有する。図１２に示す会員マスタ１１０１は、レコード１１０１−１〜３を有する。また、製造元１１０２は、レコード１１０２−１〜３を有する。
【００７０】
レコード１１０１−１〜３は、レコード６０１−１〜３から、図１１に示す抽出ルールファイル５１１の抽出不要カラムとして特定された生年月日カラム、アレルギーカラムの値が除かれた値を有するレコードである。さらに、レコード１１０１−１〜３は、図１１に示す抽出ルールファイル５１１の丸めルールに従って生成された年代カラムの値を有する。具体的には、ＤＢサーバ２０１は、レコード６０１−１〜３に対して、丸めルールに記載された「ｔｒｕｎｃａｔｅ（（（ｃｕｒｄａｔｅ（）＋０）−（会員マスタ．生年月日＋０））／１００００，−１）  ａｓ  年代」を実行する。実行した結果、ＤＢサーバ２０１は、実行結果となる、各レコードに対する年代カラムの値を、各レコードに対応付けて、統合サマリＤＢ２０４に記憶する。
【００７１】
丸めルールに従ってカラムを追加した後に検索クエリを受信した場合、ＤＢサーバ２０１は、発行された検索クエリに丸めルールがあれば、丸めルールとなる文字列を、丸めルール内の「ａｓ」以降の文字列、すなわち、別名として付与されるカラム名に置換する。図１２の例であれば、ＤＢサーバ２０１は、例えば、「ｓｅｌｅｃｔ  …  ｔｒｕｎｃａｔｅ（（（ｃｕｒｄａｔｅ（）＋０）−（会員マスタ．生年月日＋０））／１００００，−１）  ａｓ  年代，  …」という検索クエリを受信したとする。このとき、ＤＢサーバ２０１は、「ｓｅｌｅｃｔ  …  年代，  …」という検索クエリに置換した後、置換した検索クエリを用いて統合サマリＤＢ２０４から検索クエリの検索条件に合致するデータを検出する。これにより、ＤＢサーバ２０１は、別名として付与されるカラムの値を検索対象にすることができる。
【００７２】
また、レコード１１０２−１〜３は、レコード６０６−１〜３から、図１１に示す抽出ルールファイル５１１の抽出不要カラムとして特定された電話番号カラム、住所＿市区町村カラムの値が除かれた値を有するレコードである。
【００７３】
図１３は、抽出ルールファイル５１１の更新例を示す説明図である。図１３では、検索クエリ７０３が発行された後の抽出ルールファイル５１１に従って読み込んだ後に、検索クエリ７０４が発行された状態を示す。
【００７４】
ＤＢサーバ２０１は、発行された検索クエリ７０４と、検索クエリ７０４に対応する検索結果を取得する。そして、検索結果が０件である場合、ＤＢサーバ２０１は、検索クエリ７０４のｓｅｌｅｃｔ句で使用されるカラム名を、統合サマリＤＢ２０４に記憶する対象のカラム名とするように、抽出ルールファイル５１１を更新する。
【００７５】
具体的には、例えば、図１１で示した抽出ルールファイル５１１では、会員マスタ６０１の生年月日カラムと、アレルギーカラムとが抽出不要カラムに登録されているため、アレルギーカラムを使用する検索クエリ７０４に対する検索結果は０件となる。そこで、ＤＢサーバ２０１は、抽出ルールファイル５１１の抽出不要カラムに登録されている、検索クエリ７０４のｓｅｌｅｃｔ句で使用されるアレルギーカラムを削除する。これにより、次回の生データ２１２を取り込む際に、ＤＢサーバ２０１は、会員マスタ６０１のアレルギーカラムの値が取り込まれるようになる。
【００７６】
次に、図１４、１５を用いて、ＤＢサーバ２０１が実行するフローチャートを示す。
【００７７】
図１４は、データ取り込み処理手順の一例を示すフローチャートである。データ取り込み処理は、生データ２１２からデータを読み込んで、統合サマリＤＢ２０４に書き込む処理である。また、データ取り込み処理は、所定の周期で実行される。
【００７８】
ＤＢサーバ２０１は、統合サマリＤＢ２０４の全てを削除する（ステップＳ１４０１）。次に、ＤＢサーバ２０１は、抽出ルールファイル５１１があるか否かを判断する（ステップＳ１４０２）。抽出ルールファイル５１１がある場合（ステップＳ１４０２：Ｙｅｓ）、ＤＢサーバ２０１は、抽出ルールファイル５１１の抽出不要カラムと丸めルールとを取得する（ステップＳ１４０３）。次に、ＤＢサーバ２０１は、生データ２１２の各テーブルから、抽出ルールファイル５１１の抽出不要カラムで特定されるカラム以外のカラムの値を統合サマリＤＢ２０４に登録する（ステップＳ１４０４）。そして、ＤＢサーバ２０１は、生データ２１２から、抽出ルールファイル５１１の丸めルールに従って生成された値を統合サマリＤＢ２０４に登録する（ステップＳ１４０５）。
【００７９】
一方、一度も検索クエリが発行されておらず、抽出ルールファイル５１１がない場合（ステップＳ１４０２：Ｎｏ）、ＤＢサーバ２０１は、生データ２１２の全てを統合サマリＤＢ２０４に登録する（ステップＳ１４０６）。
【００８０】
ステップＳ１４０５、または、ステップＳ１４０６の処理終了後、ＤＢサーバ２０１は、データ取り込み処理を終了する。データ取り込み処理を実行することにより、ＤＢサーバ２０１は、検索クエリで参照されやすいカラムに限定して統合サマリＤＢ２０４に登録することができる。
【００８１】
図１５は、検索制御処理手順の一例を示すフローチャートである。検索制御処理は、ＡＰサーバ２０２から発行された検索クエリに対する処理である。検索制御処理は、検索クエリを受信した都度行ってもよいし、所定期間ごとに行ってもよい。
【００８２】
ＤＢサーバ２０１は、発行された検索クエリを取得する（ステップＳ１５０１）。次に、ＤＢサーバ２０１は、抽出ルールファイル５１１に丸めルールが設定されているか否かを判断する（ステップＳ１５０２）。抽出ルールファイル５１１に丸めルールが設定されている場合（ステップＳ１５０２：Ｙｅｓ）、ＤＢサーバ２０１は、検索クエリを、抽出ルールファイル５１１の丸めルールを用いて置換する（ステップＳ１５０３）。
【００８３】
ステップＳ１５０３の処理終了後、または、抽出ルールファイル５１１に丸めルールが設定されていない場合（ステップＳ１５０２：Ｎｏ）、ＤＢサーバ２０１は、検索クエリを実行する（ステップＳ１５０４）。次に、ＤＢサーバ２０１は、検索クエリに対応する検索結果を取得する（ステップＳ１５０５）。ステップＳ１５０５の処理終了後、ＤＢサーバ２０１は、検索クエリに対応する検索結果をＡＰサーバ２０２に送信する。
【００８４】
そして、ＤＢサーバ２０１は、検索結果が０件か否かを判断する（ステップＳ１５０６）。検索結果が１件以上ある場合（ステップＳ１５０６：Ｎｏ）、ＤＢサーバ２０１は、検索クエリのｓｅｌｅｃｔ句で使用されるカラム名を用いて、抽出不要カラムを決定する（ステップＳ１５０７）。次に、ＤＢサーバ２０１は、検索クエリから丸めルールを抽出する（ステップＳ１５０８）。そして、ＤＢサーバ２０１は、抽出不要カラムと、丸めルールとを抽出ルールファイルに格納する（ステップＳ１５０９）。
【００８５】
一方、検索結果が０件である場合（ステップＳ１５０６：Ｙｅｓ）、ＤＢサーバ２０１は、抽出ルールファイルの抽出不要カラムから、検索クエリのｓｅｌｅｃｔ句で使用されたカラム名を削除する（ステップＳ１５１０）。ここで、ステップＳ１５１０の処理において、カラム名を削除した場合、ＤＢサーバ２０１は、次のデータ取り込みにより検索結果が１件以上になる可能性がある旨を、ＡＰサーバ２０２に通知してもよい。これにより、通知を閲覧した利用者は、次のデータ取り込み後に、利用者端末２０３を操作して今回の検索クエリと同一の検索クエリが発行されるようにすれば、利用者が真に得たかった検索結果を得ることができる。
【００８６】
ステップＳ１５０９、または、ステップＳ１５１０の処理終了後、ＤＢサーバ２０１は、検索制御処理を終了する。検索制御処理を実行することにより、ＤＢサーバ２０１は、発行された検索クエリに応じて、抽出ルールファイル５１１を更新することができる。
【００８７】
以上説明したように、ＤＢサーバ２０１によれば、ＡＰサーバ２０２からの検索クエリを基に統合サマリＤＢ２０４に記憶するデータを決定し、統合サマリＤＢ２０４に記憶するデータを生データ２１２から周期的に読み出し統合サマリＤＢ２０４に記憶する。これにより、検索システム２００は、検索要求の傾向にあったデータを統合サマリＤＢ２０４に記憶して検索精度の低下を抑止しつつ、統合サマリＤＢ２０４の記憶量を抑えることができる。また、ＤＢサーバ２０１は、ＡＰサーバ２０２から発行された検索クエリから、抽出すべきデータを判断するため、統合サマリＤＢ２０４を作成するためのルールを人手によらず作成することができる。
【００８８】
また、ＤＢサーバ２０１によれば、検索クエリで特定されるカラム名を統合サマリＤＢ２０４へ記憶する対象とするカラム名として決定し、生データ２１２から読み出したカラム名に対応する値をカラム名と対応付けて統合サマリＤＢ２０４に記憶してもよい。このように、検索システム２００は、生データ２１２がリレーショナルＤＢであっても、検索精度を維持しつつ、統合サマリＤＢ２０４に記憶するデータ量を削減することができる。
【００８９】
また、ＤＢサーバ２０１によれば、検索クエリで特定されるカラム名と主キーに設定されたカラム名とを、統合サマリＤＢ２０４へ記憶する対象とするカラム名として決定し、決定したカラム名を特定する抽出ルールファイル５１１を生成してもよい。これにより、ＤＢサーバ２０１は、主キーに設定されたカラム名を統合サマリＤＢ２０４へ記憶する対象とするカラム名とするため、統合サマリＤＢ２０４の各レコードが一意に特定できなくなることを避けることができる。
【００９０】
また、ＤＢサーバ２０１によれば、統合サマリＤＢ２０４への検索クエリに対する検索結果が０件であれば、検索クエリで特定されるカラム名を統合サマリＤＢ２０４へ記憶する対象とするカラム名とするように抽出ルールファイル５１１を更新してもよい。これにより、ＤＢサーバ２０１は、一旦取り込まないとされたデータを救うことができ、検索精度の向上を図ることができる。
【００９１】
また、ＤＢサーバ２０１によれば、検索クエリにより検出したデータを丸めたデータを出力することが検索クエリに含まれる場合、丸めたデータを、統合サマリＤＢ２０４へ記憶する対象とするデータとして決定してもよい。これにより、元のデータより丸めたデータの方がデータ量が少ないため、ＤＢサーバ２０１は、検索精度を維持しつつ、統合サマリＤＢ２０４に記憶するデータ量を削減することができる。また、ＤＢサーバ２０１は、丸めたデータを記憶する対象にすることを、生データ２１２がリレーショナルＤＢでなくても適用することができる。
【００９２】
なお、本実施の形態で説明したデータ検索制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本データ検索制御プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本データ検索制御プログラムは、インターネット等のネットワークを介して配布してもよい。
【００９３】
上述した実施の形態に関し、さらに以下の付記を開示する。
【００９４】
（付記１）コンピュータに、
第１の記憶領域から読み出されたデータを記憶する第２の記憶領域に対して発行された検索要求を取得し、
取得した前記検索要求に基づいて、前記第１の記憶領域に記憶されるデータから、前記第２の記憶領域へ記憶する対象とするデータを決定し、
決定した前記データを前記第１の記憶領域から所定の周期で読み出して、読み出したデータを前記第２の記憶領域に記憶する、
処理を実行させることを特徴とするデータ検索制御プログラム。
【００９５】
（付記２）前記第１の記憶領域に記憶されるデータは、複数の属性の各々の属性に対応付けられた値であり、
前記決定する処理は、
前記検索要求で特定される属性を、前記第２の記憶領域へ記憶する対象とする属性として決定し、
前記記憶する処理は、
決定した前記属性に対応する値を前記第１の記憶領域から前記所定の周期で読み出して、読み出した値を前記属性と対応付けて前記第２の記憶領域に記憶することを特徴とする付記１に記載のデータ検索制御プログラム。
【００９６】
（付記３）前記決定する処理は、
前記複数の属性のうちの前記検索要求で特定される属性と前記各々の属性に対応付けられた値の組を識別する値に対応付けられた属性とを、前記第２の記憶領域へ記憶する対象とする属性として決定して、決定した前記属性を特定するルールを生成し、
前記記憶する処理は、
生成した前記ルールにより特定される属性に対応する値を前記第１の記憶領域から前記所定の周期で読み出して、読み出した値を前記ルールにより特定される属性と対応付けて前記第２の記憶領域に記憶することを特徴とする付記２に記載のデータ検索制御プログラム。
【００９７】
（付記４）前記コンピュータに、
前記ルールに従って読み出された値と前記ルールにより特定される属性とを対応付けて記憶する前記第２の記憶領域に対して発行された検索要求と前記検索要求に対応する検索結果とを取得し、
取得した前記検索結果が前記検索要求で特定される属性に対応する値が検出されなかったことを示す場合、前記ルールを、前記検索要求で特定される属性を前記第２の記憶領域へ記憶する対象とする属性に含むルールに更新し、
更新した前記ルールにより特定される属性に対応する値を前記第１の記憶領域から前記所定の周期で読み出して、読み出した値を前記ルールにより特定される属性と対応付けて前記第２の記憶領域に記憶する、
処理を実行させることを特徴とする付記３に記載のデータ検索制御プログラム。
【００９８】
（付記５）前記決定する処理は、
前記検索要求により検出したデータを丸めたデータを出力することが前記検索要求に含まれる場合、前記丸めたデータを、前記第２の記憶領域へ記憶する対象とするデータとして決定することを特徴とする付記１に記載のデータ検索制御プログラム。
【００９９】
（付記６）前記決定する処理は、
前記検索要求で特定される属性に対して検出した値を丸めた値を出力することが前記検索要求に含まれる場合、前記丸めた値を、前記第２の記憶領域へ記憶する対象とする値として決定し、
前記記憶する処理は、
決定した前記値を前記第１の記憶領域から前記所定の周期で読み出して、読み出した値を前記属性と対応付けて前記第２の記憶領域に記憶することを特徴とする付記２〜４のいずれか一つに記載のデータ検索制御プログラム。
【０１００】
（付記７）第１の記憶領域から読み出されたデータを記憶する第２の記憶領域に対して発行された検索要求を取得し、
取得した前記検索要求に基づいて、前記第１の記憶領域に記憶されるデータから、前記第２の記憶領域へ記憶する対象とするデータを決定し、
決定した前記データを前記第１の記憶領域から所定の周期で読み出して、読み出したデータを前記第２の記憶領域に記憶する、
制御部を有することを特徴とするコンピュータ。
【０１０１】
（付記８）コンピュータが、
第１の記憶領域から読み出されたデータを記憶する第２の記憶領域に対して発行された検索要求を取得し、
取得した前記検索要求に基づいて、前記第１の記憶領域に記憶されるデータから、前記第２の記憶領域へ記憶する対象とするデータを決定し、
決定した前記データを前記第１の記憶領域から所定の周期で読み出して、読み出したデータを前記第２の記憶領域に記憶する、
処理を実行することを特徴とするデータ検索制御方法。
【符号の説明】
【０１０２】
１０１  コンピュータ
１１１  第１の記憶領域
１１２  第２の記憶領域
２００  検索システム
２０１  ＤＢサーバ
２０２  ＡＰサーバ
２０３  利用者端末
２０４  統合サマリＤＢ
２１１  業務システム
２１２  生データ
５００  制御部
５０１  取得部
５０２  決定部
５０３  記憶部
５０４  更新部
５１１  抽出ルールファイル
【図１】
2016053814.tif 000003
【図２】
2016053814.tif 000004
【図３】
2016053814.tif 000005
【図４】
2016053814.tif 000006
【図５】
2016053814.tif 000007
【図６】
2016053814.tif 000008
【図７】
2016053814.tif 000009
【図８】
2016053814.tif 000010
【図９】
2016053814.tif 000011
【図１０】
2016053814.tif 000012
【図１１】
2016053814.tif 000013
【図１２】
2016053814.tif 000014
【図１３】
2016053814.tif 000015
【図１４】
2016053814.tif 000016
【図１５】
2016053814.tif 000017