(57)【要約】【課題】  情報検索装置が受け付けた検索条件から、実データの検索に要する時間を推定し、推定した結果に基づいて、処理方法を判定し、判定結果に基づいて、処理方法を自動で切り分けて実データの検索を行うシステムを提供することを目的とする。【解決手段】  検索条件を受け付ける検索条件入力部と、検索条件を満たすインデックスを、記憶部を参照して検索するインデックス検索部と、検索したインデックスから、検索対象の実データを検索する検索処理方法を、記憶部の実データ検索時間推定用テーブルを参照して判定する検索処理方法判定部と、判定した検索処理方法を用いて、実データの検索を、記憶部を参照して行う実データ検索部と、検索した実データを、検索結果として出力する結果出力部とを有する構成とした。【選択図】      図１
2006350770.tif 000002
【特許請求の範囲】
【請求項１】
記憶部と処理部とを備えた情報検索装置であって、
前記記憶部は、
検索対象となる実データと、
前記実データを管理するためのインデックスと、
前記インデックスで管理された前記実データを検索するために要する時間を算出するための実データ検索時間推定用テーブルと
を格納し、
前記処理部は、
検索条件を受け付ける検索条件入力部と、
前記検索条件入力部が受け付けた前記検索条件を満たす前記インデックスを、前記記憶部を参照して検索するインデックス検索部と、
前記インデックス検索部が検索した前記インデックスから、検索対象の前記実データを検索する検索処理方法を、前記記憶部の前記実データ検索時間推定用テーブルを参照して判定する検索処理方法判定部と、
前記検索処理方法判定部が判定した前記検索処理方法を、判定結果として出力する結果出力部と
を有することを特徴とする情報検索装置。
【請求項２】
前記処理部は、
前記検索処理方法判定部が判定した前記検索処理方法を用いて、前記実データの検索を、前記記憶部を参照して行う実データ検索部をさらに有し、
前記結果出力部は、
前記実データ検索部が検索した前記実データを、検索結果として出力する
ことを特徴とする請求項１に記載の情報検索装置。
【請求項３】
記憶部と処理部とを備えた情報検索装置であって、
前記記憶部は、
検索対象となる実データと、
前記実データを管理するためのインデックスと、
前記インデックスで管理された前記実データを検索するために要する時間を算出するための実データ検索時間推定用テーブルと
を格納し、
前記処理部は、
検索条件を受け付ける検索条件入力部と、
前記検索条件入力部が受け付けた前記検索条件を満たす前記インデックスを、前記記憶部を参照して検索するインデックス検索部と、
前記インデックス検索部が検索した前記インデックスから、検索対象の前記実データを検索するために要する推定実データ検索時間を、前記記憶部の前記実データ検索時間推定用テーブルを参照して算出する実データ検索時間推定部と、
前記実データ検索時間推定部が算出した前記推定実データ検索時間を、推定結果として出力する結果出力部と
を有することを特徴とする情報検索装置。
【請求項４】
記憶部と処理部とを備えた情報検索装置を用いた情報検索方法であって、
前記記憶部は、
検索対象となる実データと、
前記実データを管理するためのインデックスと、
前記インデックスで管理された前記実データを検索するために要する時間を算出するための実データ検索時間推定用テーブルと
を格納し、
前記処理部は、
検索条件を受け付け、
受け付けた前記検索条件を満たす前記インデックスを、前記記憶部を参照して検索し、
検索した前記インデックスから、検索対象の前記実データを検索する検索処理方法を、前記記憶部の前記実データ検索時間推定用テーブルを参照して判定し、
判定した前記検索処理方法を、判定結果として出力する
ことを特徴とする情報検索方法。
【請求項５】
前記処理部は、
判定した前記検索処理方法を用いて、前記実データの検索を、前記記憶部を参照して行い、
検索した前記実データを、検索結果として出力する
ことを特徴とする請求項４に記載の情報検索方法。
【請求項６】
記憶部と処理部とを備えた情報検索装置を用いた情報検索方法であって、
前記記憶部は、
検索対象となる実データと、
前記実データを管理するためのインデックスと、
前記インデックスで管理された前記実データを検索するために要する時間を算出するための実データ検索時間推定用テーブルと
を格納し、
前記処理部は、
検索条件を受け付け、
受け付けた前記検索条件を満たす前記インデックスを、前記記憶部を参照して検索し、
検索した前記インデックスから、検索対象の前記実データを検索するために要する推定実データ検索時間を、前記記憶部の前記実データ検索時間推定用テーブルを参照して算出し、
算出した前記推定実データ検索時間を、推定結果として出力する
ことを特徴とする情報検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インデックスを用いて情報検索を行う情報検索装置及び情報検索方法に関する。
【背景技術】
【０００２】
情報技術の発展とともに、データ管理システムに対する顧客の要望も高度化し、また、データ管理システムにおいて管理するデータ容量も大容量化してきている。例えば、製造業では、製造した製品の企画から製造、販売、保守までの製品ライフサイクル全体の情報を製造番号レベルで全て管理するといったことや、その他の業種においても情報の一元管理などの実施により、ＴＢ（テラバイト）単位のデータ量を管理し、情報検索をする必要に迫られている。このような、大容量データを扱うシステムにおいては、検索する条件により、データの検索に要する時間が大幅に変動してしまうという問題がある。
【０００３】
従来では、この問題を解消するため、リアルタイム処理によってデータを検索する場合、機能制限を実施することで検索に要する時間が短時間で収まるようにしていた。例えば、管理データは大容量だが、１つの検索機能で検索するデータ範囲を限定することによって、機能ごとの検索対象データを少なくする手法が用いられていた。また、例えば、ユーザが指定する検索条件を厳しくすることによって、確実に検索範囲を絞り込む手法が用いられていた。さらに、レスポンスタイムにリアルタイム検索ほどの厳格さを必要としないバッチ処理によってデータを検索する手法も用いられていた。
【０００４】
また、他の手法として、バッチ処理とリアルタイム処理とが共存する環境において、バッチ処理中にリアルタイム処理を受け付け、バッチ処理とリアルタイム処理とが、ともにデータベースの更新を可能とする手法が用いられていた（例えば、特許文献１参照）。
【０００５】
さらに、他の手法として、ＷＷＷ（World Wide Web）上の検索エンジンを選択するためのインデックスを予め作成しておき、検索キーワードの分野とインデックスとの一致度に基づいて検索エンジンを選択することが可能な検索エンジンの選択手法が用いられていた（例えば、特許文献２参照）。
【特許文献１】特開２００４−１７１３３９号公報（段落００１０〜００２８、図２）
【特許文献２】特開２００１−１８８８０２号公報（段落００１７〜００４２、図２）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、前記従来の技術におけるリアルタイム処理は、検索するデータ範囲を限定するとしても限界があった。また、検索条件の内容によって検索範囲を絞り込む作業は、ユーザにとって手間が掛かるなど、負担が大きかった。さらに、バッチ処理は、定型的な処理向きであること、欲しい情報を即座に得られないことなど、データ管理システムに適用するには柔軟性に欠けるといった問題がある。
【０００７】
また、特許文献１で開示されている手法によれば、バッチ処理の実行中にリアルタイム処理を優先的に割り込ませ、リアルタイム処理にバッチ処理で実行する処理を含めて実行することが可能である。しかし、検索要求を分析し、分析した結果に応じて、検索要求に対する処理をバッチ処理で行うのか、あるいはリアルタイム処理で行うのかを切り分けることは出来ないという問題がある。
【０００８】
また、特許文献２で開示されている手法によれば、予め作成されたインデックスを用いて、検索キーワードの分野にマッチした検索エンジンを選択することは可能であるが、そのインデックスを用いて検索対象のデータ量を推定することは出来ないという問題がある。
【０００９】
本発明は、以上のような問題点に鑑みてなされたものであり、インデックスを用いて、検索対象となる実データの検索に要する時間を推定することを目的とする。また、推定した時間から、検索処理方法を判定することを目的とする。さらに、判定結果に基づいて、処理方法を自動で切り分けて実データの検索を行うことを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、前記目的を達成するために創案されたものであり、本発明の情報検索装置は、記憶部と処理部とを備え、前記記憶部が、検索対象となる実データと、前記実データを管理するためのインデックスと、前記インデックスで管理された前記実データを検索するために要する時間を算出するための実データ検索時間推定用テーブルとを格納し、前記処理部は、検索条件を受け付ける検索条件入力部と、前記検索条件入力部が受け付けた前記検索条件を満たす前記インデックスを、前記記憶部を参照して検索するインデックス検索部と、前記インデックス検索部が検索した前記インデックスから、検索対象の前記実データを検索する検索処理方法を、前記記憶部の前記実データ検索時間推定用テーブルを参照して判定する検索処理方法判定部と、前記検索処理方法判定部が判定した前記検索処理方法を用いて、前記実データの検索を、前記記憶部を参照して行う実データ検索部と、前記実データ検索部が検索した前記実データを、検索結果として出力する結果出力部とを有する構成とした。
【００１１】
かかる構成によれば、情報検索装置は、インデックスのレコード数がその下に紐付く実データ数と一致することにより、インデックス上の検索のみで実データ検索に必要なデータ量の推定が可能となる。また、検索処理方法を決定する為に実データ量の推定結果から推定検索時間を算出することが可能となる。
【発明の効果】
【００１２】
本発明によれば、インデックスを用いて、検索対象となる実データの検索に要する時間を推定することが可能である。また、推定した時間から、検索処理方法を判定することが可能である。さらに、判定結果に基づいて、処理方法を自動で切り分けて実データの検索を行うことが可能である。
【発明を実施するための最良の形態】
【００１３】
次に、本発明を実施するための最良の形態について図面を参照して説明する。なお、本実施形態においては、製造業で製造される製品の実績に関するデータ（以下、製造実績データともいう）を、その製品の製造番号単位で検索する場合について説明する。
【００１４】
まず、図１を参照して、本発明の実施形態に係る情報検索装置の構成について説明する。
【００１５】
図１に示すように、情報検索装置１０は、データ処理装置１１と、データ記憶装置１２と、データ検索装置１３とを備える。以下、各装置の機能について説明する。
【００１６】
データ処理装置１１は、不図示の製造実績収集システム（コンピュータシステム）等から製造実績データを受け取り、検索用のデータとしてインデックスを生成すると共に、データの蓄積処理を行う。データ処理装置１１は、データ入力部１１１と、インデックス生成部１１２とを含んで構成される。
【００１７】
データ入力部１１１は、検索対象となる製造実績データの入力を受け付け、データのフォーマットチェック等を実施し、インデックス生成部１１２に出力する。
【００１８】
インデックス生成部１１２は、データ入力部１１１から入力されたデータを解析し、検索用にインデックスを生成すると共に製造実績データの格納処理を行う。インデックス生成部１１２において生成されたインデックスは、後記するインデックスデータ記憶部１２１に格納される。また、製造実績データは、蓄積用に加工され、後記する実データ記憶部１２２に格納される。
【００１９】
データ記憶装置１２は、データを格納するものである。データ記憶装置１２は、インデックスデータ記憶部１２１と、実データ記憶部１２２とを含んで構成される。
【００２０】
インデックスデータ記憶部１２１は、インデックス生成部１１２において生成されたインデックスを格納する。
【００２１】
実データ記憶部１２２は、インデックス生成部１１２において加工された製造実績データを格納する。
【００２２】
データ検索装置１３は、ユーザ用端末（不図示）からの検索リクエストを受け付け、データ記憶装置１２に蓄積されている製造実績データを検索し、その検索結果をユーザ用端末へ返すものである。ユーザ用端末は、例えば、情報検索装置１０と接続されたコンピュータである。データ検索装置１３は、検索条件入力部１３１と、インデックス検索部１３２と、検索処理方法判定部１３３と、バッチジョブ投入部１３４と、実データ検索部１３５と、結果出力部１３６とを含んで構成される。
【００２３】
検索条件入力部１３１は、ユーザ用端末から入力された検索条件を受け付けるものである。受け付けた検索条件は、インデックス検索部１３２に出力される。
【００２４】
インデックス検索部１３２は、検索条件入力部１３１から受け取った検索条件に基づいて、インデックスの検索を行う。インデックス検索部１３２は、検索条件入力部１３１から入力された検索条件を解析し、インデックスデータ記憶部１２１に格納されているインデックスを検索して得られた結果を検索処理方法判定部１３３に出力する。また、インデックス検索部１３２は、検索条件入力部１３１から受け取った検索条件を検索処理方法判定部１３３に出力する。
【００２５】
検索処理方法判定部１３３は、インデックス検索部１３２から受け取ったインデックスの検索結果に基づいて、検索処理方法の判定を行う。検索処理方法判定部１３３は、インデックス検索部１３２において行った検索処理の結果を受け、実データ部の検索処理に必要となるデータファイル数から予測検索処理時間を算出し、算出値と基準値とを比較して検索処理方法の判定を行う。検索処理方法がリアルタイム処理であると判定された場合は、インデックス検索部１３２から受け取った検索条件及びインデックスの検索結果を実データ検索部１３５に出力する。また、検索処理方法がバッチ処理であると判定された場合は、インデックス検索部１３２から受け取った検索条件及びインデックスの検索結果をバッチジョブ投入部１３４に出力する。
【００２６】
バッチジョブ投入部１３４は、検索処理方法判定部１３３から呼び出されると、実データ検索処理をバッチジョブとして投入する。バッチジョブ投入部１３４は、検索処理方法判定部１３３から検索条件及びインデックスの検索結果の入力を受けると、実データ検索処理をバッチジョブとして投入する。また、検索条件及びインデックスの結果を実データ検索部１３５に出力する。
【００２７】
実データ検索部１３５は、検索処理方法判定部１３３又はバッチジョブ投入部１３４から受け取ったインデックスの検索結果に基づいて、必要な実データを実データ記憶部１２２から取得する。また、実データ記憶部１２２から取得した実データを、検索処理方法判定部１３３又はバッチジョブ投入部１３４から受け取った検索条件に基づいてさらに検索し、検索結果を結果出力部１３６に出力する。
【００２８】
結果出力部１３６は、実データ検索部１３５から受け取った検索結果を、検索処理結果として出力するためのものである。検索処理結果の出力先は、例えば、情報検索装置１０に検索の要求元のユーザ用端末である。
【００２９】
次に、図２を参照して、情報検索装置１０で管理するインデックスと実データとの関係について説明する。
【００３０】
本発明では、インデックス部分と実データ部分の検索処理を切り分ける必要がある為、図２に示すように、インデックスを階層状に構成して、これらのインデックスに実データを関連付ける方法を採用する。
【００３１】
データ種別インデックス２０１は、実データのデータ種別を示す最上層のインデックスであり、その種別毎にインデックスのアドレスを用いて構成される。ここでの、アドレスとは、データの所在を特定することが可能なデータのことである。例えば、データの存在する絶対パスなどがこれに用いられる。
【００３２】
製品情報インデックス２０２は、データ種別インデックス２０１の下位に位置付けられるインデックスであり、実データのアドレスによって構成される。図２では、データ種別インデックス２０１の下位に位置付けられたインデックスの例として、製品情報インデックス２０２の他に、製造番号情報インデックス２０３と、出荷情報インデックス２０４とが挙げられている。これらのインデックスは、インデックス生成部１１２（図１参照）によって製造実績データの中から抽出されるものである。
【００３３】
製品情報１（２０５）や製品情報２（２０６）は、製品情報インデックス２０２の管理下の実データである。また、製造番号情報１（２０７）や、製造番号情報２（２０８）は、製造番号情報インデックス２０３の管理下の実データである。
【００３４】
図２で示すように、製造実績データである製品情報１（２０５）等の大容量データを管理する場合は、同一種別のデータであっても検索効率の低下を回避する為、複数のデータ種別に分割して管理する構成とするのが好ましい。本実施形態では、複数の種類に分類される実データを階層別のインデックスを用いて管理することで、実データの分割管理を実現している。例えば、製品情報１（２０５）及び製品情報２（２０６）のアドレスを製品情報インデックス２０２を用いて管理することで、それら製品情報の検索を１つのインデックスを参照して行うことが可能である。
【００３５】
次に、図３を参照して、図２に示したデータ種別インデックス２０１のデータの構成例について説明する。
【００３６】
図３に示す例では、データ種別インデックス２０１は、大分類３０１と、小分類３０２と、アドレス３０３とから構成されている。
【００３７】
大分類３０１は、製品情報等のデータの検索時に使用する検索用と、検索結果の出力時に使用する結果出力用とに分類されている。検索対象として使用される項目は、大分類３０１の検索用データとして管理しておき、検索実行時は、この大分類３０１の検索用データの中のデータ種別から、必要なインデックスを特定可能にしている。
【００３８】
小分類３０２は、検索対象のデータ種別名を管理している。例えば、製造番号情報などがある。
【００３９】
アドレス３０３は、小分類３０２で指定されたデータ種別に対応するインデックスの所在を示すアドレスを示し、データ種別に応じたインデックスの所在の特定を可能としている。これにより、検索時及び結果出力時に必要なデータ種別に応じたインデックスを即座に特定し、そのインデックスで指定されたアドレスに存在する実データ（製品情報等）のファイルを読み込むことで検索処理を実現している。
【００４０】
次に、図４を参照（適宜図２参照）して、製品情報インデックス２０２のデータの構成例について説明する。
【００４１】
例えば、図２に示した製品情報インデックス２０２は、図３に示したデータ種別インデックス２０１において、「ＩＲ−１」のアドレスに管理されている。
【００４２】
図４に示すように、製品情報インデックス２０２は、プライマリキー４０１、ファイル名４０２及びアドレス４０３の３つのカラムを保持する。プライマリキー４０１で各製品情報の先頭プライマリキーを管理し、ファイル名４０２でその各製品情報のファイル名を管理し、アドレス４０３で各製品情報のアドレスを管理している。
【００４３】
製品情報インデックス２０２では、ファイル名４０２が製品情報１の先頭レコードのプライマリキー４０１をAA0001として管理している。また、ファイル名４０２が製品情報２の先頭レコードのプライマリキー４０１を、BB0001として管理している。そして、AA0001のプライマリキー４０１と、製品情報１のファイル名４０２に対応するアドレス４０３をＤＡ−１で管理している。また、BB0001のプライマリキー４０１と、製品情報２のファイル名４０２に対応するアドレス４０３をＤＡ−２で管理している。製品情報１及び製品情報２のデータ構造例については、後記する。
【００４４】
例えば、図２に示した製品情報インデックス２０２が、２件のレコードを保持している場合、製品情報インデックス２０２の管理下の実データのファイル数も２件となっている。このように、製品情報インデックス２０２のレコード数は、その管理下にある実データのファイル数と同一になるのが好ましい。このような構造であれば、インデックスの検索をすることによって、実データの検索に必要なデータ量を特定することが可能であり、実データの予測検索処理時間を算出することが可能である。
【００４５】
次に、図５を参照（適宜図２参照）して、製造番号情報インデックス２０３のデータの構成例について説明する。
【００４６】
図５に示すように、製造番号情報インデックス２０３は、図３に示したデータ種別インデックス２０１において、「ＩＳ−１」のアドレスに管理されている。
【００４７】
製造番号情報インデックス２０３では、ファイル名５０２が製造番号情報１の先頭レコードのプライマリキー５０１をPC20050301として管理している。また、ファイル名５０２が製造番号情報２の先頭レコードのプライマリキー５０１を、PC20050310として管理している。そして、PC20050301のプライマリキー５０１と、製造番号情報１のファイル名５０２に対応するアドレス５０３をＳＳ−１で管理している。また、PC20050310のプライマリキー５０１と、製造番号情報２のファイル名５０２に対応するアドレス５０３をＳＳ−２で管理している。製造番号情報１及び製造番号情報２のデータ構造例については、後記する。
【００４８】
例えば、製造番号情報インデックス２０３は、２件のレコードを保持している場合、製造番号情報インデックス２０３の管理下の実データのファイル数も２件となっている。このように、製造番号情報インデックス２０３のレコード数は、その管理下にある実データのファイル数と同一になるのが好ましい。好ましい理由については、製品情報インデックス２０２の場合と同様であるため、説明を省略する。
【００４９】
製造番号情報インデックス２０３におけるデータの管理方法は、製品情報インデックス２０２におけるデータの管理方法と同様であるため、説明を省略する。
【００５０】
次に、図６を参照（適宜図２参照）して、出荷情報インデックス２０４のデータの構成例について説明する。
【００５１】
図６に示すように、出荷情報インデックス２０４は、図３に示したデータ種別インデックス２０１において、「ＩＲ−２」のアドレスに管理されている。
【００５２】
出荷情報インデックス２０４では、ファイル名６０２が出荷情報１の先頭レコードのプライマリキー６０１をAA0001として管理している。また、出荷情報２の先頭レコードのプライマリキー６０１を、SS0001として管理している。出荷情報インデックス２０４は、プライマリキー６０１のAA0001に対応するファイルのファイル名６０２を出荷情報１として、ファイルのアドレス６０３をＤＳ−１として管理している。また、プライマリキー６０１のAA0001に対応するファイルのファイル名６０２を出荷情報２として、ファイルのアドレス６０３をＤＳ−２として管理している。出荷情報１及び出荷情報２のデータ構造例については、後記する。
【００５３】
例えば、出荷情報インデックス２０４は、２件のレコードを保持している場合、出荷情報インデックス２０４の管理下の実データのファイル数も２件となっている。このように、出荷情報インデックス２０４のレコード数は、その管理下ｎある実データのファイル数と同一になるのが好ましい。好ましい理由については、製品情報インデックス２０２の場合と同様であるため、説明を省略する。
【００５４】
図７を参照（適宜図２参照）して、製品情報１（２０５）のデータの構成例について説明する。
【００５５】
図７に示すように、製品情報１（２０５）は、図４に示した製品情報インデックス２０２において、「ＤＡ−１」のアドレスに管理されている。
【００５６】
製品情報１（２０５）は、製品情報インデックス２０２に管理される実データである。図７に示すように、同一種別のデータであっても規定のレコード数で分割してデータ管理を実施するのが好ましい。そのような構成にすることで、大容量データに対しても検索性能の劣化を回避することが可能となる。
【００５７】
図８を参照（適宜図２参照）して、製品情報２（２０６）のデータの構成例について説明する。図８は、本発明の実施形態に係る製品情報２のデータ構成図である。
【００５８】
製品情報２（２０６）の所在は、図４に示した製品情報インデックス２０２において、アドレス４０３のＤＡ−２として、管理されているものである。
【００５９】
製品情報２（２０６）は、製品情報インデックス２０２に管理される実データである。図８に示すように、同一種別のデータであっても規定のレコード数で分割してデータ管理を実施するのが好ましい。理由は製品情報１（２０５）の場合と同様である。
【００６０】
図９を参照（適宜図２参照）して、製造番号情報１（２０７）のデータの構成例について説明する。図９は、本発明の実施形態に係る製造番号情報１のデータ構成図である。
【００６１】
製造番号情報１（２０７）の所在は、図５に示した製造番号情報インデックス２０３において、アドレス５０３のＳＳ−１として、管理されているものである。
【００６２】
製造番号情報１（２０７）は、製造番号情報インデックス２０３に管理される実データである。図９に示すように、同一種別のデータであっても規定のレコード数で分割してデータ管理を実施するのが好ましい。理由は製品情報１（２０５）の場合と同様である。
【００６３】
図１０を参照（適宜図２参照）して、製造番号情報２（２０８）のデータの構成例について説明する。図１０は、本発明の実施形態に係る製造番号情報２のデータ構成図である。
【００６４】
製造番号情報２（２０８）の所在は、図５に示した製造番号情報インデックス２０３において、アドレス５０３のＳＳ−２として、管理されているものである。
【００６５】
製造番号情報２（２０８）は、製造番号情報インデックス２０３に管理される実データである。図１０に示すように、同一種別のデータであっても規定のレコード数で分割してデータ管理を実施するのが好ましい。理由は製品情報１（２０５）の場合と同様である。
【００６６】
次に、図１１を参照（適宜図２参照）して、検索処理方法判定部１３３（図１参照）において予測検索処理時間を算出する際に使用するデータの構成例について説明する。すなわち、実データ検索時間推定用テーブルのデータ構成図について説明する。
【００６７】
図１１に示すように、実データ検索時間推定用テーブル１１００には、大分類：「検索用」の１データあたりの平均検索処理時間は５秒、大分類：「結果出力用」の１データあたりの平均検索処理時間は１０秒、また、検索方法切り分け基準値は２０秒と設定されている。これらの平均検索処理時間は、あらかじめ実測により登録しておくことが可能である。これらの前提条件と、前記したインデックス検索部１３２の結果とを用いて、実データの予測検索処理時間を算出することが可能である。
【００６８】
図１２を参照（適宜図１参照）して、データ検索装置１３での検索処理の一例について説明する。
【００６９】
まず、ユーザ用端末から要求された検索条件が入力される（Ｓ１０１）。具体的には、検索条件入力部１３１は、その検索条件を受け付ける。ここでは、例えば、製造番号『PC20050301』と製造番号『PC20050305』とが検索条件として入力されたものとする。
【００７０】
続いて、入力された検索条件の検索条件項目のインデックスアドレスを、データ種別インデックスから取得する（Ｓ１０２）。具体的には、インデックス検索部１３２は、入力された検索条件に基づいて、どの検索条件項目が入力されたかを解析し、解析された検索条件項目のインデックスアドレスをデータ種別インデックス２０１（図３参照）から取得する。ここでは、検索条件に製造番号のみが含まれているので、検索条件項目は製造番号となり、データ種別インデックス２０１の大分類３０１（図３参照）に含まれる「検索用」の「製造番号情報」を検索し、そのアドレス「IS-1」を取得する。
【００７１】
次に、取得したアドレスに合致するインデックスを検索し、入力された検索条件に合致する実データのデータ数を特定する（Ｓ１０３）。具体的には、データ数とはデータを管理する為のまとまりの数であり、本実施形態では、ファイル数を主に用いるものとする。検索処理方法判定部１３３は、インデックス検索部１３２によって取得されたインデックスアドレスのインデックスを参照し、入力された検索条件に合致する実データのファイル数を特定する。ここでは、取得したインデックスアドレス「IS-1」でアドレスが指定される製造番号情報インデックス２０３を参照して、製造番号『PC20050301』又は製造番号『PC20050305』に合致する実データのファイル数を特定する。各インデックスでは、各実データの先頭レコードを管理している為、範囲検索となる。
【００７２】
図５のデータ例で具体的に説明する。プライマリキーがPC20050301〜PC20050309の場合、プライマリキーで指定される実データは製造番号情報１に登録されており、PC20050310以降のプライマリキーで指定された実データは全て製造番号情報２に登録されているということが分かる。つまり、検索条件で入力された『PC20050301』と『PC20050305』とは、いずれも製造番号情報１に登録されていることが分かり、検索用データの必要データ数は１であると特定することが可能である。次に、結果出力時に必要なデータを考えると、結果として何件ヒットするかは、実データ検索を実施してからでないと分からないが、検索用データの必要ファイル数と同数の結果出力用ファイルが必要と考えれば良い。従って、ここでは、実データの検索に必要なデータ数は、検索用が１つ、結果出力用が１つということが分かる。なお、本実施形態では、検索用データ数を（ａ）、結果出力用データ数を（ｂ）で表す。
【００７３】
図１２に戻って、次に、検索処理方法判定部１３３は、実データ検索時間推定処理を行う（Ｓ１０４）。実データ検索時間推定処理についての詳細な説明は、後記する。ここでは、実データの予測検索処理時間は、１（検索用ファイル数）×５（秒）＋１（結果出力用ファイル数）×１０（秒）＝１５秒と算出することが可能である。また、実データ検索時間推定用テーブルから検索方法切り分け基準値を読み込むことが可能である。なお、算出された推定実データ検索時間を（ｅ）、読み込まれた検索方法切り分け基準値を（ｆ）で表す。
【００７４】
検索処理方法判定部１３３は、実データの予測検索処理時間と切り分け時間との大小関係の比較を行う（Ｓ１０５）。
実データの予測検索処理時間より切り分け時間のほうが大きい場合（Ｓ１０５でＹｅｓの場合）、バッチ処理で検索処理を実行すると決定し、バッチジョブを投入する（Ｓ１０６）。その後、Ｓ１０７に進む。その他の場合（Ｓ１０５でＮｏの場合）、検索処理方法判定部１３３は、リアルタイム処理で検索処理を実行すると決定し、Ｓ１０７に進む。ここでは、実データ検索時間推定用テーブル１１００に登録されている検索方法切り分け基準値は２０秒である為、図１１に示す例では、リアルタイム処理で検索処理を実行すると決定することが可能である。
【００７５】
Ｓ１０７に進んだ場合、特定された実データアドレスの情報を検索条件で検索する（Ｓ１０７）。具体的には、実データ検索部１３５は、インデックスで特定された実データのアドレスを参照して、検索用データを入力された検索条件で検索し、結果出力用データとＪＯＩＮすることで、検索結果を得ることが可能である。ここでは、図７に示した製品情報１（２０５）がそのまま検索結果となる。また、例えば、検索結果として出荷情報を付加して出力する場合は、製品情報１（２０５）と同様の方法で、図６の出荷情報インデックス（２０４）を用いることにより、下位の出荷情報を特定し、出荷情報を付加して検索結果を得ることが可能となる。
【００７６】
続いて、検索結果を出力する（Ｓ１０８）。具体的には、結果出力部１３６は、実データ検索部１３５によって得られた検索結果を、ユーザ用端末に出力する。ここでは、図７に示した製品情報１（２０５）の内容がそのまま検索結果として出力される。
【００７７】
次に、図１３を参照（適宜図１参照）して、Ｓ１０４の実データ検索時間推定処理（図１２参照）について説明する。図１３は、本発明の実施形態に係る実データ検索時間推定処理を表すフローチャートである。
【００７８】
まず、実データ検索に必要なデータ数を特定する（Ｓ２０１）。具体的には、検索処理方法判定部１３３は、Ｓ１０３（図１２参照）で特定された実データのデータ数を実データの検索に必要なデータ数として用いるようにしてもよい。ここでは、前記した通り、検索条件で入力された『PC20050301』と『PC20050305』とが、いずれも製造番号情報１に登録されていることが分かり、検索用データの必要データ数は１であると特定することが可能である。
【００７９】
続いて、検索処理方法判定部１３３は、実データ検索時間推定用テーブル１１００（図１１参照）から前提条件を読み込む（Ｓ２０２）。前提条件は、検索用の１ファイルあたりの平均時間と、結果出力用の１ファイルあたりの平均時間と、検索方法切り分け基準値とを含むものである。図１１に示す例では、検索用の１データあたりの検索時間が５秒、結果出力用の１データあたりの検索時間が１０秒、検索方法切り分け基準値が２０秒となっており、それらの値を読み込む。
【００８０】
そして、推定実データ検索時間を算出する（Ｓ２０３）。ここでは、検索処理方法判定部１３３は、Ｓ２０１で特定した検索用データ数を（ａ）、Ｓ２０１で特定した結果出力用データ数を（ｂ）、Ｓ２０２で読み込んだ１データあたりの検索時間（検索用）を（ｃ）、Ｓ２０２で読み込んだ１データあたりの検索時間（結果出力用）を（ｄ）で表すと、推定実データ検索時間は（ａ）＊（ｃ）＋（ｂ）＊（ｄ）＝１＊５＋１＊１０＝１５と算出される。算出された推定実データ検索時間を（ｅ）で表す。算出された推定実データ検索時間と、読み込まれた検索方法切り分け基準値とは、Ｓ１０５の判定処理で用いられる。
【００８１】
このように、本実施形態では、インデックスを２層、実データを１層という階層に分けることとしたが、インデックス部分と実データ部分とが分離されている構成であれば、階層がいくつであっても良い。インデックス部分と実データ部分とが分離されていれば、入力された検索条件を用いて、まずインデックスを検索し、実データの検索に要する時間を推定し、その推定結果によって、実データの検索方法を決定し、その方法を用いて実データを検索することが可能である。
【００８２】
また、本実施形態では、入力された検索条件を解析することによって、検索方法をリアルタイム処理にするか、バッチ処理にするかを判定し、判定された検索方法を用いて、自動で検索を実行することとしたが、検索方法の判定結果をユーザに知らせて、その検索方法で検索してもよいかどうかをユーザに確認させる構成としてもよい。その場合、例えば、本実施形態における結果出力部が、検索方法の判定結果を出力する機能を有する構成とすればよい。また、実データの検索時間を推定し、その推定時間をユーザに知らせて、検索方法を選択させる構成としてもよい。その場合、例えば、本実施形態における検索処理方法判定部に代えて、実データ検索時間推定部を設け、本実施形態における結果出力部が推定結果を出力する機能を有する構成とすればよい。実データ検索時間推定部は、インデックス検索部が検索したインデックスから、検索対象の実データを検索するために要する推定実データ検索時間を、記憶部の実データ検索時間推定用テーブルを参照して算出する。
【００８３】
また、本実施形態では、実データの検索時間は、ファイルの種類によらず、一定であるとしてテーブルに登録する構成としたが、実データの検索時間をファイルの種類毎に変えてテーブルに登録する構成としてもよい。これによってファイルのデータ量を一定にする必要性をなくすことが可能である。テーブルに登録してある検索方法切り分け基準値は、ユーザが指定できる構成としてもよい。
【００８４】
また、本実施形態では、製造実績データなどのデータを入力し、インデックスを生成するデータ処理装置を、情報検索装置に含める構成としたが、情報検索装置に含めない構成としてもよい。その場合、例えば、データ処理装置において作成されたインデックスは、情報検索装置のディスクドライブなどの入力手段から読み込まれ、インデックスデータ記憶部に格納される構成などが考えられる。
【００８５】
本発明は、同一機能を発揮するが、入力条件により検索処理時間が大幅に異なる機能を有するシステムに対して、特に有効である。また、データ検索システムとしてのユーザビリティを向上させることが可能である。つまり、検索処理方法としてはリアルタイム処理、バッチ処理ともに一長一短がある為、両方の検索方法を自動で切り分けることで、双方の利点を併せ持つデータ検索の方法を提供することが可能である。
【００８６】
例えば、製造実績データの情報検索時に、ある特定の製造番号の製品情報を検索する場合は、情報を一意に特定できる為、大量のデータを管理している場合でも検索処理時間は短時間である。このように、特定の情報を検索する場合はユーザとしても直ちに情報を取得したい為、リアルタイム処理で検索を実施するのが好ましい。
【００８７】
また、例えば、過去１０年間の製造実績データから同一型名の製品情報を検索する場合は、大量のデータの中から不特定量の情報を検索することになり、検索処理に時間を要する。さらに、製造番号の一部だけが分かっている状態で製品情報を検索するといった、あいまいな検索をする場合にも、検索処理に時間を要する。このような場合は、リアルタイム処理は、ユーザに多大な待ち時間を与えることになり、バッチ処理で検索を実施するのが好ましい。そうすれば、システム利用者はそのレスポンスを待ち続ける必要はなく、他の作業を実施し、検索処理が終わった時に結果を参照すれば良いといった利点を得ることが可能である。
【００８８】
本発明は、主に製造業向けの生産実績データの検索に適用するのが有効であるが、その他の分野に適用しても、同様の効果を得ることが可能である。
【００８９】
また、本発明によれば、データ検索システムの機能制限を緩和することが可能である。これにより、データ検索システムとしてユーザの多様な機能要求に対応することが可能となり、システム機能の充実やＣＳ（Customer Satisfaction）を向上させることが可能となる。
【００９０】
尚、本発明は、検索処理性能を向上させるものでは無い為、実際の大量データ検索システムとしての適用時にはブレードのスタンバイＣＰＵを活用するなどハードウェア面での処理性能向上を図ることにより、より有用性が増すものと考えられる。
【図面の簡単な説明】
【００９１】
【図１】本発明の実施形態に係る情報検索装置のブロック図である。
【図２】本発明の実施形態に係る情報検索装置の管理データ構成図である。
【図３】本発明の実施形態に係るデータ種別インデックスのデータ構成図である。
【図４】本発明の実施形態に係る製品情報インデックスのデータ構成図である。
【図５】本発明の実施形態に係る製造番号情報インデックスのデータ構成図である。
【図６】本発明の実施形態に係る出荷情報インデックスのデータ構成図である。
【図７】本発明の実施形態に係る製品情報１のデータ構成図である。
【図８】本発明の実施形態に係る製品情報２のデータ構成図である。
【図９】本発明の実施形態に係る製造番号情報１のデータ構成図である。
【図１０】本発明の実施形態に係る製造番号情報２のデータ構成図である。
【図１１】本発明の実施形態に係る実データ検索時間推定用テーブルのデータ構成図である。
【図１２】本発明の実施形態に係るデータ検索装置の処理を表すフローチャートである。
【図１３】本発明の実施形態に係る実データ検索時間推定処理を表すフローチャートである。
【符号の説明】
【００９２】
１０    情報検索装置
１１    データ処理装置
１２    データ記憶装置
１３    データ検索装置
１２１  インデックスデータ記憶部
１２２  実データ記憶部
１３１  検索条件入力部
１３２  インデックス検索部
１３３  検索処理方法判定部
１３４  バッチジョブ投入部
１３５  実データ検索部
１３６  結果出力部
１１００  実データ検索時間推定用テーブル
【図１】
2006350770.tif 000003
【図２】
2006350770.tif 000004
【図３】
2006350770.tif 000005
【図４】
2006350770.tif 000006
【図５】
2006350770.tif 000007
【図６】
2006350770.tif 000008
【図７】
2006350770.tif 000009
【図８】
2006350770.tif 000010
【図９】
2006350770.tif 000011
【図１０】
2006350770.tif 000012
【図１１】
2006350770.tif 000013
【図１２】
2006350770.tif 000014
【図１３】
2006350770.tif 000015