(57)【要約】【課題】検索ニーズに合う検索エンジンの選択を支援すること。【解決手段】データ処理装置は、検索条件を受け付ける受付部と、受け付けた検索条件から予測される検索結果数に基づいて、検索結果数に対する検索時間が第１のモデルとして定義された第１の検索方法により検索が実行される第１の検索時間を予測する予測部と、第１の検索方法、および、検索結果数に対する検索時間が第１のモデルと同一である第２の検索時間の前の第３の検索時間では検索結果数が第１のモデルの第３の検索時間に対応する検索結果数より小で、第２の検索時間の後の第４の検索時間では検索結果数が第１のモデルの第４の検索時間に対応する検索結果数より大である第２のモデルが定義された第２の検索方法のうちいずれかを、第１の検索時間および第２の検索時間に基づいて、出力する出力部と、を有する。【選択図】図５
2019012368.tif 000002
【特許請求の範囲】
【請求項１】
検索条件を受け付ける受付部と、
受け付けた前記検索条件から予測される検索結果数に基づいて、検索結果数に対する検索時間が第１のモデルとして定義された第１の検索方法により検索が実行される第１の検索時間を予測する予測部と、
前記第１の検索方法、および、検索結果数に対する検索時間が前記第１のモデルと同一である第２の検索時間の前の第３の検索時間では検索結果数が前記第１のモデルの前記第３の検索時間に対応する検索結果数より小で、前記第２の検索時間の後の第４の検索時間では検索結果数が前記第１のモデルの前記第４の検索時間に対応する検索結果数より大である第２のモデルが定義された第２の検索方法のうちいずれかを、前記第１の検索時間および前記第２の検索時間に基づいて、出力する出力部と、
を有することを特徴とするデータ処理装置。
【請求項２】
前記出力部は、前記第１の検索時間が前記第２の検索時間以下である場合に前記第１の検索方法を出力し、前記第１の検索時間が前記第２の検索時間以下でない場合に前記第２の検索方法を出力することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記受付部は、前記検索条件を受け付けると共に、前記検索条件に関する検索が終了するまでに待機できる待機可能時間をさらに受け付け、
前記出力部は、前記第１の検索時間と、前記第２の検索時間と、前記待機可能時間とに基づいて、前記第１の検索方法および前記第２の検索方法のうちいずれかを出力することを特徴とする請求項１または２に記載のデータ処理装置。
【請求項４】
前記出力部は、前記第１の検索時間が前記待機可能時間以下でない場合、前記検索条件の再入力を促す通知、または、前記第１の検索時間および前記第２の検索方法により検索が実行される第５の検索時間の通知のいずれかを出力することを特徴とする請求項３に記載のデータ処理装置。
【請求項５】
前記第１の検索時間が前記待機可能時間以下でない場合、前記第１の検索時間が前記待機可能時間以下となる検索条件を逆算する逆算部をさらに有し、
前記出力部は、前記逆算部により逆算された検索条件を出力することを特徴とする請求項３に記載のデータ処理装置。
【請求項６】
検索条件を受け付け、
受け付けた前記検索条件から予測される検索結果数に基づいて、検索結果数に対する検索時間が第１のモデルとして定義された第１の検索方法により検索が実行される第１の検索時間を予測し、
前記第１の検索方法、および、検索結果数に対する検索時間が前記第１のモデルと同一である第２の検索時間の前の第３の検索時間では検索結果数が前記第１のモデルの前記第３の検索時間に対応する検索結果数より小で、前記第２の検索時間の後の第４の検索時間では検索結果数が前記第１のモデルの前記第４の検索時間に対応する検索結果数より大である第２のモデルが定義された第２の検索方法のうちいずれかを、前記第１の検索時間および前記第２の検索時間に基づいて、出力する、
処理をコンピュータが実行することを特徴とするデータ処理方法。
【請求項７】
検索条件を受け付け、
受け付けた前記検索条件から予測される検索結果数に基づいて、検索結果数に対する検索時間が第１のモデルとして定義された第１の検索方法により検索が実行される第１の検索時間を予測し、
前記第１の検索方法、および、検索結果数に対する検索時間が前記第１のモデルと同一である第２の検索時間の前の第３の検索時間では検索結果数が前記第１のモデルの前記第３の検索時間に対応する検索結果数より小で、前記第２の検索時間の後の第４の検索時間では検索結果数が前記第１のモデルの前記第４の検索時間に対応する検索結果数より大である第２のモデルが定義された第２の検索方法のうちいずれかを、前記第１の検索時間および前記第２の検索時間に基づいて、出力する、
処理をコンピュータに実行させることを特徴とするデータ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置、データ処理方法及びデータ処理プログラムに関する。
【背景技術】
【０００２】
データベース、例えば認証サーバの通信ログ情報に対する検索サービスが提供されている。このような検索には、各種の検索エンジンが利用される。例えば、ログをもとに事前にインデックスを作成しておき、検索時にはインデックスを参照して目的のログを抽出することにより、リアルタイムの検索を実現する検索エンジンが挙げられる。また、ログデータを複数サーバに分散して所持することで検索を並列処理させることにより、大量データのバッチ処理で検索を実現する検索エンジンなどもある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−３０８３３５号公報
【特許文献２】特開２００１−１０１２１１号公報
【特許文献３】特開２００５−１１５５１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の技術では、検索ニーズに合う検索エンジンの選択を支援することができない場合がある。例えば、上記の検索サービスを利用するユーザの中には、即時性を求める検索者が存在する一方で、即時性は求めないが大量データ抽出による統計情報を求める検索者も存在する。前者がバッチ処理の検索エンジンを利用する場合や後者がリアルタイムの検索エンジンを利用する場合、検索ニーズに合わない検索エンジンが選択されることになる。
【０００５】
１つの側面では、本発明は、検索ニーズに合う検索エンジンの選択を支援することができるデータ処理装置、データ処理方法及びデータ処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
一態様では、データ処理装置は、検索条件を受け付ける受付部と、受け付けた前記検索条件から予測される検索結果数に基づいて、検索結果数に対する検索時間が第１のモデルとして定義された第１の検索方法により検索が実行される第１の検索時間を予測する予測部と、前記第１の検索方法、および、検索結果数に対する検索時間が前記第１のモデルと同一である第２の検索時間の前の第３の検索時間では検索結果数が前記第１のモデルの前記第３の検索時間に対応する検索結果数より小で、前記第２の検索時間の後の第４の検索時間では検索結果数が前記第１のモデルの前記第４の検索時間に対応する検索結果数より大である第２のモデルが定義された第２の検索方法のうちいずれかを、前記第１の検索時間および前記第２の検索時間に基づいて、出力する出力部と、を有する。
【発明の効果】
【０００７】
検索ニーズに合う検索エンジンの選択を支援することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施例に係る検索管理装置が提供する検索サービスを説明する図である。
【図２】図２は、認証処理とログの蓄積との関係を示す図である。
【図３Ａ】図３Ａは、ログ検索画面の一例を示す図である。
【図３Ｂ】図３Ｂは、ログ検索結果画面の一例を示す図である。
【図４Ａ】図４Ａは、ログ検索画面の一例を示す図である。
【図４Ｂ】図４Ｂは、ログ検索結果画面の一例を示す図である。
【図５】図５は、実施例に係る検索管理装置の機能的構成を示すブロック図である。
【図６】図６は、図５に示す検索システムの機能的構成を示すブロック図である。
【図７】図７は、図５に示す検索システムの機能的構成を示すブロック図である。
【図８】図８は、検索履歴テーブルの一例を示す図である。
【図９Ａ】図９Ａは、レコメンド出力部の動作の一例を示す図である。
【図９Ｂ】図９Ｂは、レコメンド出力部の動作の別の例を示す図である。
【図１０】図１０は、実施例に係るデータ処理方法の手順を示すフローチャートである。
【図１１】図１１は、検索方法選択処理の手順を示すフローチャートである。
【図１２】図１２は、実施例に係るデータ処理プログラムを実行するコンピュータのハードウェア構成例を示す図である。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して本願に係るデータ処理装置、データ処理方法及びデータ処理プログラムについて説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【００１０】
［検索サービスの一例］
図１は、実施例に係る検索管理装置１００が提供する検索サービスを説明する図である。図１に示す検索管理装置１００は、データベースに対する検索サービスを提供するものである。なお、検索管理装置１００は、データ処理装置の一例である。
【００１１】
この検索サービスが利用される場面の一例として、ＩＳＰ（Internet  Services  Provider）等の事業者により運営される認証サーバがストレージに保存する各種のログなどが検索される場面が挙げられる。例えば、インターネットやＶＰＮなどのＩＳＰ網のエンドユーザの接続状況や不正アクセス等を確認するために、ＩＳＰの運用管理者が運用者端末５０を通じて認証サーバ３０のログ、例えば認証ログや課金ログなどが検索される場合がある。
【００１２】
ここで、図２を用いて、上記の検索サービスで検索対象となるログが蓄積される状況について説明を行う。図２は、認証処理とログの蓄積との関係を示す図である。図２には、ユーザ端末１０、認証クライアント２０及び認証サーバ３０により実行される認証処理の手順を示すシーケンスの一例が示されている。なお、ここでは、認証のプロトコルの一例として、ＲＡＤＩＵＳ（Remote  Authentication  Dial  In  User  Service）を用いる場合を例示するが、他のプロトコルにより認証が行われることとしてもかまわない。
【００１３】
図２に示すユーザ端末１０は、エンドユーザにより使用される端末装置に対応する。また、認証クライアント２０は、ＮＡＳ（Network  Access  Server）などのＲＡＤＩＵＳクライアント等に対応する。また、認証サーバ３０は、ＲＡＤＩＵＳサーバ等に対応する。この認証サーバ３０には、認証サーバ３０がアクセス可能なストレージ４０が接続される。これら認証クライアント２０及び認証サーバ３０の間には、一例として、共有暗号鍵が事前に設定された上でＲＡＤＩＵＳパケットが授受されることにより、不正な認証クライアントからの接続要求、あるいは不正な認証サーバへの接続要求が除去される。
【００１４】
図２に示すように、ユーザ端末１０は、認証ＩＤ（IDentification）および認証情報を含む接続要求を認証クライアント２０に行う（ステップＳ１１）。この接続要求が行われた認証クライアント２０は、Ａｃｃｅｓｓ−Ｒｅｑｕｅｓｔメッセージを認証サーバ３０へ転送する（ステップＳ１２）。
【００１５】
このＡｃｃｅｓｓ−ｒｅｑｕｅｓｔメッセージを受け付けた認証サーバ３０は、ユーザ端末１０から受け付けた認証情報を用いて、ユーザ認証を実行する。すなわち、認証サーバ３０には、認証ＩＤごとに照合用の認証情報および払い出し用のＩＰアドレスが対応付けられたユーザファイルが設定されている。このユーザファイルを参照して、認証サーバ３０は、ユーザ端末１０から送信された認証情報と、ユーザ端末１０から送信された認証ＩＤに対応付けられた認証情報とが一致するか否かを照合することにより、ユーザ認証を行う。
【００１６】
このようにユーザ認証が実行された場合、認証サーバ３０は、不正アクセスの分析を目的の一側面として、ユーザ認証の成否に関する認証ログをストレージ４０に蓄積する。この認証ログには、一例として、時刻、パケット種別、ユーザ識別情報、ＩＰアドレスや認証の拒絶理由などの項目を含めることができる。ここで言う「時刻」は、認証クライアント２０からＡｃｃｅｓｓ−Ｒｅｑｕｅｓｔメッセージを受け付けた時刻、ユーザ認証が実行された時刻、あるいは認証クライアント２０にアクセス許可またはアクセス拒絶が返信された時刻のいずれであってもかまわない。また、「パケット種別」とは、認証クライアント２０に返信するＡｃｃｅｓｓ−ＡｃｃｅｐｔまたはＡｃｃｅｓｓ−Ｒｅｊｅｃｔなどのコードの種別を指す。さらに、「ユーザ識別情報」とは、一例として、ユーザ認証に用いる認証ＩＤを指す。また、「認証の拒絶理由」とは、ユーザ認証によりアクセスが拒絶された理由を指し、事後に不正アクセスの分析に有用な情報が保存される。例えば、ユーザファイルに認証ＩＤに対応するエントリが存在しない場合、ユーザ端末１０が接続要求を行う認証ＩＤを保存することができる。また、認証情報の照合に失敗した場合、認証ＩＤと共にユーザファイルの認証情報と一致しなかった認証情報を保存しておくことができる。
【００１７】
例えば、ユーザ認証に成功したとしたとき、認証サーバ３０は、ＩＰアドレスをユーザ端末１０に払い出す。この場合、認証サーバ３０は、Ａｃｃｅｓｓ−ＡｃｃｅｐｔメッセージのＲＡＤＩＵＳパケットを認証クライアント２０に応答する（ステップＳ１３）。これを受けて、認証クライアント２０は、認証サーバ３０により払い出されたＩＰアドレスを含む接続許可を転送する（ステップＳ１４）。そして、ユーザ端末１０にＩＰアドレスが払い出された後、ユーザ端末１０は、インターネットやＶＰＮなどのネットワークへの接続を開始する（ステップＳ１５）。なお、図２には、ユーザ認証に成功する場合を例示したが、ユーザ認証に失敗した場合、認証サーバ３０から認証クライアント２０には、Ａｃｃｅｓｓ−Ｒｅｊｅｃｔメッセージが応答された後、認証クライアント２０からユーザ端末１０には、接続拒否が転送される。
【００１８】
このようにネットワークへの接続が開始された場合、認証サーバ３０は、監査証跡や接続料金請求等の課金管理、さらにはそこから派生してセッション管理を目的の一側面として、ユーザ端末１０の接続状況に関する課金ログをストレージ４０に蓄積する。例えば、認証サーバ３０は、ユーザ端末１０がネットワークにどれくらい接続していたかを管理するために、ユーザ端末１０が接続を開始してから接続が解除されるまでを監視する。この課金ログには、一例として、時刻、パケット種別、ユーザ識別情報、ＩＰアドレスや接続開始からの経過時間などの項目を含めることができる。ここで言う「時刻」には、認証クライアント２０からＡｃｃｏｕｎｔｉｎｇ−Ｒｅｑｕｅｓｔメッセージを受け付けた時刻などが対応する。また、「パケット種別」とは、Ｓｔａｒｔ、ＳｔｏｐまたはＩｎｔｅｒｉｍ−Ｕｐｄａｔｅなどの状態を指す。さらに、「ユーザ識別情報」とは、一例として、ネットワークに接続するユーザ端末１０の認証ＩＤを指す。また、「接続開始からの経過時間」とは、ユーザ端末１０がネットワークへの接続を開始してから経過した時間を指す。なお、上記の項目の他、ユーザ端末１０と送受信が行われたオクテット数やパケット数などをさらに含めることもできる。
【００１９】
すなわち、ユーザ端末１０が接続を開始すると、認証クライアント２０は、属性「Acct-Status-Type」および値「start(1)」の属性値ペアを含むＡｃｃｏｕｎｔｉｎｇ−Ｒｅｑｕｅｓｔメッセージを認証サーバ３０へ送信する（ステップＳ１６）。これを受信した認証サーバ３０は、課金ログの記録を開始し、ユーザ端末１０の接続状況に関する課金ログをストレージ４０に蓄積する。そして、認証サーバ３０は、Ａｃｃｏｕｎｔｉｎｇ−Ｒｅｓｐｏｎｓｅメッセージを認証クライアント２０へ送信する（ステップＳ１７）。
【００２０】
ここで、認証サーバ３０は、ユーザ端末１０の接続が開始されてから解除されるまで中間報告を認証クライアント２０に送信させる間隔を設定することができる。このように認証サーバ３０により設定された間隔にしたがって、認証クライアント２０は、属性「Acct-Status-Type」および値「Interim-Update(3)」の属性値ペアを含むＡｃｃｏｕｎｔｉｎｇ−Ｒｅｑｕｅｓｔメッセージを認証サーバ３０へ送信する（ステップＳ１８）。これを受信した認証サーバ３０は、課金ログの記録を継続し、ユーザ端末１０の接続状況に関する課金ログをストレージ４０に蓄積する。そして、認証サーバ３０は、Ａｃｃｏｕｎｔｉｎｇ−Ｒｅｓｐｏｎｓｅメッセージを認証クライアント２０へ送信する（ステップＳ１９）。
【００２１】
その後、ユーザ端末１０が接続を解除すると（ステップＳ２０）、認証クライアント２０は、属性「Acct-Status-Type」および値「stop(2)」の属性値ペアを含むＡｃｃｏｕｎｔｉｎｇ−Ｒｅｑｕｅｓｔメッセージを認証サーバ３０へ送信する（ステップＳ２１）。これを受信した認証サーバ３０は、課金ログの記録を終了し、ユーザ端末１０の接続状況に関する課金ログをストレージ４０に蓄積する。そして、認証サーバ３０は、Ａｃｃｏｕｎｔｉｎｇ−Ｒｅｓｐｏｎｓｅメッセージを認証クライアント２０へ送信する（ステップＳ２２）。
【００２２】
図２を用いて例示するユーザ認証やセッション管理により、認証サーバ３０のストレージ４０には、認証ログや課金ログなどのログが蓄積される。これらのログを検索する場合、検索管理装置１００は、一例として、図１に示すように、第１の検索方法を実行する検索システム２００または第２の検索方法を実行する検索システム３００のいずれかを用いる。このうち、検索システム２００は、上記のログをもとに事前にインデックスを作成しておき、検索時にはインデックスを参照して目的のログを抽出することにより、リアルタイムの検索を実現する第１の検索エンジンを動作させることにより実装できる。また、検索システム３００は、上記のログを複数サーバに分散して所持させることで検索を並列処理させることにより、大量データのバッチ処理で検索を実現する第２の検索エンジンを動作させることにより実装できる。
【００２３】
これら検索システム２００及び検索システム３００には、ＩＳＰの運用管理者等の検索者が上記の検索サービスに求めるニーズにより向き不向きがある。すなわち、ＩＳＰの運用管理者等の検索者は、必ずしも同一のニーズの下で上記の検索サービスを利用するとは限らない。例えば、即時性が求められる状況もあれば、即時性は求めないが大量データ抽出による統計情報を求める状況も存在する。
【００２４】
このうち、即時性が求められる検索場面の一例として、ＩＳＰの運用管理者やその関係者がＩＳＰサービスのエンドユーザや外部の第三者、例えば警察等からの問合せに対応する状況が挙げられる。例えば、警察等から「○時〜△時に「x.x.x.x」のＩＰアドレスを払い出していたユーザ情報を教えてほしい。」などの問合せを受け付けた場合、エンドユーザから「インターネットに繋がらなくなった。認証ＩＤ「aaa@domain.com」に関して、認証拒否となった時刻や拒否理由を特定してほしい。」などの問合せを受け付けた場合などが挙げられる。この場合、図３Ａに示す検索条件が指定される場合がある。
【００２５】
図３Ａは、ログ検索画面の一例を示す図である。図３Ａには、ＩＳＰの運用管理者が使用する運用者端末５０に表示されるログ検索画面が示されている。図３Ａには、「user123@domain.com」のユーザが１月１日０時〜１月３日２４時の期間中、いつ認証要求をしてきたのかがＩＳＰの運用管理者により検索される場面を想定する。
【００２６】
図３Ａに示すように、ログ検索画面には、検索条件として、検索開始日時、検索終了日時、対象ログ選択、認証ＩＤおよび送信元ＩＰアドレスなどの項目を指定するＧＵＩ（Graphical  User  Interface）コンポーネントが含まれる。なお、ＧＵＩコンポーネントには、一例として、プルダウンメニューやテキストボックス、ラジオボタンなどの他、任意のＧＵＩコンポーネントを用いることができる。
【００２７】
このうち、「検索開始日時」および「検索終了日時」は、ログの検索範囲を指定する項目である。すなわち、検索開始日時の入力によりログの検索範囲の開始日時が指定されると共に、検索終了日時の入力によりログの検索範囲の終了日時が指定される。これら開始日時および終了日時により定まる期間に該当する時刻を持つログが検索により抽出されることになる。例えば、図３Ａに示すログ検索画面では、２０１７年の１月１日の０時から２０１７年の１月３日の２３時５９分５９秒までの３日間のログが検索範囲とされる場合が例示されている。なお、ログの検索範囲を指定させる場合、必ずしも検索開始日時および検索終了日時の両方を指定させずともよく、いずれか一方を指定させることとしてもよい。
【００２８】
また、「対象ログ選択」は、認証ログおよび課金ログの２種類のログのうちいずれの種類のログを対象に検索を実行するのかを選択する項目である。例えば、図３Ａに示すログ検索画面には、２種類のログのうち認証ログが選択されているので、ログのうち認証ログが検索されることになる。また、「認証ＩＤ」及び「送信元ＩＰアドレス」は、検索対象とするログに含まれるユーザを絞り込む項目である。例えば、図３Ａに示すログ検索画面では、認証ＩＤとして「user123@domain.com」が指定されると共に、送信元ＩＰアドレスとして「192.168.1.1」が指定されているので、両者の値を持つログが検索されることになる。
【００２９】
このように検索開始日時、検索終了日時、対象ログ選択、認証ＩＤおよび送信元ＩＰアドレスなどの検索条件が指定された上で検索実行のボタンが押下操作された場合、ログの検索が実行される。これに伴って、運用者端末５０に表示される画面は、図３Ａに示すログ検索画面から図３Ｂに示すログ検索結果画面へ遷移する。
【００３０】
図３Ｂは、ログ検索結果画面の一例を示す図である。図３Ｂには、図１に示す２つの検索システムのうち検索システム２００が図３Ａに示す検索条件にしたがって検索を実行する場合が示されている。すなわち、図３Ａに示す検索開始日時に対応する認証ログから検索が開始され、図３Ａに示す認証ＩＤや送信元ＩＰアドレスなどの検索条件と一致するログが検索される。このように検索条件を満たすログがヒットする度に、検索でヒットするログが検索結果のログの一例に追加される。図３Ｂには、検索中の画面が例示されており、ログ検索結果画面が表示される段階では、検索条件を満たすログが６件ヒットしている状況が例示されている。
【００３１】
図３Ｂに示すログ検索結果画面から、ＩＳＰの運用管理者等の検索者は、次のような事項を把握できる。すなわち、現時点で判明している段階、すなわち２０１７年の１月１日の９時から２０時３０分までの間に、認証ＩＤ「user123@domain.com」のユーザが６回の接続要求を行っていることがわかる。この６回の接続要求は、１月１日の９時、１５時、・・・、２０時３０分に行われていることも把握できる。このように図３Ａに示す検索条件のログ検索に検索システム２００が用いられる場合、検索条件にヒットする度にログがリアルタイムに出力される。
【００３２】
また、大量データ抽出による統計情報が求められる検索場面では、一例として、図４Ａに示す検索条件が入力される場合がある。図４Ａでは、２０１７年１月の１ヶ月間にどれぐらいの認証要求があったかを定量的に分析するための統計情報が検索される場合を想定する。
【００３３】
図４Ａに示すように、ログ検索画面では、２０１７年の１月１日の０時から２０１７年の１月３１日の２３時５９分５９秒までの１ヶ月間の認証ログが検索範囲として指定されている。そして、図４Ａに示すログ検索画面では、図３Ａに示すログ検索画面の場合とは異なり、統計情報を得るための検索であるので、ユーザを絞り込む検索条件は特に指定されていない。このように検索開始日時、検索終了日時および対象ログ選択などの検索条件が指定された上で検索実行のボタンが押下操作された場合、ログの検索が実行される。これに伴って、運用者端末５０に表示される画面は、図４Ａに示すログ検索画面から図４Ｂに示すログ検索結果画面へ遷移する。
【００３４】
図４Ｂは、ログ検索結果画面の一例を示す図である。図４Ｂには、図１に示す２つの検索システムのうち検索システム３００が図４Ａに示す検索条件にしたがって検索を実行する場合が示されている。すなわち、検索システム３００では、認証サーバ３０のストレージ４０に記憶されたログデータが検索を並行して処理するスレッドごとに分割された上で分割後のログデータが各スレッドにより分散して保持される。これらのスレッドで、図４Ａに示す検索開始日時および検索終了日時に対応する期間の認証ログが並列分散処理により抽出される。その後、各スレッドで図４Ａに示す検索開始日時および検索終了日時に対応する期間の認証ログの抽出が完了した段階で、各スレッドにおける検索結果が１つに統合される。このように統合された検索結果がまとめて図４Ｂに示すログ検索結果画面として表示される。
【００３５】
図４Ｂに示すように、ログ検索結果画面には、２０１７年の１月１日の０時から２０１７年の１月３１日の２３時５９分５９秒までの１ヶ月間の期間でヒットした１５０００件の認証ログのうち１件目から１００件目までの計１００件の認証ログが抜粋して表示されている。ここでは、１件目から１００件目までの認証ログが表示される例を示したが、図示しないＧＵＩコンポーネントに対する操作により、次の１００件、例えば１０１件目から２００件目までの１００件を表示させたり、スクロール等により１５０００件の全てを省略せずに閲覧可能な表示状態に遷移させたりすることができる。
【００３６】
図４Ｂに示すログ検索結果画面から、ＩＳＰの運用管理者等の検索者は、次のような事項を把握できる。すなわち、１ヶ月あたりでのべ１５０００件のユーザ認証が認証サーバ３０で実施されることを把握できる。さらに、１ヶ月あたりの１５０００件を母集団として、時間帯別、曜日別またはユーザ別にユーザ認証が実施される割合を算出するといった定量的な分析が可能になる。
【００３７】
これら図３Ａ及び図３Ｂと図４Ａ及び図４Ｂとを用いて説明したように、異なる検索ニーズの下、検索条件が指定される場合がある。このとき、例えば、図３Ａに示す検索条件が指定された状況で検索システム３００が検索に用いられた場合、次のような不具合が発生する場合がある。すなわち、図３Ａに示す検索条件で検索の対象とされるログの期間は３日間と短く、かつ即時性が求められる検索場面であるにもかかわらず、検索システム３００が検索に用いられた場合、全てのスレッドで検索が終了するまで検索結果を出力することができず、検索結果が出力されるレスポンスが検索システム２００を用いる場合よりも遅延する事態が発生しうる。また、図４Ａに示す検索条件が指定された状況で検索システム２００が検索に用いられた場合、次のような不具合が発生する場合がある。すなわち、図４Ａに示す検索条件で検索の対象とされるログの期間は１ヶ月間と長い検索場面であるにもかかわらず、検索システム２００が検索に用いられた場合、並列分散処理が実行される検索システム３００が用いられる場合よりも、検索結果が出力されるレスポンスが長期間にわたって遅れる事態が発生しうる。さらに、検索条件に合致するログが順次出力されるので、いつ検索が終了するのかも定かでない状態で終了を待機することになる。このように検索システム２００または検索システム３００の選択が適切に行われない場合、ＩＳＰの運用管理者等の検索者が許容する時間内で検索条件に対応する検索を終えることができない可能性が高まる。
【００３８】
そこで、本実施例に係る検索管理装置１００は、リアルタイム検索とバッチ処理の検索の間で検索時間が逆転する時間と、検索条件から求めたリアルタイム検索の所要時間とに基づく検索レコメンドを出力する。
【００３９】
すなわち、図１に示すように、ステップＳ０１において、検索管理装置１００は、ＩＳＰの運用管理者などに使用される運用者端末５０からの検索条件の指定を受け付ける。そして、ステップＳ０２において、検索管理装置１００は、指定を受け付けた検索条件から検索結果数を予測する。
【００４０】
さらに、ステップＳ０３において、検索管理装置１００は、ステップＳ０２で予測される検索結果数に基づいて、リアルタイム検索を実現する検索システム２００により検索が実行される第１の検索実行時間を予測する。
【００４１】
ここで、検索管理装置１００では、一例として、検索システム２００および検索システム３００の性能評価が事前に実施される。これにより、検索システム２００における検索結果数に対する検索時間の変化が第１のモデルとして定義されると共に、検索システム３００における検索結果数に対する検索時間の変化が第２のモデルとして定義される。
【００４２】
図１には、あくまで一例として、第１のモデルおよび第２のモデルがいずれも単調増加の線形性を持つ関数として定義される。これら第１のモデルおよび第２のモデルの間では、検索システム２００および検索システム３００のアルゴリズムの違いから、異なる切片および傾きが定義される。例えば、リアルタイム検索では、検索条件にヒットするログの量が少なければすぐに検索結果を出力できる一方で、バッチ処理の検索では、検索を並列して分散処理する全てのスレッドで検索が終了しなければ検索結果を出力できない。このため、第１のモデルには、ゼロもしくはゼロ付近の切片が定義される。一方、第２のモデルには、第１のモデルに定義される切片よりも大きく、各スレッドに分割されたログ全体を参照できる程度の検索時間が切片として定義される。なぜなら、検索条件でヒットする検索結果数によらず、各スレッドが各スレッドに分割されたログを参照しなければ検索結果を出力できないからである。また、第１のモデルには、第２のモデルの傾きよりも大きい傾きが定義される一方で、第２のモデルには、第１のモデルの傾きよりも小さい傾きが定義される。これは、リアルタイム検索およびバッチ処理の検索のいずれにおいても検索条件でヒットする検索結果が増加するほど検索時間も長くなるが、並列分散処理が実行されるバッチ処理の検索の方が小さい傾きになるからである。
【００４３】
これら第１のモデルおよび第２のモデルが交差する交点の前後で、検索システム２００および検索システム３００の検索時間が逆転する。以下、第１のモデルおよび第２のモデルが交差する交点における検索時間のことを「交差処理時間」と記載する場合がある。すなわち、上記の交点では、検索システム２００および検索システム３００のうちいずれが選択されてもその検索時間は同じとなる。なお、交差処理時間は、第２の検索時間の一例である。また、交差処理時間の前の時間は、第３の検索時間の一例である。また、交差処理時間の後の時間は、第４の検索時間の一例である。また、後述の第２の検索実行時間は、第２の検索時間の一例である。
【００４４】
そして、ステップＳ０４において、検索管理装置１００は、ステップＳ０３で予測された第１の検索実行時間および上記の交差処理時間に基づいて、検索システム２００および検索システム３００のうちいずれかを、検索条件が指定された検索に関するレコメンドとして出力する。例えば、検索管理装置１００では、ＩＳＰの運用管理者等の検索者により異なる検索ニーズの検索条件が指定されたとしても、当該検索条件で検索が早く終わる方の検索システムをレコメンドできる。
【００４５】
以上のことから、本実施例に係る検索管理装置１００によれば、一側面として、検索ニーズに合う検索エンジンの選択を支援することができる。
【００４６】
［データ処理装置の構成］
図５は、実施例に係る検索管理装置１００の機能的構成を示すブロック図である。図５に示す検索管理装置１００は、上記の検索サービスを提供するものであり、一例として、検索システム２００または検索システム３００を用いて、認証サーバ３０のストレージ４０に記憶されたログデータを検索する。
【００４７】
一実施形態として、検索管理装置１００は、パッケージソフトウェアやオンラインソフトウェアとして、上記の検索サービスを実現するデータ処理プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、検索管理装置１０は、上記の検索サービスに関する機能を提供するＷｅｂサーバとして実装することとしてもよいし、アウトソーシングによって上記の検索サービスの機能を提供するクラウドとして実装することとしてもかまわない。
【００４８】
図５に示すように、検索管理装置１００は、図示しない運営者端末５０の他、検索システム２００および検索システム３００に接続される。ここでは、あくまで一例として、検索管理装置１００の外部で検索が実行される場合を例示したが、検索管理装置１００の内部で検索が実行されることとしてもかまわない。例えば、第１の検索方法に対応する検索エンジンおよび第２の検索方法に対応する検索エンジンのうちいずれかの検索エンジンに検索条件に対応するログを検索させることとしてもかまわない。
【００４９】
［検索システム２００の構成］
図６は、図５に示す検索システム２００の機能的構成を示すブロック図である。図６に示すように、検索システム２００は、認証サーバ３０のストレージ４０および検索管理装置１００に接続される。この検索システム２００は、実データ記憶部２１０、インデックス作成部２２０、第１のインデックス記憶部２３０−１〜第ｎのインデックス記憶部２３０−ｎおよび検索実行部２４０を有する。なお、上記の「ｎ」は、任意の自然数である。
【００５０】
実データ記憶部２１０には、ストレージ４０に記憶されたログデータ４１が複製されたログデータが記憶される。ここで言う「ログデータ」とは、認証サーバ３０により蓄積される認証ログまたは課金ログのレコードを含んで構成されるデータを指すこととする。
【００５１】
インデックス作成部２２０は、実データ記憶部２１０に記憶されたログデータのレコードに含まれる検索キーごとに当該検索キーに対応するインデッククスファイルを作成する。このインデックスファイルは、認証ログや課金ログに含まれる項目を検索キーとして用いることにより作成することができる。例えば、インデックス作成部２２０は、ログデータに含まれる認証ログや課金ログの各レコードから当該レコードに含まれる認証ＩＤや送信元ＩＰアドレスの値を当該レコードの索引として抽出することにより、インデックスファイルを作成できる。このように作成されたインデックスファイルごとに当該インデックスファイルが第１のインデックス記憶部２３０−１〜第ｎのインデックス記憶部２３０−ｎに保存される。
【００５２】
検索実行部２４０は、検索管理装置１００からの指示にしたがって検索を実行する。例えば、検索実行部２４０は、検索管理装置１００から指示された検索条件に含まれる検索キーの値と一致するインデックスファイルを第１のインデックス記憶部２３０−１〜第ｎのインデックス記憶部２３０−ｎから検索する。そして、検索実行部２４０は、検索条件に含まれる検索キーの値と一致するインデックスファイルがヒットする度に、当該インデックスファイルに対応するログデータのレコードを実データ記憶部２１０から抽出して検索管理装置１００へ出力する。
【００５３】
このように、検索システム２００では、認証サーバ３０がストレージ４０へ蓄積するログデータのレコードから事前にインデックスを作成しておき、検索時にはインデックスを参照して目的のログのレコードを抽出することにより、リアルタイムの検索を実現する。
【００５４】
［検索システム３００の構成］
図７は、図５に示す検索システム３００の機能的構成を示すブロック図である。図７に示すように、検索システム３００は、認証サーバ３０のストレージ４０および検索管理装置１００に接続される。この検索システム３００は、管理装置３１０および第１の検索装置３２０−１〜第ｍの検索装置３２０−ｍを有する。なお、上記の「ｍ」は、任意の自然数である。
【００５５】
管理装置３１０は、検索システム３００に含まれる第１の検索装置３２０−１〜第ｍの検索装置３２０−ｍを管理する。管理装置３１０は、データ振り分け部３１１および検索実行部３１２を有する。
【００５６】
データ振り分け部３１１は、認証サーバ３０のストレージ４０に記憶されたログデータ４１を第１の検索装置３２０−１〜第ｍの検索装置３２０−ｍへ振り分ける。例えば、データ振り分け部３１１は、認証サーバ３０のストレージ４０に記憶されたログデータ４１を第１の検索装置３２０−１〜第ｍの検索装置３２０−ｍと同数に分割する。そして、データ振り分け部３１１は、ログデータ４１が分割された分割ログデータを第１の検索装置３２０−１〜第ｍの検索装置３２０−ｍに振り分ける。このように第１の検索装置３２０−１〜第ｍの検索装置３２０−ｍごとに振り分けられた分割ログデータが第１の実データ記憶部３２１−１〜第ｍの実データ記憶部３２１−ｍに保存される。この結果、第１の実データ記憶部３２１−１〜第ｍの実データ記憶部３２１−ｍには、ストレージ４０に記憶されたログデータ４１が分散された状態で記憶されることになる。
【００５７】
検索実行部３１２は、検索管理装置１００からの指示にしたがって検索の並列分散処理を第１の検索装置３２０−１〜第ｍの検索装置３２０−ｍに実行させる。例えば、検索実行部３１２は、検索管理装置１００から指示された検索条件を第１の検索装置３２０−１〜第ｍの検索装置３２０−ｍに通知する。これにより、第１の検索装置３２０−１〜第ｍの検索装置３２０−ｍは、検索条件に合致するログのレコードの検索を並列して実行する。例えば、第１の検索装置３２０−１は、検索条件に合致するログのレコードを第１の実データ記憶部３２１−１から検索する。また、第２の検索装置３２０−２は、検索条件に合致するログのレコードを第２の実データ記憶部３２１−２から検索する。また、第ｍの検索装置３２０−ｍは、検索条件に合致するログのレコードを第ｍの実データ記憶部３２１−ｍから検索する。その後、検索実行部３１２は、第１の検索装置３２０−１〜第ｍの検索装置３２０−ｍごとに検索結果を取得する。その上で、検索実行部３１２は、第１の検索装置３２０−１〜第ｍの検索装置３２０−ｍから取得された検索結果を統合して検索管理装置１００へ出力する。
【００５８】
このように、検索システム３００は、認証サーバ３０がストレージ４０へ蓄積するログデータのレコードを複数の検索装置３２０に分散して所持させることで検索を並列処理させることにより、大量データのバッチ処理で検索を実現する。
【００５９】
図５の説明に戻り、検索管理装置１００は、記憶部１１０および制御部１２０を有する。なお、検索管理装置１００は、図５に示される機能部以外にも既知のコンピュータに含まれる各種の機能部、例えば、入力部および出力部を含むこととしてもよい。また、図５には、検索管理装置１００と運用者端末５０とが別体として構築される場合を例示したが、検索管理装置１００および運用者端末５０を一体化して構築することもできる。
【００６０】
記憶部１１０は、制御部１２０で実行されるＯＳ（Operating  System）および上記の検索サービスに関する機能を実現するアプリケーションプログラムなどの各種のプログラムに用いられるデータを記憶する記憶デバイスである。
【００６１】
一実施形態として、記憶部１１０は、検索管理装置１００における補助記憶装置として実装される。例えば、記憶部１１０には、ＨＤＤ（Hard  Disk  Drive）、光ディスクまたはＳＳＤ（Solid  State  Drive）などを採用できる。記憶部１１０は、必ずしも補助記憶装置として実装されずともよく、検索管理装置１００における主記憶装置として実装することとしてもよい。この場合、記憶部１１０には、各種の半導体メモリ素子、例えばＲＡＭまたはフラッシュメモリを採用することもできる。
【００６２】
記憶部１１０は、制御部１２０で実行されるプログラムに用いられるデータの例として、設定ファイル１１１および検索履歴テーブル１１２を有する。
【００６３】
設定ファイル１１１は、検索結果数の予測値、第１の検索実行時間の予測値および第２の検索実行時間の予測値などを算出するために用いられる。ここで言う「検索結果数」とは、ログデータに含まれるレコードのうち検索条件に合致するログがヒットするレコードの数を指す。また、「第１の検索実行時間」とは、第１の検索方法、すなわち検索システム２００により検索が実行される場合における検索の所要時間を指す。また、「第２の検索実行時間」は、第２の検索方法、すなわち検索システム３００により検索が実行される場合における検索の所要時間を指す。
【００６４】
例えば、設定ファイル１１１には、平均ログ記憶速度、認証ＩＤ重み、第１のモデル、第２のモデル、交差処理時間および実測値の重みなどの項目が設定情報として含まれる。この設定情報は、検索管理装置１００の開発者や運用者により上記の項目の値が設定されることにより生成される。設定情報は、図示しない通信のインタフェースを介して取得される。設定情報は、事前に評価されると共に設定ファイル１１１に記憶される。なお、第１の検索実行時間の予測値または第２の検索実行時間の予測値は、検索システム２００または検索システム３００により検索が実行される度に、第１の検索実行時間の実測値または第２の検索実行時間の実測値に基づいて更新されるため、平均ログ記憶速度、および認証ＩＤ重みには、厳密な値が設定されずとも予測値の精度への影響は少ない。
【００６５】
平均ログ記憶速度とは、認証サーバ３０のストレージ４０へ単位時間あたりに記憶されるログデータの数の平均値を指す。例えば、平均ログ記憶速度は、ストレージ４０に１秒あたりに記憶されるログデータの数の平均値である。例えば、平均ログ記憶速度Ｙには、１０，０００／秒が設定される。
【００６６】
認証ＩＤ重みは、ＩＳＰサービスに加入するユーザ数に基づいて設定される。例えば、認証ＩＤ重みには、１／（ＩＳＰサービスに加入するユーザ数）により設定される。例えば、ＩＳＰサービスに加入するユーザ数が１０００万人であるとしたとき、認証ＩＤ重み（ｗａ）には、１／１０００００００が設定される。
【００６７】
第１のモデルは、第１の検索方法、すなわち検索システム２００により検索が実行される場合における検索結果数に対する検索時間の変化を示すモデルである。例えば、第１のモデルには、単調増加の線形性を持つ１次関数が設定される。例えば、第１の検索実行時間をＰ１とし、検索結果数をｘとしたとき、第１のモデルには、Ｐ１＝ａ１×ｘ＋ｂ１の１次関数が設定される。ここで、傾きａ１は、正の数であり、切片ｂ１は、０以上の数である。例えば、傾きａ１を１とし、切片ｂ１を０としたとき、第１のモデルは、Ｐ１＝ｘで表される。
【００６８】
第２のモデルは、第２の検索方法、すなわち検索システム３００により検索が実行される場合における検索結果数に対する検索時間の変化を示すモデルである。例えば、第２のモデルにも、単調増加の線形性を持つ１次関数が設定される。例えば、第２の検索実行時間をＰ２とし、検索結果数をｘとしたとき、第２のモデルには、Ｐ２＝ａ２×ｘ＋ｂ２の一次関数が設定される。ここで、傾きａ２および切片ｂ２は、正の数である。これらａ１、ｂ１、ａ２、およびｂ２は、検索システム２００および検索システム３００のアルゴリズムの違いから、ａ１＞ａ２およびｂ１＜ｂ２の関係を満たす。例えば、傾きａ２を１／５００とし、切片ｂ２を６０としたとき、第２のモデルは、Ｐ２＝ｘ／５００＋６０により表される。
【００６９】
なお、ここでは、あくまで一例として、第１のモデルおよび第２のモデルに線形性を持つ関数が定義される場合を例示したが、第１のモデルおよび第２のモデルは必ずしも線形性を持つ関数でなくともかまわない。また、第１のモデルおよび第２のモデルには、検索結果数ごとに当該検索結果数に対応する検索時間が対応付けられたルックアップテーブルなどが定義されることとしてもかまわない。
【００７０】
交差処理時間は、第１のモデルおよび第２のモデルが交差する交点における検索時間である。この交点では、第１の検索実行時間および第２の検索実行時間が等しくなる。
【００７１】
例えば、第１のモデルが上述したようなＰ１＝ａ１×ｘ＋ｂ１で表される直線であると共に第２のモデルが上述したようなＰ２＝ａ２×ｘ＋ｂ２で表される直線である場合には、交差処理時間Ｔは、ａ１≠ａ２の条件下で、Ｔ＝（ａ１×ｂ２−ａ２×ｂ１）／（ａ１−ａ２）によって算出できる。交差処理時間Ｔに対応する検索結果数ｘ（Ｔ）は、ａ１≠ａ２およびｂ１≠ｂ２の条件下で、ｘ（Ｔ）＝（ｂ２−ｂ１）／（ａ１−ａ２）によって算出できる。例えば、第１のモデルおよび第２のモデルが、それぞれ、上述したようなＰ１＝ｘおよびＰ２＝ｘ／５００＋６０によって表される場合には、交差処理時間Ｔは、約６０．１２秒と導出できる。
【００７２】
例えば、ａ１、ｂ１、ａ２およびｂ２が、ａ１＞ａ２およびｂ１＜ｂ２の関係を満たす場合には、Ｐ１およびＰ２は、検索時間ｔ＜ＴについてＰ１＜Ｐ２およびｔ＞ＴについてＰ１＞Ｐ２を満たす。例えば、ａ１、ｂ１、ａ２およびｂ２が、ａ１＞ａ２およびｂ１＜ｂ２の関係を満たす場合には、Ｐ１およびＰ２は、ｘ＜ｘ（Ｔ）についてＰ１＜Ｐ２およびｘ＞ｘ（Ｔ）についてＰ１＞Ｐ２を満たす。
【００７３】
実測値の重みは、第１の検索実行時間または第２の検索実行時間の実測値に基づいて第１の検索実行時間または第２の検索実行時間の予測値を更新する際に、実測値と予測値との間の差分に適用される重みである。実測値の重みについては後述する。
【００７４】
検索履歴テーブル１１２は、第１の検索方法または第２の検索方法により実行された検索の履歴の情報を含むテーブルである。図８は、検索履歴テーブル１１２の一例を示す図である。図８に示すように、検索履歴テーブル１１２は、例えば、「検索期間ｔ’［秒］」、「条件指定有無」、「予測値Ｐ１［秒］」、「予測値Ｐ２［秒］」、「実測値Ｍ１［秒］」、「実測値Ｍ２［秒］」、「検索方法実行カウンタ」の項目を含む。「条件指定有無」の項目は、さらに「認証ＩＤ」の項目を含む。「検索方法実行カウンタ」の項目は、さらに「第１の検索方法実行数ａ」および「第２の検索方法実行数ｂ」の項目を含む。
【００７５】
「検索期間ｔ’［秒］」は、検索条件におけるログ検索の対象である期間、すなわち検索条件における検索開始日時と検索終了日時との間の期間である。「検索期間ｔ’［秒］」は、秒単位で表された期間である。
【００７６】
「条件指定有無」は、検索条件における「認証ＩＤ」の指定の有無を示す。「認証ＩＤ」は、検索条件における認証ＩＤの指定の有無を示す。例えば、「認証ＩＤ」の項目において、「○」は、検索条件に認証ＩＤが指定されることを示し、「×」は、検索条件に認証ＩＤが指定されないことを示す。
【００７７】
「予測値Ｐ１［秒］」は、設定情報および検索条件に基づいて予測された第１の検索方法に従ったログ検索に要する時間の値、すなわち、第１の検索実行時間Ｐ１の予測値である。「予測値Ｐ１［秒］」は、秒単位で表された第１の検索実行時間Ｐ１の予測値である。「予測値Ｐ２［秒］」は、設定情報および検索条件に基づいて予測された第２の検索方法に従ったログ検索に要する時間の値、すなわち、第２の検索実行時間Ｐ２の予測値である。「予測値Ｐ２［秒］」は、秒単位で表された第２の検索実行時間Ｐ２の予測値である。
【００７８】
「実測値Ｍ１［秒］」は、検索条件に基づいて実行された第１の検索方法に従ったログ検索に要した時間の値、すなわち、第１の検索実行時間Ｐ１の実測値である。「実測値Ｍ１［秒］」は、秒単位で表された第１の検索実行時間Ｐ１の実測値である。「実測値Ｍ２［秒］」は、検索条件に基づいて実行された第２の検索方法に従った検索に要した時間の値、すなわち、第２の検索実行時間Ｐ２の実測値である。「実測値Ｍ２［秒］」は、秒単位で表された第２の検索実行時間Ｐ２の実測値である。
【００７９】
「検索方法実行カウンタ」は、第１の検索方法または第２の検索方法を実行した回数を示す。「第１の検索方法実行数ａ」は、第１の検索方法を実行した回数を示す。「第２の検索方法実行数ｂ」は、第２の検索方法を実行した回数を示す。
【００８０】
図８に示す検索履歴テーブル１１２においては、「３６０００」秒の「検索期間ｔ’［秒］」および「認証ＩＤ」の指定ありの検索条件におけるログ検索の例が示される。上記ログ検索において予測された「予測値Ｐ１［秒］」および「予測値Ｐ２［秒］」の値は、それぞれ、「３６」秒および「６０．０７２」秒である。上記ログ検索においては、第２の検索方法ではなく第１の検索方法が実行されている。それに応じて、「第１の検索方法実行数ａ」および「第２の検索方法実行数ｂ」は、それぞれ、「１」および「０」である。上記ログ検索において実行された第１の検索方法の結果として、「実測値Ｍ１［秒］」は、３０秒であった。上記ログ検索においては、第２の検索方法が実行されなかったため、「実測値Ｍ２［秒］」は、空白である。
【００８１】
このように、図８に示す検索履歴テーブル１１２には、「検索期間ｔ’［秒］」および「認証ＩＤ」の指定の有無を含む検索条件に関する情報が記憶される。また、図８に示す検索履歴テーブル１１２には、それぞれ上記検索条件において予測された第１の検索実行時間および第２の検索実行時間の値である「予測値Ｐ１［秒］」および「予測値Ｐ２［秒］」が記憶される。また、図８に示す検索履歴テーブル１１２においては、それぞれ上記検索条件において実行された第１の検索方法および第２の検索方法の回数である「第１の検索方法実行数ａ」および「第２の検索実行数ｂ」が記憶される。また、図８に示す検索履歴テーブル１１２においては、それぞれ上記検索条件において実測された第１の検索実行時間および第２の検索実行時間の値である「実測値Ｍ１［秒］」および「実測値Ｍ２［秒］」が記憶される。
【００８２】
なお、記憶部１１０には、テーブル形式でデータが格納される場合を例示したが、記憶部１１０には、ＸＭＬ（Extensible  Markup  Language）などのマークアップ言語によりタグ形式で記述されるデータ、あるいはＣＳＶ（Comma-Separated  Values）などのようにカンマや改行により記述されるデータが格納されることとしてもかまわない。
【００８３】
制御部１２０は、検索管理装置１００の全体を制御する処理部である。制御部１２０は、ＣＰＵ（Central  Processing  Unit）またはＭＰＵ（Micro  Processing  Unit）のようなハードウェアプロセッサによって実装される。ここでは、プロセッサの一例としてＣＰＵまたはＭＰＵを例示したが、汎用型および特化型を問わず、任意のプロセッサによって制御部１２０を実装することができる。あるいは、制御部１２０は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）またはＦＰＧＡ（Field  Programmable  Gate  Array）のようなハードワイヤードロジックによって実現されることとしてもよい。
【００８４】
制御部１２０は、図示しない主記憶装置として実装されるＤＲＡＭ（Dynamic  Random  Access  Memory）またはＳＲＡＭ（Static  Random  Access  Memory）のようなＲＡＭのワークエリア上にデータ処理プログラムを展開することにより、制御部１２０に含まれる処理部を仮想的に実現する。
【００８５】
図５に示すように、制御部１２０は、検索条件受付部１２１と、検索時間予測部１２２と、レコメンド出力部１２３と、検索条件逆算部１２４と、検索方法選択部１２５と、検索結果出力部１２６と、予測値更新部１２７とを有する。
【００８６】
検索条件受付部１２１は、検索条件の指定を受け付ける。検索条件受付部１２１は、図示しないインタフェースを介して、運営者端末５０から検索条件の指定を受け付ける。例えば、検索条件受付部１２１は、第１の検索方法に従ったログ検索のための検索条件および第２の検索方法に従ったログ検索のための検索条件を受け付ける。例えば、検索条件受付部１２１は、図３Ａに示すような、検索開始日時、検索終了日時、対象ログ選択、認証ＩＤ、および送信元ＩＰアドレスを受け付ける。例えば、検索条件受付部１２１は、図４Ａに示すような、検索開始日時、検索終了日時、および対象ログ選択を受け付ける。検索条件受付部１２１は、指定を受け付けた検索条件を検索時間予測部１２２および検索方法選択部１２５に出力する。
【００８７】
検索条件受付部１２１は、検索条件の指定と共に、待機可能時間をさらに受け付けるように構成されたものであってもよい。この場合には、検索条件受付部１２１は、図示しない通信インタフェースを介して、運営者端末５０によって入力される検索条件の指定および待機可能時間を受け付ける。ここで、待機可能時間は、検索条件が指定されたログ検索が終了するまでに検索者が待機することができる時間である。すなわち、待機可能時間は、検索条件が指定されたログ検索の実行からログ検索の結果の出力までに検索者が待機することができる時間である。待機可能時間Ｔ’および交差処理時間Ｔは、Ｔ’＜Ｔの関係を満たすこともＴ’＞Ｔの関係を満たすこともある。検索条件受付部１２１は、検索条件を検索時間予測部１２２へ出力する。検索条件受付部１２１は、待機可能時間Ｔ’をレコメンド出力部１２３および検索条件逆算部１２４へ出力する。
【００８８】
検索条件受付部１２１は、運営者端末５０等からログ検索の実行の命令を受け付けるように構成されたものであってもよい。例えば、検索条件受付部１２１は、第１の検索方法または第２の検索方法に従ったログ検索の実行の命令を受け付けるように構成されたものであってもよい。
【００８９】
検索時間予測部１２２は、指定を受け付けた検索条件から予測される検索結果数に基づいて、第１のモデルが定義された第１の検索方法により検索が実行される第１の検索実行時間を予測する。検索時間予測部１２２は、指定を受け付けた検索条件から予測される検索結果数に基づいて、第２のモデルが定義された第２の検索方法により検索が実行される第２の検索実行時間を予測する。
【００９０】
検索時間予測部１２２は、指定を受け付けた検索条件と同一または類似する検索条件が検索履歴テーブル１１２に記憶されているか否かを判定する。
【００９１】
指定を受け付けた検索条件と同一または類似する検索条件が検索履歴テーブル１１２に記憶されている場合には、検索時間予測部１２２は、検索履歴テーブル１１２に記憶されている上記検索条件に対応する予測値を取得する。すなわち、検索時間予測部１２２は、第１の検索実行時間の予測値として、検索履歴テーブル１１２に記憶されている上記検索条件に対応する「予測値Ｐ１［秒］」の値を取得する。検索時間予測部１２２は、第２の検索実行時間の予測値として、検索履歴テーブル１１２に記憶されている上記検索条件に対応する「予測値Ｐ２［秒］」の値を取得する。
【００９２】
指定を受け付けた検索条件と同一または類似する検索条件が検索履歴テーブル１１２に記憶されていない場合には、検索時間予測部１２２は、指定を受け付けた検索条件を検索履歴テーブル１１２に記憶する。検索時間予測部１２２は、例えば、指定を受け付けた検索条件について「検索期間ｔ’［秒］」、および「認証ＩＤ」の項目に関する情報を検索履歴テーブル１１２に記憶する。次に、検索時間予測部１２２は、以下に説明するように、第１の検索実行時間および第２の検索実行時間を予測する。
【００９３】
検索時間予測部１２２は、設定ファイル１１１に記憶された設定情報および検索条件受付部１２１から出力された検索条件を取得する。検索時間予測部１２２は、設定情報および検索条件に基づいて、検索条件に従ったログ検索によってヒットするログデータの数である検索結果数を予測する。検索時間予測部１２２は、例えば、検索結果数ｘ＝平均ログ記憶速度Ｙ×検索期間ｔ’×認証ＩＤ重みｗａの式に従って、検索結果数ｘを予測する。すなわち、検索時間予測部１２２は、平均ログ記憶速度でストレージ４０に記憶されるログデータ４１について検索期間ｔ’の間に記憶された認証ＩＤに関連するログデータの数を予測する。例えば、平均ログ記憶速度Ｙ＝１０，０００／秒、認証ＩＤ重みｗａ＝１／１０００００００の設定情報および検索期間ｔ’＝３６０００秒の検索条件においては、検索結果数ｘは、３６である。
【００９４】
検索時間予測部１２２は、設定ファイル１１１に記憶された設定情報および検索結果数に基づいて、第１のモデルが定義された第１の検索方法により検索が実行される第１の検索実行時間を予測する。例えば、第１のモデルが上述したようなＰ１＝ａ１×ｘ＋ｂ１で表される直線である場合には、検索時間予測部１２２は、Ｐ１＝ａ１×ｘ＋ｂ１の式および検索結果数ｘに従って、第１の検索実行時間Ｐ１を予測する。例えば、ａ１＝１秒およびｂ１＝０秒の場合には、検索時間予測部１２２は、Ｐ１＝ｘ秒に従って第１の検索実行時間Ｐ１を予測する。例えば、検索結果数ｘが上述したような３６である場合には、予測された第１の検索実行時間Ｐ１の値は、３６秒である。
【００９５】
検索時間予測部１２２は、設定ファイル１１１に記憶された設定情報および検索結果数に基づいて、第２のモデルが定義された第２の検索方法により検索が実行される第２の検索実行時間を予測する。例えば、第２のモデルが上述したようなＰ２＝ａ２×ｘ＋ｂ２で表される直線である場合には、検索時間予測部１２２は、Ｐ２＝ａ２×ｘ＋ｂ２の式および検索結果数ｘに従って、第２の検索実行時間Ｐ２を予測する。例えば、ａ２＝１／５００秒およびｂ２＝６０秒の場合には、検索時間予測部１２２は、Ｐ２＝ｘ／５００秒＋６０秒に従って第２の検索実行時間Ｐ２を予測する。例えば、検索結果数ｘが上述したような３６である場合には、予測された第２の検索実行時間Ｐ２の値は、６０．０７２秒である。
【００９６】
検索時間予測部１２２は、予測された第１の検索実行時間Ｐ１の値を検索履歴テーブル１１２における「予測値Ｐ１［秒］」に記憶する。検索時間予測部１２２は、予測された第２の検索実行時間Ｐ２の値を検索履歴テーブル１１２における「予測値Ｐ２［秒］」に記憶する。
【００９７】
検索時間予測部１２２は、予測された第１の検索実行時間Ｐ１の値、すなわち、第１の検索実行時間Ｐ１の予測値をレコメンド出力部１２３に出力する。検索時間予測部１２２は、予測された第２の検索実行時間Ｐ２の値、すなわち、第２の検索実行時間Ｐ２の予測値をレコメンド出力部１２３に出力する。検索時間予測部１２２は、第１の検索実行時間Ｐ１の予測値を検索条件逆算部１２４に出力する。
【００９８】
レコメンド出力部１２３は、第１の検索方法および第２の検索方法のうちいずれかを、第１の検索実行時間および交差処理時間に基づいて、検索条件が指定された検索に関するレコメンドとして出力する。
【００９９】
レコメンド出力部１２３は、検索時間予測部１２２から第１の検索実行時間Ｐ１の予測値および第２の検索実行時間Ｐ２の予測値を取得する。また、レコメンド出力部１２３は、設定ファイル１１１に記憶された交差処理時間Ｔを取得する。また、レコメンド出力部１２３は、検索条件受付部１２１から待機可能時間Ｔ’を取得する。レコメンド出力部１２３は、第１の検索実行時間Ｐ１の予測値、第２の検索実行時間Ｐ２の予測値、交差処理時間Ｔ、および待機可能時間Ｔ’の少なくとも一つに基づいて、検索条件が指定された検索に関するレコメンドの情報を出力する。検索条件が指定された検索に関するレコメンドの情報は、第１の検索方法の推奨、第２の検索方法の推奨、第１の検索実行時間Ｐ１の予測値および第２の検索実行時間Ｐ２の予測値の通知、および検索条件の再入力を促す通知を含む。第１の検索実行時間Ｐ１の予測値および第２の検索実行時間Ｐ２の予測値の通知は、第１の検索方法または第２の検索方法の選択を促すための通知である。
【０１００】
例えば、レコメンド出力部１２３は、第１の検索実行時間Ｐ１の予測値が交差処理時間Ｔ以下である場合に第１の検索方法をレコメンドとして出力し、第１の検索実行時間Ｐ１の予測値が交差処理時間Ｔ以下でない場合に第２の検索方法をレコメンドとして出力する。
【０１０１】
例えば、レコメンド出力部１２３は、第１の検索実行時間Ｐ１の予測値と、交差処理時間Ｔと、待機可能時間Ｔ’とに基づいて、レコメンドを出力する。
【０１０２】
例えば、レコメンド出力部１２３は、第１の検索実行時間Ｐ１の予測値が待機可能時間Ｔ’以下であると共に交差処理時間Ｔ以下である場合には、第１の検索方法をレコメンドとして出力する。
【０１０３】
例えば、レコメンド出力部１２３は、第１の検索実行時間Ｐ１の予測値が待機可能時間Ｔ’以下であるが交差処理時間Ｔ以下でない場合には、第１の検索実行時間Ｐ１の予測値および第２の検索実行時間Ｐ２の予測値の通知をレコメンドとして出力する。この場合には、レコメンド出力部１２３は、第２の検索実行時間Ｐ２の予測値が第１の検索実行時間Ｐ１の予測値以下であることを運営者端末５０に通知するようにしてもよい。
【０１０４】
例えば、レコメンド出力部１２３は、第１の検索実行時間Ｐ１の予測値が待機可能時間Ｔ’以下でない場合には、検索条件の再入力を促す通知、または、第１の検索実行時間Ｐ１の予測値および第２の検索実行時間Ｐ２の予測値の通知のいずれかをレコメンドとして出力する。
【０１０５】
例えば、レコメンド出力部１２３は、第１の検索実行時間Ｐ１の予測値が待機可能時間Ｔ’以下でないが交差処理時間Ｔ以下である場合には、検索条件の再入力を促す通知をレコメンドとして出力する。この場合には、レコメンド出力部１２３は、第１の検索実行時間Ｐ１の予測値が待機可能時間Ｔ’以下でないことを運営者端末５０に通知するようにしてもよい。あるいは、レコメンド出力部１２３は、第１の検索実行時間Ｐ１の予測値および第２の検索実行時間Ｐ２の予測値の通知をレコメンドとして出力する。
【０１０６】
例えば、レコメンド出力部１２３は、第１の検索実行時間Ｐ１の予測値が待機可能時間Ｔ’以下でないと共に交差処理時間Ｔ以下でない場合には、検索条件の再入力を促す通知をレコメンドとして出力する。あるいは、レコメンド出力部１２３は、第２の検索方法をレコメンドとして出力する。
【０１０７】
図９Ａは、レコメンド出力部１２３の動作の一例を示す図である。図９Ａは、待機可能時間Ｔ’が交差処理時間Ｔよりも小さい場合の例を示す。図９Ａに示す例において、第１のモデルおよび第２のモデルの各々において、検索時間ｔは、検索結果数ｘの線形の関数である。第１のモデルについての検索時間ｔ、すなわち、第１の検索実行時間Ｐ１は、検索結果数ｘに比例する。すなわち、第１のモデルを記述する線形の関数の切片は、０である。第２のモデルを記述する関数の傾きは、第１のモデルを記述する関数の傾きよりも小さい。第２のモデルを記述する関数の切片は、０よりも大きい。交差処理時間Ｔは、第１のモデルを記述する線形の関数を示す直線および第２のモデルを記述する線形の関数を示す直線が交差する点に対応する検索時間ｔである。図９Ａに示す例においては、待機可能時間Ｔ’は、交差処理時間Ｔよりも小さい。
【０１０８】
図９Ａに示す例において、第１の検索実行時間Ｐ１の予測値が待機可能時間Ｔ’以下である場合には、レコメンド出力部１２３は、第１の検索方法をレコメンドとして出力する。すなわち、レコメンド出力部１２３は、運営者端末５０に第１の検索方法を推奨する。それによって、レコメンド出力部１２３は、ＩＳＰの運営管理者等に第１の検索方法の実行を促す。
【０１０９】
第１の検索実行時間Ｐ１の予測値が待機可能時間Ｔ’以下でないが交差処理時間Ｔ以下である場合には、レコメンド出力部１２３は、第１の検索実行時間Ｐ１の予測値が待機可能時間Ｔ’以下でないことを運営者端末５０に通知する。さらに、レコメンド出力部１２３は、検索条件の再入力を促す通知または第１の検索実行時間Ｐ１の予測値および第２の検索実行時間Ｐ２の予測値の通知をレコメンドとして出力する。すなわち、レコメンド出力部１２３は、運営者端末５０に検索条件の再入力を通知するか、または、運営者端末５０に第１の検索実行時間Ｐ１の予測値および第２の検索実行時間Ｐ２の予測値を通知する。それによって、レコメンド出力部１２３は、運営者端末５０に検索条件の再入力を促すか、または、第１の検索方法または第２の検索方法の選択を促す。
【０１１０】
第１の検索実行時間Ｐ１の予測値が交差処理時間Ｔ以下でない場合には、レコメンド出力部１２３は、検索条件の再入力を促す通知または第２の検索方法をレコメンドとして出力する。すなわち、レコメンド出力部１２３は、運営者端末５０に検索条件の再入力を通知するか、または、第２の検索方法を推奨する。それによって、レコメンド出力部１２３は、運営者端末５０に検索条件の再入力を促すか、または第２の検索方法の実行を促す。
【０１１１】
図９Ｂは、レコメンド出力部１２３の動作の別の例を示す図である。図９Ｂは、交差処理時間Ｔが待機可能時間Ｔ’よりも小さい場合の例を示す。図９Ｂに示す例における第１のモデル、第２のモデルおよび交差処理時間Ｔは、それぞれ、図９Ａに示す例における第１のモデル、第２のモデルおよび交差処理時間Ｔと同一である。図９Ｂに示す例においては、交差処理時間Ｔは、待機可能時間Ｔ’よりも小さい。
【０１１２】
図９Ｂに示す例において、第１の検索実行時間Ｐ１の予測値が交差処理時間Ｔ以下である場合には、レコメンド出力部１２３は、第１の検索方法をレコメンドとして出力する。すなわち、レコメンド出力部１２３は、運営者端末５０に第１の検索方法を推奨する。それによって、レコメンド出力部１２３は、運営者端末５０に第１の検索方法の実行を促す。
【０１１３】
第１の検索実行時間Ｐ１の予測値が交差処理時間Ｔ以下でないが待機可能時間Ｔ’以下である場合には、レコメンド出力部１２３は、第１の検索実行時間Ｐ１の予測値および第２の検索実行時間Ｐ２の予測値の通知をレコメンドとして出力する。すなわち、レコメンド出力部１２３は、運営者端末５０に第１の検索実行時間Ｐ１の予測値および第２の検索実行時間Ｐ２の予測値を通知する。さらに、レコメンド出力部１２３は、第２の検索実行時間Ｐ２の予測値が第１の検索実行時間Ｐ１の予測値以下であることを運営者端末５０に通知する。それによって、レコメンド出力部１２３は、運営者端末５０に第１の検索方法または第２の検索方法の選択を促す。
【０１１４】
第１の検索実行時間Ｐ１の予測値が待機可能時間Ｔ’以下でない場合には、レコメンド出力部１２３は、検索条件の再入力を促す通知または第２の検索方法をレコメンドとして出力する。すなわち、レコメンド出力部１２３は、運営者端末５０に検索条件の再入力を通知するか、または、第２の検索方法を推奨する。それによって、レコメンド出力部１２３は、運営者端末５０に検索条件の再入力を促すか、または第２の検索方法の実行を促す。
【０１１５】
検索条件逆算部１２４は、第１の検索実行時間が待機可能時間以下でない場合、第１の検索実行時間が待機可能時間以下となる検索条件を逆算する。この場合には、レコメンド出力部１２３は、検索条件逆算部１２４により逆算された検索条件をレコメンドとして出力する。
【０１１６】
検索条件逆算部１２４は、検索時間予測部１２２から出力された第１の検索実行時間Ｐ１の予測値、設定ファイル１１１に記憶された設定情報および検索条件受付部１２１から出力された待機可能時間Ｔ’を取得する。例えば、検索条件逆算部１２４は、第１の検索実行時間Ｐ１の予測値が交差処理時間Ｔ以下であるが待機可能時間Ｔ’以下でない場合に、第１の検索実行時間Ｐ１の予測値が待機可能時間Ｔ’以下であるような検索期間ｔ’の条件を算出する。
【０１１７】
検索条件逆算部１２４は、第１の検索実行時間Ｐ１の予測値、設定情報および待機可能時間Ｔ’に基づいて、第１の検索実行時間Ｐ１の予測値が待機可能時間Ｔ’であるような検索結果数ｘ（Ｔ’）を算出する。すなわち、検索条件逆算部１２４は、第１のモデルにおいて、待機可能時間Ｔ’に対応する検索結果数ｘ（Ｔ’）を算出する。例えば、第１のモデルが上述したようなＰ１＝ａ１×ｘ＋ｂ１で表される直線である場合には、待機可能時間Ｔ’に対応する検索結果数ｘ（Ｔ’）は、ｘ（Ｔ’）＝（Ｔ’−ｂ１）／ａ１によって表される。例えば、第１のモデルが上述したようなＰ１＝ｘで表されると共に待機可能時間Ｔ’が１０秒である場合には、待機可能時間Ｔ’に対応する検索結果数ｘ（Ｔ’）は、予測ヒットログ量（ｘ）＝（１０−０）÷１の計算により、１０件と求まる。
【０１１８】
検索条件逆算部１２４は、設定情報および待機可能時間Ｔ’に対応する検索結果数ｘ（Ｔ’）に基づいて、検索結果数ｘが、待機可能時間Ｔ’に対応する検索結果数ｘ（Ｔ’）以下である、すなわち、ｘ≦ｘ（Ｔ’）の関係を満たすような、検索期間ｔ’の条件を算出する。例えば、検索結果数ｘおよび検索期間ｔ’が、上述したような検索結果数ｘ＝平均ログ記憶速度Ｙ×検索期間ｔ’×認証ＩＤ重みｗａの関係を満たす場合には、ｘ≦ｘ（Ｔ’）の関係を満たすような検索期間ｔ’の条件は、ｔ’≦（待機可能時間Ｔ’に対応する検索結果数ｘ（Ｔ’））／（平均ログ記憶速度Ｙ×認証ＩＤ重みｗａ）である。例えば、上述したような、待機可能時間Ｔ’に対応する検索結果数ｘ（Ｔ’）＝１０、検索結果数Ｙ＝１０，０００／秒、および認証ＩＤ重みｗａ＝１／１０００００００の場合には、ｘ≦ｘ（Ｔ’）の関係を満たすような検索期間ｔ’の条件は、１０／（１００００×１０−７×１）の計算により、ｔ’≦１００００秒（＝２時間４６分４０秒）と求まる。
【０１１９】
検索条件逆算部１２４は、第１の検索実行時間Ｐ１の予測値が待機可能時間Ｔ’以下であるような検索期間ｔ’の条件をレコメンド出力部１２３に出力する。レコメンド出力部１２３は、第１の検索実行時間Ｐ１の予測値が待機可能時間Ｔ’以下であるような検索期間ｔ’の条件をレコメンドとして出力する。例えば、レコメンド出力部１２３は、上述したようなｔ’≦（待機可能時間Ｔ’に対応する検索結果数ｘ（Ｔ’））／（平均ログ記憶速度Ｙ×認証ＩＤ重みｗａ）の条件を出力する。例えば、レコメンド出力部１２３は、上述したようなｔ’≦１００００秒を出力する。レコメンド出力部１２３は、上記の検索期間ｔ’の条件を満たす場合に第１の検索方法に従ったログ検索が待機可能時間Ｔ’以内に完了することが期待されることを通知するようにしてもよい。それによって、レコメンド出力部１２３は、運営者端末５０に検索条件における検索期間ｔ’の変更を促す。
【０１２０】
検索方法選択部１２５は、第１の検索方法または第２の検索方法のいずれかを選択する。検索方法選択部１２５は、運営者端末５０によって入力される第１の検索方法または第２の検索方法の選択を受け付けるように構成されてもよい。レコメンド出力部１２３が第１の検索方法をレコメンドとして出力する場合には、検索方法選択部１２５は、レコメンド出力部１２３からの第１の検索方法のレコメンドを取得すると共に第１の検索方法を自動的に選択するように構成されてもよい。レコメンド出力部１２３が第２の検索方法をレコメンドとして出力する場合には、検索方法選択部１２５は、レコメンド出力部１２３からの第２の検索方法のレコメンドを取得すると共に第２の検索方法を自動的に選択するように構成されてもよい。
【０１２１】
検索方法選択部１２５は、選択された検索方法に従ったログ検索を検索エンジンに実行させる。第１の検索方法が選択された場合には、検索方法選択部１２５は、第１の検索方法に従ったログ検索を検索システム２００に実行させる。第２の検索方法が選択された場合には、検索方法選択部１２５は、第２の検索方法に従ったログ検索を検索システム３００に実行させる。
【０１２２】
検索結果出力部１２６は、検索エンジンによって実行されたログ検索の結果を検索エンジンから取得する。検索結果出力部１２６は、検索エンジンによって実行されたログ検索の結果を出力する。検索結果出力部１２６は、検索エンジンによって実行されたログ検索の結果を不図示の表示デバイスに表示させる。第１の検索方法に従ったログ検索が検索システム２００によって実行された場合には、検索結果出力部１２６は、検索システム２００によって実行されたログ検索の結果を出力する。第２の検索方法に従ったログ検索が検索システム３００によって実行された場合には、検索結果出力部１２６は、検索システム３００によって実行されたログ検索の結果を出力する。
【０１２３】
検索結果出力部１２６は、検索エンジンによって実行されたログ検索に要した時間を測定する。検索結果出力部１２６は、検索エンジンによって実行されたログ検索に要した時間を出力する。検索結果出力部１２６は、検索エンジンによって実行されたログ検索に要した時間を検索履歴テーブル１１２に記憶する。第１の検索方法に従ったログ検索が検索システム２００によって実行された場合には、検索結果出力部１２６は、検索システム２００によって実行されたログ検索に要した時間を検索履歴テーブル１１２における［実測値Ｍ１［秒］］に記憶する。検索システム２００によって実行されたログ検索に要した時間は、第１の検索実行時間の実測値である。第２の検索方法に従ったログ検索が検索システム３００によって実行された場合には、検索結果出力部１２６は、検索システム３００によって実行されたログ検索に要した時間を検索履歴テーブル１１２における［実測値Ｍ２［秒］］に記憶する。検索システム３００によって実行されたログ検索に要した時間は、第２の検索実行時間の実測値である。
【０１２４】
検索結果出力部１２６は、検索エンジンによって実行されたログ検索の回数をインクリメントする。検索結果出力部１２６は、検索エンジンによって実行されたログ検索に従って検索履歴テーブル１１２における「検索方法実行カウンタ」の値をインクリメントする。第１の検索方法に従ったログ検索が検索システム２００によって実行された場合には、検索結果出力部１２６は、検索履歴テーブル１１２における「第１の検索方法実行数ａ」の値をインクリメントする。第２の検索方法に従ったログ検索が検索システム３００によって実行された場合には、検索結果出力部１２６は、検索履歴テーブル１１２における「第２の検索方法実行数ｂ」の値をインクリメントする。
【０１２５】
予測値更新部１２７は、検索時間の実測値に基づいて検索時間の予測値を更新する。予測値更新部１２７は、設定ファイル１１１に記憶された設定情報および検索履歴テーブル１１２に記憶された情報を取得する。予測値更新部１２７は、設定情報および検索履歴テーブル１１２に記憶された情報に基づいて、検索時間の予測値を更新する。例えば、予測値更新部１２７は、検索時間の予測値と検索時間の実測値との間の差分に基づいて、検索時間の予測値を更新する、すなわち、検索時間の予測値の更新値を算出する。
【０１２６】
例えば、予測値更新部１２７は、第１の検索実行時間Ｐ１の予測値の更新値＝第１の検索実行時間Ｐ１の予測値＋実測値の重みｗＭ／（第１の検索方法の実行回数＋第２の検索方法の実行回数）×（第１の検索実行時間Ｐ１の実測値−第１の検索実行時間Ｐ１の予測値）の式に従って、第１の検索実行時間Ｐ１の予測値の更新値を算出する。
【０１２７】
例えば、予測値更新部１２７は、第２の検索実行時間Ｐ２の予測値の更新値＝第２の検索実行時間Ｐ２の予測値＋実測値の重みｗＭ／（第１の検索方法の実行回数＋第２の検索方法の実行回数）×（第２の検索実行時間Ｐ２の実測値−第２の検索実行時間Ｐ２の予測値）の式に従って、第２の検索実行時間Ｐ２の予測値の更新値を算出する。
【０１２８】
第１の検索実行時間Ｐ１の予測値、第２の検索実行時間Ｐ２の予測値、第２の検索実行時間Ｐ２の実測値、第１の検索実行時間Ｐ１の実測値、第１の検索方法の実行回数および第２の検索方法の実行回数は、それぞれ、検索履歴テーブル１１２に記憶された「予測値Ｐ１［秒］」、「予測値Ｐ２［秒］」、「実測値Ｍ１［秒］」、「実測値Ｍ２［秒］」、「第１の検索方法実行数ａ」および「第２の検索方法実行数ｂ」である。
【０１２９】
実測値の重みｗＭは、設定ファイル１１１に記憶された情報である。実測値の重みｗＭは、検索時間の予測値に対して加えられる、検索時間の予測値と検索時間の実測値との間の差分についての係数である。実測値の重みｗＭは、例えば、１／４である。
【０１３０】
例えば、実測値の重みｗＭ＝１／４および図８に示す検索履歴テーブル１１２に記憶された予測値Ｐ１［秒］＝３６、実測値Ｍ１［秒］＝３０、第１の検索方法実行数ａ＝１および第２の検索方法実行数ｂ＝０について、第１の検索実行時間Ｐ１の予測値の更新値は、３４．５秒である。
【０１３１】
予測値更新部１２７は、検索履歴テーブル１１２における「予測値Ｐ１［秒］」に第１の検索実行時間Ｐ１の予測値の更新値を記憶する。予測値更新部１２７は、検索履歴テーブル１１２における「予測値Ｐ２［秒］」に第２の検索実行時間Ｐ２の予測値の更新値を記憶する。
【０１３２】
図１０は、実施例に係るデータ処理方法の手順を示すフローチャートである。
【０１３３】
ステップＳ１０１において、検索管理装置１００は、運営者端末５０から検索条件および待機可能時間を受け付ける。
【０１３４】
ステップＳ１０２において、検索管理装置１００は、運営者端末５０からログ検索の実行の命令を受け付ける。
【０１３５】
ステップＳ１０３において、検索管理装置１００は、検索履歴テーブル１１２に同一または類似の検索条件があるか否かを判定する。検索履歴テーブル１１２に同一または類似の検索条件がある場合（ステップＳ１０３，Ｙｅｓ）には、検索管理装置１００は、ステップＳ１０４へ進む。検索履歴テーブル１１２に同一または類似の検索条件がない場合（ステップＳ１０３，Ｎｏ）には、検索管理装置１００は、ステップＳ１０５へ進む。
【０１３６】
ステップＳ１０４において、検索管理装置１００は、第１の検索実行時間Ｐ１を予測する。
【０１３７】
ステップＳ１０５において、検索管理装置１００は、検索条件を検索履歴テーブル１１２に記憶し、設定情報および検索条件から検索結果数を予測する。
【０１３８】
ステップＳ１０６において、検索管理装置１００は、検索方法選択処理のサブルーチンを実行する。検索方法選択処理のサブルーチンについては後述する。
【０１３９】
ステップＳ１０７において、検索管理装置１００は、第１の検索方法に従ったログ検索を検索システム２００に実行させるか、または第２の検索方法に従ったログ検索を検索システム３００に実行させる。それに応じて、検索管理装置１００は、第１の検索方法に従って実行されたログ検索または第２の検索方法に従って実行されたログ検索の結果を出力する。
【０１４０】
ステップＳ１０８において、検索管理装置１００は、第１の検索実行時間Ｐ１の実測値または第２の検索実行時間Ｐ２の実測値を検索履歴テーブル１１２に記憶する。
【０１４１】
ステップＳ１０９において、検索管理装置１００は、第１の検索実行時間Ｐ１の予測値または第２の検索実行時間Ｐ２の予測値を更新する。
【０１４２】
図１１は、検索方法選択処理の手順を示すフローチャートである。図１１は、図１０に示された検索方法選択処理のサブルーチンの手順を示す。
【０１４３】
ステップＳ２０１において、検索管理装置１００は、第１の検索実行時間Ｐ１の予測値が待機可能時間Ｔ’以下であるか否かを判定する。第１の検索実行時間Ｐ１の予測値が待機可能時間Ｔ’以下である場合（ステップＳ２０１，Ｙｅｓ）には、検索管理装置１００は、ステップＳ２０２へ進む。第１の検索実行時間Ｐ１の予測値が待機可能時間Ｔ’以下でない場合（ステップＳ２０１，Ｎｏ）には、検索管理装置１００は、ステップＳ２０３へ進む。
【０１４４】
ステップＳ２０２において、検索管理装置１００は、第１の検索実行時間Ｐ１の予測値が交差処理時間Ｔ以下であるか否かを判定する。第１の検索実行時間Ｐ１の予測値が交差処理時間Ｔ以下である場合（ステップＳ２０２，Ｙｅｓ）には、検索管理装置１００は、ステップＳ２０４へ進む。第１の検索実行時間Ｐ１の予測値が交差処理時間Ｔ以下でない場合（ステップＳ２０２，Ｎｏ）には、検索管理装置１００は、ステップＳ２０５へ進む。
【０１４５】
ステップＳ２０３において、検索管理装置１００は、第１の検索実行時間Ｐ１の予測値が交差処理時間Ｔ以下であるか否かを判定する。第１の検索実行時間Ｐ１の予測値が交差処理時間Ｔ以下である場合（ステップＳ２０３，Ｙｅｓ）には、検索管理装置１００は、ステップＳ２０７へ進む。第１の検索実行時間Ｐ１の予測値が交差処理時間Ｔ以下でない場合（ステップＳ２０３，Ｎｏ）には、検索管理装置１００は、ステップＳ２０８へ進む。
【０１４６】
ステップＳ２０４において、検索管理装置１００は、第１の検索方法に従ったログ検索を検索システム２００に実行させる。
【０１４７】
ステップＳ２０５において、検索管理装置１００は、第１の検索方法を第２の検索方法に変更するか否かを判定する。検索管理装置１００は、第１の検索実行時間Ｐ１の予測値および第２の検索実行時間Ｐ２の予測値を運営者端末５０に通知すると共に第１の検索実行時間Ｐ１の予測値が第２の検索実行時間Ｐ２の予測値以上であることを運営者端末５０に通知する。第１の検索方法を第２の検索方法に変更する場合（ステップＳ２０５，Ｙｅｓ）には、検索管理装置１００は、ステップＳ２０６へ進む。第１の検索方法を第２の検索方法に変更しない場合（ステップＳ２０５，Ｎｏ）には、検索管理装置１００は、ステップＳ２０４へ進む。
【０１４８】
ステップＳ２０６において、検索管理装置１００は、第２の検索方法に従ったログ検索を検索システム３００に実行させる。
【０１４９】
ステップＳ２０７において、検索管理装置１００は、検索条件を再入力するか否かを判定する。検索管理装置１００は、第１の検索実行時間Ｐ１の予測値が待機可能時間Ｔ’以下でないことを運営者端末５０に通知する。検索管理装置１００は、第１の検索実行時間Ｐ１の予測値が待機可能時間Ｔ’以下であるような検索条件をレコメンドとして出力する。検索条件を再入力する場合（ステップＳ２０７，Ｙｅｓ）には、検索管理装置１００は、ステップＳ２０９へ進む。検索条件を再入力しない場合（ステップＳ２０７，Ｎｏ）には、検索管理装置１００は、ステップＳ２１０へ進む。
【０１５０】
ステップＳ２０８において、検索管理装置１００は、検索条件を再入力するか否かを判定する。検索条件を再入力する場合（ステップＳ２０８，Ｙｅｓ）には、検索管理装置１００は、ステップＳ２０９へ進む。検索条件を再入力しない場合（ステップＳ２０８，Ｎｏ）には、検索管理装置１００は、ステップＳ２１３へ進む。
【０１５１】
ステップＳ２０９において、検索管理装置１００は、検索条件の受付へ戻る。
【０１５２】
ステップＳ２１０において、検索管理装置１００は、第１の検索方法を第２の検索方法に変更するか否かを判定する。検索管理装置１００は、第１の検索実行時間Ｐ１の予測値のみ、または第１の検索実行時間Ｐ１の予測値および第２の検索実行時間Ｐ２の予測値の両方を運営者端末５０に通知する。第１の検索方法を第２の検索方法に変更する場合（ステップＳ２１０，Ｙｅｓ）には、検索管理装置１００は、ステップＳ２１１へ進む。第１の検索方法を第２の検索方法に変更しない場合（ステップＳ２１０，Ｎｏ）には、検索管理装置１００は、ステップＳ２１２へ進む。
【０１５３】
ステップＳ２１１において、検索管理装置１００は、第２の検索方法に従ったログ検索を検索システム３００に実行させる。
【０１５４】
ステップＳ２１２において、検索管理装置１００は、第１の検索方法に従ったログ検索を検索システム２００に実行させる。
【０１５５】
ステップＳ２１３において、検索管理装置１００は、第２の検索方法に従ったログ検索を検索システム３００に実行させる。
【０１５６】
［効果の一側面］
上述してきたように、検索管理装置１００は、検索条件の指定を受け付ける検索条件受付部１２１と、指定を受け付けた検索条件から予測される検索結果数に基づいて、検索結果数に対する検索時間の変化の第１のモデルが定義された第１の検索方法により検索が実行される第１の検索実行時間を予測する検索時間予測部１２２と、第１の検索方法、および、第１のモデルとの間で検索時間が交差する交差処理時間の前で第１のモデルよりも検索時間が長く、かつ交差処理時間の後で第１のモデルよりも検索時間が短い第２のモデルが定義された第２の検索方法のうちいずれかを、第１の検索実行時間および交差処理時間に基づいて、検索条件が指定された検索に関するレコメンドとして出力するレコメンド出力部１２３と、を有する。よって、検索管理装置１００は、検索ニーズに合う検索エンジンの選択を支援することができる。
【０１５７】
また、レコメンド出力部１２３は、第１の検索実行時間が交差処理時間以下である場合に第１の検索方法をレコメンドとして出力し、第１の検索実行時間が交差処理時間以下でない場合に第２の検索方法をレコメンドとして出力する。よって、検索管理装置１００は、第１の検索実行時間が交差処理時間以下であるか否かに基づいて、検索ニーズに合う検索エンジンの選択を支援することができる。
【０１５８】
また、検索条件受付部１２１は、検索条件の指定と共に、検索条件が指定された検索が終了するまでに待機できる待機可能時間をさらに受け付け、レコメンド出力部１２３は、第１の検索実行時間と、交差処理時間と、待機可能時間とに基づいて、レコメンドを出力する。よって、検索管理装置１００は、第１の検索実行時間および交差処理時間のみならず待機可能時間に基づいて、検索ニーズに合う検索エンジンの選択を支援することができる。
【０１５９】
さらに、レコメンド出力部１２３は、第１の検索実行時間が待機可能時間以下でない場合、検索条件の再入力を促す通知、または、第１の検索実行時間および第２の検索方法により検索が実行される第２の検索実行時間の通知のいずれかをレコメンドとして出力する。よって、検索管理装置１００は、検索条件の再入力を促す通知または第１の検索実行時間および第２の検索実行時間の通知を出力することによって、検索ニーズに合う検索エンジンの選択を支援することができる。
【０１６０】
さらに、検索管理装置１００は、第１の検索実行時間が交差処理時間以下であり、かつ待機可能時間以下でない場合、第１の検索実行時間が待機可能時間以下となる検索条件を逆算する検索条件逆算部１２４をさらに有し、レコメンド出力部１２３は、検索条件逆算部１２４により逆算された検索条件をレコメンドとして出力する。よって、検索管理装置１００は、第１の検索実行時間が待機可能時間以下となる検索条件を出力することによって、検索ニーズに合う検索エンジンの選択を支援することができる。
【０１６１】
なお、開示の装置に関する実施例について説明してきたが、本発明は、上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
【０１６２】
［分散および統合］
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されておらずともよい。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、検索条件受付部１２１、検索時間予測部１２２、レコメンド出力部１２３、検索条件逆算部１２４、検索方法選択部１２５、検索結果出力部１２６または予測値更新部１２７を検索管理装置１００の外部装置としてネットワーク経由で接続するようにしてもよい。また、検索条件受付部１２１、検索時間予測部１２２、レコメンド出力部１２３、検索条件逆算部１２４、検索方法選択部１２５、検索結果出力部１２６または予測値更新部１２７を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の検索管理装置１００の機能を実現するようにしてもよい。
【０１６３】
［データ処理プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１２を用いて、上記の実施例と同様の機能を有するデータ処理プログラムを実行するコンピュータの一例について説明する。
【０１６４】
図１２は、実施例に係るデータ処理プログラムを実行するコンピュータのハードウェア構成例を示す図である。図１２に示すように、コンピュータ４００は、操作部４１０ａと、スピーカ４１０ｂと、カメラ４１０ｃと、ディスプレイ４２０と、通信部４３０とを有する。さらに、このコンピュータ４００は、ＣＰＵ４５０と、ＲＯＭ４６０と、ＨＤＤ４７０と、ＲＡＭ４８０とを有する。これら４１０ａ〜４８０の各部はバス４４０を介して接続される。
【０１６５】
ＨＤＤ４７０には、図１２に示すように、上記の実施例で示した検索条件受付部１２１、検索時間予測部１２２、レコメンド出力部１２３、検索条件逆算部１２４、検索方法選択部１２５、検索結果出力部１２６および予測値更新部１２７と同様の機能を発揮するデータ処理プログラム４７０ａが記憶される。このデータ処理プログラム４７０ａは、図５に示した検索条件受付部１２１、検索時間予測部１２２、レコメンド出力部１２３、検索条件逆算部１２４、検索方法選択部１２５、検索結果出力部１２６および予測値更新部１２７の各構成要素と同様、統合又は分離してもかまわない。すなわち、ＨＤＤ４７０には、必ずしも上記の実施例で示した全てのデータが格納されずともよく、処理に用いるデータがＨＤＤ４７０に格納されればよい。
【０１６６】
このような環境の下、ＣＰＵ４５０は、ＨＤＤ４７０からデータ処理プログラム４７０ａを読み出した上でＲＡＭ４８０へ展開する。この結果、データ処理プログラム４７０ａは、図１２に示すように、データ処理プロセス４８０ａとして機能する。このデータ処理プロセス４８０ａは、ＲＡＭ４８０が有する記憶領域のうちデータ処理プロセス４８０ａに割り当てられた領域にＨＤＤ４７０から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、データ処理プロセス４８０ａが実行する処理の一例として、図１０および図１１に示す処理などが含まれる。なお、ＣＰＵ４５０では、必ずしも上記の実施例で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
【０１６７】
なお、上記のデータ処理プログラム４７０ａは、必ずしも最初からＨＤＤ４７０やＲＯＭ４６０に記憶されておらずともかまわない。例えば、コンピュータ４００に挿入されるフレキシブルディスク、いわゆるＦＤ、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にデータ処理プログラム４７０ａを記憶させる。そして、コンピュータ４００がこれらの可搬用の物理媒体からデータ処理プログラム４７０ａを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ４００に接続される他のコンピュータまたはサーバ装置などにデータ処理プログラム４７０ａを記憶させておき、コンピュータ４００がこれらからデータ処理プログラム４７０ａを取得して実行するようにしてもよい。
【０１６８】
以上の実施形態に関し、さらに以下の付記を開示する。
【０１６９】
（付記１）検索条件を受け付ける受付部と、
受け付けた前記検索条件から予測される検索結果数に基づいて、検索結果数に対する検索時間が第１のモデルとして定義された第１の検索方法により検索が実行される第１の検索時間を予測する予測部と、
前記第１の検索方法、および、検索結果数に対する検索時間が前記第１のモデルと同一である第２の検索時間の前の第３の検索時間では検索結果数が前記第１のモデルの前記第３の検索時間に対応する検索結果数より小で、前記第２の検索時間の後の第４の検索時間では検索結果数が前記第１のモデルの前記第４の検索時間に対応する検索結果数より大である第２のモデルが定義された第２の検索方法のうちいずれかを、前記第１の検索時間および前記第２の検索時間に基づいて、出力する出力部と、
を有することを特徴とするデータ処理装置。
【０１７０】
（付記２）前記出力部は、前記第１の検索時間が前記第２の検索時間以下である場合に前記第１の検索方法を出力し、前記第１の検索時間が前記第２の検索時間以下でない場合に前記第２の検索方法を出力することを特徴とする付記１に記載のデータ処理装置。
【０１７１】
（付記３）前記受付部は、前記検索条件を受け付けると共に、前記検索条件に関する検索が終了するまでに待機できる待機可能時間をさらに受け付け、
前記出力部は、前記第１の検索時間と、前記第２の検索時間と、前記待機可能時間とに基づいて、前記第１の検索方法および前記第２の検索方法のうちいずれかを出力することを特徴とする付記１または２に記載のデータ処理装置。
【０１７２】
（付記４）前記出力部は、前記第１の検索時間が前記待機可能時間以下でない場合、前記検索条件の再入力を促す通知、または、前記第１の検索時間および前記第２の検索方法により検索が実行される第５の検索時間の通知のいずれかを出力することを特徴とする付記３に記載のデータ処理装置。
【０１７３】
（付記５）前記第１の検索時間が前記待機可能時間以下でない場合、前記第１の検索時間が前記待機可能時間以下となる検索条件を逆算する逆算部をさらに有し、
前記出力部は、前記逆算部により逆算された検索条件を出力することを特徴とする付記３に記載のデータ処理装置。
【０１７４】
（付記６）検索条件を受け付け、
受け付けた前記検索条件から予測される検索結果数に基づいて、検索結果数に対する検索時間が第１のモデルとして定義された第１の検索方法により検索が実行される第１の検索時間を予測し、
前記第１の検索方法、および、検索結果数に対する検索時間が前記第１のモデルと同一である第２の検索時間の前の第３の検索時間では検索結果数が前記第１のモデルの前記第３の検索時間に対応する検索結果数より小で、前記第２の検索時間の後の第４の検索時間では検索結果数が前記第１のモデルの前記第４の検索時間に対応する検索結果数より大である第２のモデルが定義された第２の検索方法のうちいずれかを、前記第１の検索時間および前記第２の検索時間に基づいて、出力する、
処理をコンピュータが実行することを特徴とするデータ処理方法。
【０１７５】
（付記７）前記出力する処理は、前記第１の検索時間が前記第２の検索時間以下である場合に前記第１の検索方法を出力し、前記第１の検索時間が前記第２の検索時間以下でない場合に前記第２の検索方法を出力することを特徴とする付記６に記載のデータ処理方法。
【０１７６】
（付記８）前記受け付ける処理は、前記検索条件を受け付けると共に、前記検索条件に関する検索が終了するまでに待機できる待機可能時間をさらに受け付け、
前記出力する処理は、前記第１の検索時間と、前記第２の検索時間と、前記待機可能時間とに基づいて、前記第１の検索方法および前記第２の検索方法のうちいずれかを出力することを特徴とする付記６または７に記載のデータ処理方法。
【０１７７】
（付記９）前記出力する処理は、前記第１の検索時間が前記待機可能時間以下でない場合、前記検索条件の再入力を促す通知、または、前記第１の検索時間および前記第２の検索方法により検索が実行される第５の検索時間の通知のいずれかを出力することを特徴とする付記８に記載のデータ処理方法。
【０１７８】
（付記１０）前記第１の検索時間が前記待機可能時間以下でない場合、前記第１の検索時間が前記待機可能時間以下となる検索条件を逆算する処理を前記コンピュータがさらに実行し、
前記出力する処理は、前記逆算部により逆算された検索条件を出力することを特徴とする付記８に記載のデータ処理方法。
【０１７９】
（付記１１）検索条件を受け付け、
受け付けた前記検索条件から予測される検索結果数に基づいて、検索結果数に対する検索時間が第１のモデルとして定義された第１の検索方法により検索が実行される第１の検索時間を予測し、
前記第１の検索方法、および、検索結果数に対する検索時間が前記第１のモデルと同一である第２の検索時間の前の第３の検索時間では検索結果数が前記第１のモデルの前記第３の検索時間に対応する検索結果数より小で、前記第２の検索時間の後の第４の検索時間では検索結果数が前記第１のモデルの前記第４の検索時間に対応する検索結果数より大である第２のモデルが定義された第２の検索方法のうちいずれかを、前記第１の検索時間および前記第２の検索時間に基づいて、出力する、
処理をコンピュータに実行させるデータ処理プログラムが記録されたコンピュータ読み取り可能な記録媒体。
【０１８０】
（付記１２）前記出力する処理は、前記第１の検索時間が前記第２の検索時間以下である場合に前記第１の検索方法を出力し、前記第１の検索時間が前記第２の検索時間以下でない場合に前記第２の検索方法を出力することを特徴とする付記１１に記載のコンピュータ読み取り可能な記録媒体。
【０１８１】
（付記１３）前記受け付ける処理は、前記検索条件を受け付けると共に、前記検索条件に関する検索が終了するまでに待機できる待機可能時間をさらに受け付け、
前記出力する処理は、前記第１の検索時間と、前記第２の検索時間と、前記待機可能時間とに基づいて、前記第１の検索方法および前記第２の検索方法のうちいずれかを出力することを特徴とする付記１１または１２に記載のコンピュータ読み取り可能な記録媒体。
【０１８２】
（付記１４）前記出力する処理は、前記第１の検索時間が前記待機可能時間以下でない場合、前記検索条件の再入力を促す通知、または、前記第１の検索時間および前記第２の検索方法により検索が実行される第５の検索時間の通知のいずれかを出力することを特徴とする付記１３に記載のコンピュータ読み取り可能な記録媒体。
【０１８３】
（付記１５）前記第１の検索時間が前記待機可能時間以下でない場合、前記第１の検索時間が前記待機可能時間以下となる検索条件を逆算する処理を前記コンピュータにさらに実行させ、
前記出力する処理は、前記逆算部により逆算された検索条件を出力することを特徴とする付記１３に記載のコンピュータ読み取り可能な記録媒体。
【符号の説明】
【０１８４】
１０  ユーザ端末
２０  認証クライアント
３０  認証サーバ
４０  ストレージ
４１  ログデータ
１００  検索管理装置
１１０  記憶部
１１１  設定ファイル
１１２  検索履歴テーブル
１２０  制御部
１２１  検索条件受付部
１２２  検索時間予測部
１２３  レコメンド出力部
１２４  検索条件逆算部
１２５  検索方法選択部
１２６  検索結果出力部
１２７  予測値更新部
２００  検索システム
２１０  実データ記憶部
２２０  インデックス作成部
２３０−１〜２３０−ｎ  第１のインデックス記憶部〜第ｎのインデックス記憶部
２４０  検索実行部
３００  検索システム
３１０  管理装置
３１１  データ振り分け部
３１２  検索実行部
３２０−１〜３２０−ｍ  第１の検索装置〜第ｍの検索装置
３２１−１〜３２１−ｍ  第１の実データ記憶部〜第ｍの実データ記憶部
【図１】
2019012368.tif 000003
【図２】
2019012368.tif 000004
【図３Ａ】
2019012368.tif 000005
【図３Ｂ】
2019012368.tif 000006
【図４Ａ】
2019012368.tif 000007
【図４Ｂ】
2019012368.tif 000008
【図５】
2019012368.tif 000009
【図６】
2019012368.tif 000010
【図７】
2019012368.tif 000011
【図８】
2019012368.tif 000012
【図９Ａ】
2019012368.tif 000013
【図９Ｂ】
2019012368.tif 000014
【図１０】
2019012368.tif 000015
【図１１】
2019012368.tif 000016
【図１２】
2019012368.tif 000017