(57)【要約】  検索装置（１００）は、検索者（Ｓ）から、クエリにかかる検索をデータベース（２２）に対して実行すべき旨の指示を受け付けると、当該クエリにかかる検索を実行し、当該検索の結果を検索者（Ｓ）に提示するとともに、当該検索に要した資源量を検索にかかるクエリに対応付けて記録する。促進部（１１）は、検索者（Ｓ）に、検索済みの第１クエリを初期値とする第２クエリの修正を促す。推定部（１２）は、第２クエリが修正されると、第１クエリと修正された第２クエリとの差異と、第１クエリにかかる検索に要した資源量と、に基づいて、修正された第２クエリにかかる検索に要する資源量を推定する。提示部（１３）は、推定された資源量を提示する。実行部（１４）は、検索者（Ｓ）から、修正を完了させる旨の指示を受け付けると、修正された第２クエリにかかる検索を実行すべき旨の指示が受け付けられたとみなす。
2017163415.tif 000002
【特許請求の範囲】
【請求項１】
検索者から、クエリにかかる検索をデータベースに対して実行すべき旨の指示を受け付けると、当該クエリにかかる検索を実行し、当該検索の結果を前記検索者に提示するとともに、当該検索に要した資源量を前記検索にかかるクエリに対応付けて記録する検索装置であって、
前記検索者に、検索済みの第１クエリを初期値とする第２クエリの修正を促す促進部、
前記第２クエリが修正されると、前記第１クエリと前記修正された第２クエリとの差異と、前記第１クエリにかかる検索に要した資源量と、に基づいて、前記修正された第２クエリにかかる検索に要する資源量を推定する推定部、
前記推定された資源量を提示する提示部、
前記検索者から、前記修正を完了させる旨の指示を受け付けると、前記修正された第２クエリにかかる検索を実行すべき旨の指示が受け付けられたとみなす実行部、
を備えることを特徴とする検索装置。
【請求項２】
前記推定部は、前記データベースにおける前記第１クエリが示す検索対象となった期間を示す第１期間の長さと、前記データベースにおける前記第２クエリが示す検索対象となる期間を示す第２期間の長さと、の比と、前記第１クエリにかかる検索に要した資源量とに基づいて、前記第２クエリにかかる検索に要する資源量を推定する、
ことを特徴とする請求項１に記載の検索装置。
【請求項３】
前記推定部は、
第nクエリ（n>2）が、検索済みの第（n-1）クエリの期間条件のみを修正されたものであり、かつ、n>m>1である任意の整数mにおいて、第mクエリが、検索済みの第（m-1）クエリの期間条件のみを修正されたものである場合、
前記第１クエリから前記第（n-1）クエリまでの各クエリにかかる検索に要した資源量を分析することにより、前記第nクエリにかかる検索に要する資源量を推定する、
ことを特徴とする請求項１に記載の検索装置。
【請求項４】
前記推定部は、前記修正された第２クエリにかかる検索が実行可能となるまでの待ち時間を推定し、
前記提示部は、前記推定された待ち時間に、前記推定された資源量に含まれる前記修正された第２クエリにかかる検索の所要時間を加算した時間に基づいて、前記修正された第２クエリにかかる検索が完了までに要する時間、または、前記修正された第２クエリにかかる検索が完了する時刻を提示する、
ことを特徴とする請求項１から３のいずれか１項に記載の検索装置。
【請求項５】
前記提示部は、前記第１クエリの期間条件、および、前記第mクエリで表されるクエリの期間条件との対比において、前記第nクエリの期間条件があらかじめ定められた関係にない場合、前記検索者に前記第nクエリの期間条件を見直すよう警告する、
ことを特徴とする請求項３に記載の検索装置。
【請求項６】
前記提示部は、前記推定された資源量があらかじめ定められた範囲内にない場合、前記検索者への警告を表示する、
ことを特徴とする請求項１から５のいずれか１項に記載の検索装置。
【請求項７】
前記実行部は、前記修正された第２クエリにかかる検索が終了すると、前記検索者に当該検索が終了したことを通知する、
ことを特徴とする請求項１から６のいずれか１項に記載の検索装置。
【請求項８】
前記推定部は、前記第２クエリが修正されると、前記第１クエリと前記修正された第２クエリとの類似度を算出し、当該算出された類似度があらかじめ定められた条件を満たすことを条件に、前記修正された第２クエリにかかる検索に要する資源量を推定する、
ことを特徴とする請求項１から７のいずれか１項に記載の検索装置。
【請求項９】
データベースを検索するクエリを検索者から受け付け、当該クエリにかかる検索を実行し、当該検索の結果を前記検索者に提示するとともに、当該検索に要した資源量を前記検索にかかるクエリに対応付けて記録する検索装置による検索方法であって、
前記検索装置が、前記検索者に、検索済みの第１クエリを初期値とし、第２クエリの修正を促す促進ステップ、
前記検索装置が、前記第２クエリが修正されると、前記第１クエリと前記修正された第２クエリとの差異と、前記第１クエリにかかる検索に要した資源量と、に基づいて、前記修正された第２クエリにかかる検索に要する資源量を推定する推定ステップ、
前記検索装置が、前記推定された資源量を提示する提示ステップ、
前記検索装置が、前記検索者から、前記修正を完了させる旨の指示を受け付けると、前記修正された第２クエリにかかる検索を実行すべき旨の指示が受け付けられたとみなす実行ステップ、
を備えることを特徴とする検索方法。
【請求項１０】
データベースを検索するクエリを検索者から受け付け、当該クエリにかかる検索を実行し、当該検索の結果を前記検索者に提示するとともに、当該検索に要した資源量を前記検索にかかるクエリに対応付けて記録するコンピュータに、
前記検索者に、検索済みの第１クエリを初期値とし、第２クエリの修正を促す促進手順、
前記第２クエリが修正されると、前記第１クエリと前記修正された第２クエリとの差異と、前記第１クエリにかかる検索に要した資源量と、に基づいて、前記修正された第２クエリにかかる検索に要する資源量を推定する推定手順、
前記推定された資源量を提示する提示手順、
前記検索者から、前記修正を完了させる旨の指示を受け付けると、前記修正された第２クエリにかかる検索を実行すべき旨の指示が受け付けられたとみなす実行手順、
を実行させるプログラム。
【請求項１１】
データベースを検索するクエリを検索者から受け付け、当該クエリにかかる検索を実行し、当該検索の結果を前記検索者に提示するとともに、当該検索に要した資源量を前記検索にかかるクエリに対応付けて記録するコンピュータに、
前記検索者に、検索済みの第１クエリを初期値とし、第２クエリの修正を促す促進手順、
前記第２クエリが修正されると、前記第１クエリと前記修正された第２クエリとの差異と、前記第１クエリにかかる検索に要した資源量と、に基づいて、前記修正された第２クエリにかかる検索に要する資源量を推定する推定手順、
前記推定された資源量を提示する提示手順、
前記検索者から、前記修正を完了させる旨の指示を受け付けると、前記修正された第２クエリにかかる検索を実行すべき旨の指示が受け付けられたとみなす実行手順、
を実行させるプログラムを記録した、非一時的なコンピュータ読取可能な情報記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索装置、検索方法、プログラム、および非一時的なコンピュータ読取可能な情報記録媒体に関する。
【背景技術】
【０００２】
データベースを用いた情報システムにおいては、膨大な数のレコードを含むデータベースから、条件に合致するレコードだけを抽出する処理が行われることがある。このような処理では、検索処理に要する時間、また、検索結果のデータの容量など、検索処理に必要となる資源量が膨大になるケースが存在する。【０００３】
データベース技術においては、大きなデータの処理を要する検索クエリについて、応答時間を短縮することが課題となっている。例えば、特許文献１では、実行された検索結果を、当該検索にかかるクエリと対応付けて記録するデータベースシステムが開示されている。このデータベースシステムは、記録されている検索結果が失効している確率を算出する構成を備え、失効していない検索結果に対応付けられているクエリに基づく検索が再び指示された場合、記録されている検索結果に基づいて応答することにより、検索時間を短縮しようとするものである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２０１５−５２０４４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、膨大な数のレコードを持つデータベースにおいて、検索に要する資源量を、適切に予測するための技術が存在しない。特に、過去に行われた検索にかかるクエリを一部修正したクエリに基づいて新たな検索を行うときに、過去に行われた検索が要した資源量に基づいて、新たな検索に要する資源量を見積もることはできない。【０００６】
本発明は、上記の課題を解決しようとするものであり、膨大な数のレコードを持つデータベースに対して過去に発したクエリを修正して新たな検索を行う際に、新たな検索に要する資源量を適切に見積もることを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の第１の観点にかかる検索装置は、
検索者から、クエリにかかる検索をデータベースに対して実行すべき旨の指示を受け付けると、当該クエリにかかる検索を実行し、当該検索の結果を前記検索者に提示するとともに、当該検索に要した資源量を前記検索にかかるクエリに対応付けて記録する検索装置であって、
前記検索者に、検索済みの第１クエリを初期値とする第２クエリの修正を促す促進部、
前記第２クエリが修正されると、前記第１クエリと前記修正された第２クエリとの差異と、前記第１クエリにかかる検索に要した資源量と、に基づいて、前記修正された第２クエリにかかる検索に要する資源量を推定する推定部、
前記推定された資源量を提示する提示部、
前記検索者から、前記修正を完了させる旨の指示を受け付けると、前記修正された第２クエリにかかる検索を実行すべき旨の指示が受け付けられたとみなす実行部、
を備えることを特徴とする。【０００８】
上記第１の観点にかかる検索装置では、
前記推定部は、前記データベースにおける前記第１クエリが示す検索対象となった期間を示す第１期間の長さと、前記データベースにおける前記第２クエリが示す検索対象となる期間を示す第２期間の長さと、の比と、前記第１クエリにかかる検索に要した資源量とに基づいて、前記第２クエリにかかる検索に要する資源量を推定する、
ものであってもよい。【０００９】
上記第１の観点にかかる検索装置では、
前記推定部は、
第nクエリ（n>2）が、検索済みの第（n-1）クエリの期間条件のみを修正されたものであり、かつ、n>m>1である任意の整数mにおいて、第mクエリが、検索済みの第（m-1）クエリの期間条件のみを修正されたものである場合、
前記第１クエリから前記第（n-1）クエリまでの各クエリにかかる検索に要した資源量を分析することにより、前記第nクエリにかかる検索に要する資源量を推定する、
ものであってもよい。【００１０】
上記第１の観点にかかる検索装置では、
前記推定部は、前記修正された第２クエリにかかる検索が実行可能となるまでの待ち時間を推定し、
前記提示部は、前記推定された待ち時間に、前記推定された資源量に含まれる前記修正された第２クエリにかかる検索の所要時間を加算した時間に基づいて、前記修正された第２クエリにかかる検索が完了までに要する時間、または、前記修正された第２クエリにかかる検索が完了する時刻を提示する、
ものであってもよい。【００１１】
上記第１の観点にかかる検索装置では、
前記提示部は、前記第１クエリの期間条件、および、前記第mクエリで表されるクエリの期間条件との対比において、前記第nクエリの期間条件があらかじめ定められた関係にない場合、前記検索者に前記第nクエリの期間条件を見直すよう警告する、
ものであってもよい。【００１２】
上記第１の観点にかかる検索装置では、
前記提示部は、前記推定された資源量があらかじめ定められた範囲内にない場合、前記検索者への警告を表示する、
ものであってもよい。【００１３】
上記第１の観点にかかる検索装置では、
前記実行部は、前記修正された第２クエリにかかる検索が終了すると、前記検索者に当該検索が終了したことを通知する、
ものであってもよい。【００１４】
上記第１の観点にかかる検索装置では、
前記推定部は、前記第２クエリが修正されると、前記第１クエリと前記修正された第２クエリとの類似度を算出し、当該算出された類似度があらかじめ定められた条件を満たすことを条件に、前記修正された第２クエリにかかる検索に要する資源量を推定する、
ものであってもよい。【００１５】
上記目的を達成するため、本発明の第２の観点にかかる検索方法は、
データベースを検索するクエリを検索者から受け付け、当該クエリにかかる検索を実行し、当該検索の結果を前記検索者に提示するとともに、当該検索に要した資源量を前記検索にかかるクエリに対応付けて記録する検索装置による検索方法であって、
前記検索装置が、前記検索者に、検索済みの第１クエリを初期値とし、第２クエリの修正を促す促進ステップ、
前記検索装置が、前記第２クエリが修正されると、前記第１クエリと前記修正された第２クエリとの差異と、前記第１クエリにかかる検索に要した資源量と、に基づいて、前記修正された第２クエリにかかる検索に要する資源量を推定する推定ステップ、
前記検索装置が、前記推定された資源量を提示する提示ステップ、
前記検索装置が、前記検索者から、前記修正を完了させる旨の指示を受け付けると、前記修正された第２クエリにかかる検索を実行すべき旨の指示が受け付けられたとみなす実行ステップ、
を備えることを特徴とする。【００１６】
上記目的を達成するため、本発明の第３の観点にかかるプログラムは、
データベースを検索するクエリを検索者から受け付け、当該クエリにかかる検索を実行し、当該検索の結果を前記検索者に提示するとともに、当該検索に要した資源量を前記検索にかかるクエリに対応付けて記録するコンピュータに、
前記検索者に、検索済みの第１クエリを初期値とし、第２クエリの修正を促す促進手順、
前記第２クエリが修正されると、前記第１クエリと前記修正された第２クエリとの差異と、前記第１クエリにかかる検索に要した資源量と、に基づいて、前記修正された第２クエリにかかる検索に要する資源量を推定する推定手順、
前記推定された資源量を提示する提示手順、
前記検索者から、前記修正を完了させる旨の指示を受け付けると、前記修正された第２クエリにかかる検索を実行すべき旨の指示が受け付けられたとみなす実行手順、
を実行させることを特徴とする。【００１７】
上記目的を達成するため、本発明の第４の観点にかかる非一時的なコンピュータ読取可能な情報記録媒体は、
データベースを検索するクエリを検索者から受け付け、当該クエリにかかる検索を実行し、当該検索の結果を前記検索者に提示するとともに、当該検索に要した資源量を前記検索にかかるクエリに対応付けて記録するコンピュータに、
前記検索者に、検索済みの第１クエリを初期値とし、第２クエリの修正を促す促進手順、
前記第２クエリが修正されると、前記第１クエリと前記修正された第２クエリとの差異と、前記第１クエリにかかる検索に要した資源量と、に基づいて、前記修正された第２クエリにかかる検索に要する資源量を推定する推定手順、
前記推定された資源量を提示する提示手順、
前記検索者から、前記修正を完了させる旨の指示を受け付けると、前記修正された第２クエリにかかる検索を実行すべき旨の指示が受け付けられたとみなす実行手順、
を実行させるプログラムを記録している。
【発明の効果】
【００１８】
本発明によれば、膨大な数のレコードを持つデータベースに対して過去に発したクエリを修正して新たな検索を行う際に、新たな検索に要する資源量を適切に見積もることが可能となる。
【図面の簡単な説明】
【００１９】
【図１】実施の形態にかかる検索装置の機能構成を示すブロック図である。
【図２】検索装置のハードウェア構成を示すブロック図である。
【図３】クエリ履歴データの内容を示す図である。
【図４】検索処理のフローチャートである。
【図５】結果表示処理のフローチャートである。
【図６】修正クエリ受付処理のフローチャートである。
【図７】検索者に提示される画面表示の一例を示す図である。
【図８】検索者に提示される画面表示の一例を示す図である。
【図９】過去に行われた検索にかかるクエリの期間条件と資源量との対応を示した散布図である。
【図１０】過去に行われた検索にかかるクエリの期間条件の分布を示した図である。
【図１１】過去に行われた検索にかかるクエリの期間条件に基づく分布関数と、新たに入力されたクエリの期間条件の尤度との対応を示す図である。
【発明を実施するための形態】
【００２０】
以下、本発明の実施の形態について添付図面を参照しつつ説明する。
【００２１】
＜実施の形態＞
本実施の形態にかかる検索装置１００は、入力されたクエリに基づいてデータベース２２を検索する検索装置である。検索装置１００は、検索者Ｓからクエリの入力を受け付け、受け付けたクエリにかかる検索を実行する。検索装置１００は、検索が終了すると、検索結果を検索者Ｓに提示する。このように、検索装置１００は、検索者Ｓからの要求に応じて、データベース２２に記録されている内容を検索者Ｓに提示する。
【００２２】
本実施の形態にかかる検索装置１００は、図１に示す各機能部を備える。すなわち検索装置１００は、機能部として、促進部１１、推定部１２、提示部１３、実行部１４、および検索部１５を備える。さらに、検索装置１００は、データとして、クエリ履歴データ２１、およびデータベース２２を保有しており、必要に応じてこれらのデータを読み出し、あるいは更新する。
【００２３】
促進部１１は、検索者Ｓにクエリを入力するインターフェースを提供し、検索者Ｓによるクエリを受け付ける。促進部１１は、検索者Ｓに、検索済みのクエリ（第１クエリ）を初期値として提示し、また、提示されているクエリを修正するためのインターフェースを提供し、修正を促す。促進部１１は、検索者Ｓが提示されているクエリを修正すると、修正されたクエリ（第２クエリ）を受け付ける。
【００２４】
推定部１２は、検索者Ｓにより入力されたクエリにかかる検索に要する資源量を推定する。ここで、検索に要する資源量とは、対象の検索に要する時間、プロセッサの使用量、検索結果のデータ容量など、検索装置１００が対象の検索を実行するために消費する資源量を指す。推定部１２は、検索者Ｓに促進部１１が提示したクエリ（第１クエリ）と、検索者により修正されたクエリ（第２クエリ）との差異、および、第１クエリにかかる検索を実行したときに消費された資源量に基づいて、第２クエリにかかる検索に要する資源量を推定する。
【００２５】
提示部１３は、推定部１２により推定された、第２クエリにかかる検索に要する資源量を検索者Ｓに提示する。
【００２６】
実行部１４は、検索者Ｓが修正を完了させる旨の指示を入力すると、その指示を受け付ける。実行部１４は、指示を受け付けると、第２クエリにかかる検索を実行すべき旨の指示が受け付けられたとみなし、第２クエリを検索部１５に出力する。
【００２７】
検索部１５は、受け付けたクエリに基づいて、データベース２２を検索する。また、検索が完了すると、検索部１５は検索結果を検索者Ｓに提示する。また、検索部１５は、検索が完了すると、検索日時、検索にかかるクエリ、検索に要した資源量、および検索対象となったレコード数といった情報を、クエリ履歴データ２１に記録する。
【００２８】
本実施の形態にかかる検索装置１００は、図２に示すように、ハードウェアとして、制御部１１０、記録装置１２０、操作デバイス１３０、ディスプレイ１４０、ネットワークインターフェース１５０といった構成を備える。制御部１１０、記録装置１２０、操作デバイス１３０、ディスプレイ１４０、ネットワークインターフェース１５０は、互いに内部バス１９０を介して接続されている。
【００２９】
制御部１１０は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）などを備える。制御部１１０のＣＰＵが、ＲＯＭまたはＲＡＭに記録されているプログラムを実行することにより、制御部１１０は、検索装置１００全体の動作を制御する。制御部１１０は、必要に応じて記録装置１２０からプログラム等のデータを読み出し、また記録装置１２０にデータを保存する。
【００３０】
記録装置１２０は、ハードディスクドライブやフラッシュメモリ等の記録装置を備え、検索装置１００が稼動するために必要なデータを記憶する。また、記録装置１２０は、クエリ履歴データ２１、データベース２２を記録するものであってもよい。
【００３１】
操作デバイス１３０は、キーボードやマウス等を備え、検索者Ｓによる入力操作を受け付けて制御部１１０に伝達する。
【００３２】
ディスプレイ１４０は、液晶ディスプレイ等を備え、検索装置１００が提示すべき情報を表示する。また、検索装置１００は、液晶タッチパネルなど画面を表示する機能と、当該画面表示に対応する操作を受け付ける機能とを同時に実現するデバイスを備え、このデバイスが操作デバイス１３０とディスプレイ１４０の機能を並行して提供するものであってもよい。
【００３３】
ネットワークインターフェース１５０は、検索装置１００をネットワーク（図示せず）に接続する。検索装置１００が、ネットワークを介して他機器に情報を送信し、あるいは他機器から情報を受信する際、ネットワークインターフェース１５０は、制御部１１０から内部バス１９０を介して受信した情報を、ネットワークを介して他機器へ送信し、また他機器からネットワークを介して受信した情報を、内部バス１９０を介して制御部１１０へ送信する。
【００３４】
ネットワークインターフェース１５０は、例えばケーブルを介して検索装置１００をネットワークに接続してもよいし、あるいは無線通信により検索装置１００をネットワークに接続してもよい。ケーブルによる場合も無線通信による場合も、その通信規格は任意である。
【００３５】
内部バス１９０は、検索装置１００内の構成要素（制御部１１０、記録装置１２０、操作デバイス１３０、ディスプレイ１４０、ネットワークインターフェース１５０等）間での情報のやり取りを中継する。例えば、制御部１１０は、アクセス対象のデータを、内部バス１９０を介して記録装置１２０から読み出す。
【００３６】
一般に、制御部１１０で実行されるプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、デジタルビデオディスク、磁気テープ、ＲＯＭ、ＥＥＰＲＯＭ(Electrically Erasable Programmable ROM)、フラッシュメモリ、半導体メモリ等のコンピュータ読み取り可能な非一時的(non-transitory)情報記録媒体に記録することができる。この情報記録媒体は、検索装置１００のハードウェアとは独立して配布するできるものであってもよい。
【００３７】
本実施の形態では、検索者Ｓは、操作デバイス１３０およびディスプレイ１４０を介して検索装置１００に情報を入力し、または検索装置１００から情報の提示を受ける。しかし、これに限られず、検索装置１００は、検索者Ｓが操作する端末装置を介し、検索者Ｓからの入力を受け付け、また検索者Ｓに情報を提示するものであってもよい。そのような場合、検索者Ｓは、検索装置１００とネットワークを介して接続する端末装置により、検索装置１００に情報を入力し、または検索装置１００から情報の提示を受ける。
【００３８】
クエリ履歴データ２１には、図３に示すように、それまでに検索装置１００を介して検索が実行されたクエリについて、検索が開始された日時、検索に使用された資源量、検索対象となったレコード数などの情報が記録される。促進部１１は、記録装置１２０に記録されているクエリ履歴データ２１の内容をもとに、過去に実行されたクエリを検索者Ｓに提示し、修正することを促す。
【００３９】
検索装置１００は、機能部として、データベース２２を検索する検索部１５を備える。検索装置１００は、検索者Ｓによる指示に基づき、図４に示す検索処理を実行することにより、データベース２２を検索する。
【００４０】
検索装置１００は、検索処理の最初に、検索者Ｓにより入力されたクエリを受け付ける（ステップＳ１１）。検索装置１００は、検索者Ｓが直接入力した文字列をクエリとして受け付けてもよいし、また後述する修正クエリ受付処理によりクエリを受け付けてもよい。
【００４１】
次に検索装置１００は、クエリにかかる検索ジョブを生成する（ステップＳ１２）。検索装置１００は、ステップＳ１１で受け付けたクエリにかかる検索を実行する検索ジョブを生成し、検索装置１００におけるジョブスケジューラに登録する。
【００４２】
次に検索装置１００は、登録されている検索ジョブを実行する（ステップＳ１３）。検索装置１００は、プロセッサ等のリソースが登録されている検索ジョブを実行できる状態になると、登録されている検索ジョブを実行する。
【００４３】
ステップＳ１３で実行した検索ジョブが完了すると、検索装置１００は、検索が終了したことを検索者Ｓに通知する（ステップＳ１４）。検索装置１００は、例えば電子メール、ショートメッセージサービス等により、検索者Ｓに、入力されたクエリにかかる検索が完了したことを通知する。ステップＳ１４を終えると、検索装置１００は、検索処理を完了する。
【００４４】
ここまで示した検索処理により、検索装置１００は、入力されたクエリにかかる検索を実行し、その検索結果を取得する。検索装置１００は、取得された検索結果を、図５に示す結果表示処理を実行することにより、検索者Ｓに提示する。検索装置１００は、検索者Ｓからの指示に基づいて、結果表示処理を開始する。
【００４５】
結果表示処理の最初に、検索装置１００は、検索結果を表示する検索の選択入力を受け付ける（ステップＳ２１）。検索装置１００は、記録している検索結果およびそれに関する情報（実行開始の日時、実行されたクエリ等）を表示し、検索者Ｓから、その中から一つを選択する入力を受け付ける。
【００４６】
次に検索装置１００は、選択された検索にかかる検索結果を表示する（ステップＳ２２）。検索装置１００は、ステップＳ２１で選択された検索について、検索結果、検索に要した資源量（検索の所要時間、プロセッサの使用量など）、検索にかかるクエリなどを表示する。
【００４７】
次に検索装置１００は、表示した検索のクエリをもとに、新しい検索を行う指示が検索者Ｓにより入力されるかを判定する（ステップＳ２３）。検索装置１００は検索者Ｓに、表示された検索にかかるクエリに修正を加え、新たな検索を行うか否かを問うインターフェースを表示する。表示されたインターフェースを介し、検索者Ｓが、表示された検索にかかるクエリに修正を加えて新たな検索を行う指示を入力すると、検索装置１００は、表示した検索のクエリをもとに、新しい検索を行う指示が検索者Ｓにより入力されたと判定する。
【００４８】
検索者Ｓから、表示した検索のクエリをもとに、新しい検索を行う指示がなされた場合（ステップＳ２３：ＹＥＳ）、検索装置１００は、後述する修正クエリ受付処理を開始する（ステップＳ２４）。その後、検索装置１００は、結果表示処理を終了する。一方、検索者Ｓからの表示した検索のクエリをもとに、新しい検索を行う指示がなされなかった場合（ステップＳ２３：ＮＯ）、検索装置１００はそのまま結果表示処理を終了する。
【００４９】
ここまで述べた結果表示処理により、検索装置１００は検索者Ｓに検索結果を提示する。検索者Ｓは、検索結果を参照したうえで、その検索のクエリに少し修正を加えたうえで再度データベース２２を検索したいと望む場合、上述した通りステップＳ２３において、その旨を指示する入力を行う。それを受けて、検索装置１００は、図６に示す修正クエリ受付処理を開始する。
【００５０】
検索装置１００は、修正クエリ受付処理を開始すると、最初にクエリの入力を受け付ける入力欄を表示し、その入力欄の中に、結果表示処理で表示していた検索にかかるクエリ（第１クエリ）を初期値として提示する（ステップＳ３１）。検索装置１００は、ディスプレイ１４０等に、新たにクエリを入力するためのインターフェースである入力欄を表示し、その中に初期値として、第１クエリを表示する。
【００５１】
次に検索装置１００は、検索者Ｓによるクエリの修正を受け付ける（ステップＳ３２）。検索者１００は、検索者Ｓにより入力欄に入力されたクエリが編集され、検索実行可能な構文のクエリ（第２クエリ）となると、そのときの第２クエリを受け付ける。
【００５２】
次に検索装置１００は、受け付けた第２クエリにかかる検索に要する資源量を推定する（ステップＳ３３）。検索装置１００は、受け付けた第２クエリと、その元となった第１クエリとを対比し、クエリにおける差異部分を特定する。検索装置１００は、特定した差異部分と、第１クエリにかかる検索を実行するのに要した資源量とに基づいて、受け付けた第２クエリにかかる検索に要する資源量を算出する。
【００５３】
次に検索装置１００は、推定された資源量を検索者Ｓに提示する（ステップＳ３４）。検索装置１００は、ディスプレイ１４０を介し、ステップＳ３３で算出された資源量を検索者Ｓに提示する。
【００５４】
次に検索装置１００は、検索者Ｓにより、クエリの修正を完了させる旨の指示が入力されたか判定する（ステップＳ３５）。検索装置１００は、検索者Ｓに、クエリの修正を完了する旨の指示を入力するためのインターフェース（例えば、修正完了のボタンなど）を提示し、待機する。
【００５５】
検索者Ｓにより、クエリの修正を完了させる旨の指示が入力されたと判定した場合（ステップＳ３５：ＹＥＳ）、検索装置１００は、修正された第２クエリにかかる検索処理を開始する（ステップＳ３６）。検索装置１００は、修正された第２クエリを、クエリとして受け付け、検索処理を開始する。
【００５６】
一方、検索者Ｓにより、クエリの修正を完了させる旨の指示が入力されなかったと判定された場合（ステップＳ３５：ＮＯ）、検索装置１００は、処理をステップＳ３２に戻し、再び検索者Ｓによるクエリの修正を受け付ける。検索装置１００は、例えば、クエリの修正を完了する旨の指示を入力するためのボタンが押されず、入力欄のクエリをさらに編集する操作がなされた場合などに、クエリの修正を完了させる旨の指示が入力されなかったと判定する。
【００５７】
ステップＳ３６により、データベース２２を検索する処理を受け付けると、検索装置１００は修正クエリ受付処理を完了する。以後、検索装置１００は第２クエリに基づいて検索処理を実行する。検索処理が完了した後、検索者Ｓによって、入力された第２クエリにかかる検索の検索結果を参照する操作がなされると、検索装置１００は、結果表示処理により検索者Ｓに検索結果を提示する。
【００５８】
ここまで示した修正クエリ受付処理において、検索装置１００は、過去に実行した検索にかかるクエリ（第１クエリ）を修正することにより、検索者Ｓがこれから実行するクエリ（第２クエリ）を受け付け、データベース２２の検索を行う。検索装置１００は、実際の検索を行う前に、第２クエリにかかる検索に要する資源量を推定し、検索者Ｓに提示する。そのため、検索者Ｓは、検索の実行前に、検索に要する資源量（対象の検索に要する時間、プロセッサの使用量、検索結果のデータ容量）などを確認した上で、その検索を実行するか否かを判断することが可能となる。
【００５９】
本実施の形態にかかる検索装置１００は、新たなクエリにかかる検索の資源量を見積もる際に、その新たなクエリが過去に発したクエリを修正して得られたものであった場合、当該過去に発したクエリにかかる検索が要した資源量をもとに、新たなクエリにかかる検索の資源量を推定する。第１クエリを修正することにより第２クエリが得られているため、第２クエリは、第１クエリに近い処理を検索装置１００に要求するものである蓋然性が高い。そのため、第１クエリにかかる検索において、実際に消費された資源量をもとに推定を行うため、検索装置１００は、資源量を精度高く推定することができる。
【００６０】
図７は、検索装置１００が修正クエリ受付処理において検索者Ｓに提示する画面表示の一例である。検索装置１００は、第１クエリに関する情報を表示するエリアＡ１、および、第２クエリに関する情報を表示するとともにクエリの編集を受け付けるエリアＡ２を介し、検索者Ｓに情報を表示し、また検索者Ｓによるクエリの修正を受け付ける。
【００６１】
検索装置１００はエリアＡ１に、検索者Ｓが選択した第１クエリについて、クエリの内容、および、第１クエリにかかる検索に要した資源量を表示する。
【００６２】
検索装置１００はエリアＡ２に、これから実行するクエリを入力するための入力欄Ａ２ａを表示する。検索装置１００は入力欄Ａ２ａに、初期値として第１クエリの内容を表示し、入力欄Ａ２ａに表示されているクエリの修正を受け付ける。検索者Ｓは、入力欄Ａ２ａに表示されているクエリを編集することにより、これから実行する検索のクエリを入力することができる。
【００６３】
また、検索装置１００はエリアＡ２に、その時点で入力欄Ａ２ａに入力されているクエリを受け付け、そのクエリにかかる検索に要する資源量を推定する指示を入力するためのボタンＡ２ｂを表示する。検索者ＳがボタンＡ２ｂを押すと、検索装置１００は、入力欄Ａ２ａに表示されているクエリにかかる検索に要する資源量を推定し、推定した資源量をエリアＡ２に表示する。
【００６４】
図７に示した例においては、検索装置１００は、ボタンＡ２ｂが押されることを契機に資源量の推定を実行している。しかし、ボタンＡ２ｂは必須の要素ではない。
【００６５】
検索者Ｓによる操作によらず検索装置１００が推定を行う機構にした場合、図８に示すように、ボタンＡ２ｂが存在しない画面表示でもよい。この場合、検索装置１００は、検索者Ｓが入力欄Ａ２ａに表示されているクエリを変更している間、バックグラウンドでクエリの内容を監視し、クエリが実行可能な構文となっているか否かをリアルタイムで判定する。入力欄Ａ２ａに表示されているクエリが実行可能な構文であると判定した場合、そのクエリに基づいて資源量の推定を実行し、表示を更新する。
【００６６】
本実施の形態において、検索装置１００が資源量を推定する手法は、多種にわたるものが考えられる。例えば、検索装置１００は、第１クエリが示す検索対象となった期間（第１期間）の長さと、第２クエリが示す検索対象となる期間（第２期間）の長さとの比と、第１クエリにかかる検索に要した資源量とに基づいて、第２クエリにかかる検索に要する資源量を推定するものであってもよい。
【００６７】
例えば、第１クエリには、検索対象となる期間が第１期間であることを示す文字列が含まれており、修正された第２クエリには、検索対象となる期間が第２期間であることを示す文字列が含まれているとする。さらに、第１クエリと第２クエリは、同じ特定の処理を、異なる期間に記録されたレコードに対して行うものであったとする。この場合、検索装置１００は、修正された第２クエリから第２期間を示す文字列を読み取り、第２期間の長さ（Ｙ）を算定する。また、検索装置１００は、記録されている第１クエリから第１期間を示す文字列を読み取り、第１期間の長さ（Ｘ）を算出する。さらに検索装置１００は、第１クエリにかかる検索に要した資源量を記録装置１２０から読み出す。検索装置１００は、第１クエリにかかる検索に要した資源量を、Ｙ／Ｘ倍することにより、第２クエリにかかる検索に要する資源量を算出する。
【００６８】
さらに検索装置１００は、第２クエリで対象となるレコードの数を推定するものであってもよい。一例として、データベース２２が過去に電子市場で取引された取引結果を記録したデータベースであるケースを想定する。検索装置１００は、データベース２２に加え、過去一定期間（例えば、直近の３か月程度）の取引ログを記録する。ここで、取引ログは、記録されているデータの期間が比較的短期に限定されているため、取引ログに記録されているデータ量はデータベース２２のデータ量よりも小さい。検索装置１００は、取引ログを参照することにより、データベース２２に記録されているデータの傾向を簡易に推定することが可能である。
【００６９】
例えば検索装置１００は、記録されている取引ログを参照することにより、当該電子市場において、購入者の性別による傾向（購入者の性別ごとの総人数、性別ごとの総アクセス数、性別ごとの購入金額など）を示すデータを得ることが可能である。性別による傾向を示すデータにおいて、男性のユーザが女性のユーザに比べて２倍存在することが記録されている場合に、第１クエリが女性であるユーザを検索するものであり、第２クエリが男性であるユーザを検索するものであれば、検索装置１００は、第２クエリの対象となるレコード数は、第１クエリの対象となったレコード数の２倍であると推定する。
【００７０】
検索装置１００は、結果表示処理によらず、検索者Ｓに過去に実行された検索にかかるクエリの一覧を検索者Ｓに提示し、その中から１つを選択する入力を受け付けるものであってもよい。この場合、検索者Ｓにクエリの一覧を提示し、１つを選択させるインターフェースは任意である。クエリ履歴データ２１に記録されているクエリのリストを検索者Ｓに提示し、その中から１つを選択させてもよい。また、検索装置１００は、検索者Ｓにより入力された条件（検索を実行した日時、検索に割り当てられた識別番号など）に合致するクエリをクエリ履歴データ２１の中から検索するものであってもよい。他にも、検索者Ｓが途中まで入力したクエリと部分一致するクエリをクエリ履歴データ２１の中から検索するものであってもよい。
【００７１】
本実施の形態においては、検索者Ｓが結果を参照した検索にかかるクエリ（過去に実行された検索にかかるクエリ）を第１クエリとし、検索者Ｓが第１クエリを修正することによって得られたクエリを第２クエリとして説明した。ここで、第１クエリ自身が、それ以前に実行された検索にかかるクエリを修正して得られたものであることも想定される。
【００７２】
検索者Ｓが第１クエリの日時条件を修正することにより第２クエリが得られ、第２クエリの日時条件を修正することにより第３クエリが得られたものとする。さらにこれを繰り返し、第（n-1）クエリの期間条件のみを修正することにより第nクエリが得られたものとする。この場合、検索装置１００は、第nクエリにかかる検索に要する資源量を推定するにあたり、第（n-1）クエリだけでなく、n>m>1である任意の整数mにおける第mクエリにかかる検索に要した資源量を参照することにより、より精度の高い資源量の推定が可能となる。例えば、検索装置１００は、第１クエリから第（n-1）クエリの各クエリにかかる検索に要した資源量を回帰分析の手法で分析することにより、第nクエリにかかる検索に要する資源量を推定するものであってもよい。
【００７３】
具体的な例として、過去に行われた６回の検索（第１クエリから第６クエリにかかる検索）に要した所要時間を分析した結果を受け、第７クエリにかかる検索の所要時間を推定するケースについて、図９を参照して説明する。なお、第７クエリは、第６クエリの日時条件のみを修正して得られたものである。他にも、第２〜第６クエリは、それぞれ、第１〜第５クエリの日時条件のみを修正することにより得られたものであるとする。
【００７４】
図９において示した散布図においては、横軸に中央日時、縦軸に所要時間／入力された日時条件の期間の長さが設定されている。横軸の「中央日時」とは、各クエリにおいて指定された日時条件において中央となる日時を示す。例えば、日時条件として２０１４年が指定されていた場合、そのクエリの中央日時は、２０１４年７月１日の午前０時となる。縦軸の「所要時間／入力された日時条件の期間の長さ」とは、クエリにかかる検索に要した所要時間を、そのクエリの日時条件の期間の長さで割った値を示す。
【００７５】
図９のＰ１に、第１クエリの「中央日時」および「所要時間／入力された日時条件の期間の長さ」に対応する点を示す。同様に、第２〜第６クエリについても、図９のＰ２〜Ｐ６にそれぞれ対応する点を示す。検索装置１００は、Ｐ１〜Ｐ６を踏まえ、これらを線形回帰分析し、「中央日時」と「所要時間／入力された日時条件の期間の長さ」との対応を最もよく近似する数式を算出する。図９の線Ｌ１は、検索装置１００により算出された数式を表す線である。
【００７６】
次に検索装置１００は、算出された数式に従い、第７クエリの「中央日時」に対応する「所要時間／入力された日時条件の期間の長さ」を算出する。検索装置１００により算出された「所要時間／入力された日時条件の期間の長さ」は、グラフ上のＰ７の位置で表されるように、線Ｌ１上の、第７クエリの「中央日時」に対応する位置で表される値となる。検索装置１００は、算出された第７クエリにおける「所要時間／入力された日時条件の期間の長さ」に、第７クエリの日時条件の期間の長さを乗じることにより、第７クエリにかかる検索の所要時間を推定する。
【００７７】
また、日時条件の修正を繰り返した場合に、検索者Ｓが、以前の条件（第１クエリから第（n-1）クエリで用いられた条件）とはかけ離れた条件を第nクエリとして入力することが起こりうる。このような場合に、検索装置１００は、入力された期間条件を見直すよう検索者Ｓに警告するものであってもよい。具体的には、検索装置１００は、第１クエリから第（n-1）クエリの各クエリの期間条件との対比において、第nクエリの期間条件があらかじめ定められた関係にあるか否かを判定するものであってもよい。検索装置１００は、あらかじめ定められた関係にないと判定した場合、検索者Ｓに、第nクエリに入力した期間条件を見直すよう警告する。
【００７８】
ここで、あらかじめ定められた関係の例としては、第１クエリから第（n-1）クエリで用いられた条件を前提として、第nクエリとして入力された条件の尤度を算出し、その尤度が所定の範囲内にあることなどが考えられる。すなわち、第nクエリとして入力された条件が、過去に入力された条件との対比において、一定の尤度を持つものでない場合、検索装置１００は、第nクエリが過去に入力されたクエリとの関係においてあらかじめ定められた関係にないと判定し、検索者Ｓに警告する。
【００７９】
具体的な例として、検索装置１００が、過去に実行された各クエリにおいて設定された期間の長さをもとに、新たに入力されたクエリの期間条件の妥当性を判断する場合について、図１０および図１１を参照しながら説明する。
【００８０】
検索装置１００は、まず過去に実行された各クエリ（第１クエリから第（n-1）クエリ）において期間条件として設定された期間の長さを抽出する。検索装置１００は、抽出された期間と、その期間の長さが抽出された回数とを対応付けて記録する。図１０において、ボックスＢ１〜Ｂ８は、それぞれ対応する期間の長さと、その期間の長さが抽出された回数とを示す。
【００８１】
次に検索装置１００は、ボックスＢ１〜Ｂ８において表される抽出結果が、正規分布に従うものとし、適合度の高い近似関数を特定する。具体的には、検索装置１００は、抽出された期間の長さの平均値および分散値を算出し、算出した平均値および分散値を持つ正規分布関数を特定する。図１０の線Ｌ２は、特定された正規分布関数を示す。
【００８２】
次に検索装置１００は、特定された正規分布関数に基づき、新たに入力されたクエリ（第nクエリ）において設定された期間の長さの尤度を算出する。図１１においては、検索装置１００により特定された正規分布関数が線Ｌ２に示されている。検索装置１００は、第nクエリに設定されている期間の長さから、対応する正規分布関数の値（すなわち、入力された期間の長さの尤度）を特定することにより、第nクエリに設定されている条件の尤度を算出する。
【００８３】
図１１においては、線Ｌ３に、尤度の基準値を示す。検索装置１００は、尤度が基準値よりも高い場合には、第nクエリとして入力された条件が、第１クエリから第（n-1）クエリで条件との対比において妥当なものと判定し、尤度が基準値よりも低い場合には、妥当でないと判定する。すなわち、入力された期間条件および算出された尤度がＰ８の位置にある場合、検索装置１００は、入力された期間条件を過去の検索履歴との対比において妥当なものと判定する。一方、入力された期間条件および算出された尤度がＰ９の位置にある場合は、検索装置１００は、入力された期間条件を過去の検索履歴との対比において妥当でないと判定し、検索者Ｓに警告する。
【００８４】
このように、検索装置１００が、新たに入力されたクエリが過去に入力されたクエリとの関係においてあらかじめ定められた関係にない場合に警告を発することで、検索者Ｓは、検索に要する資源量だけでなく、入力された条件が過去の例から乖離している点を知ることができる。
【００８５】
また、検索者Ｓが検索に要する資源量を参照する場合、その主たる目的は、その検索が完了する時刻（あるいは、その検索が完了するまでの所要時間）であることが想定される。検索装置１００は、そのようなニーズにこたえるため、推定した資源量に基づき、検索が完了するまでに要する時間（または、検索が完了する時刻）を提示するものであってもよい。
【００８６】
具体的には、検索装置１００の推定部１２は、その時点で受け付けられている検索処理の各ジョブの実行に要する時間を推定し、推定された時間を合計することにより、第２クエリにかかる検索が実行可能となるまでの待ち時間を推定する。そのうえで、提示部１３は、推定した待ち時間に、第２クエリにかかる検索に要する所要時間を加算することにより、第２クエリにかかる検索が完了するまでに要する時間（または、検索が完了する時刻）を算出し、提示する。このようにすることで、検索装置１００は検索者Ｓに、第２クエリにかかる検索が完了する見込みとなる時刻（または、完了するまでの見込み時間）を提示することができる。
【００８７】
また、検索装置１００は、推定された資源量があらかじめ定められた範囲内にない場合に、検索者Ｓへの警告を表示するものであってもよい。例えば、検索に要する所要時間があまりに長くなるケースや、検索結果のデータ容量があまりに大きくなる場合などに、実際に検索を始める前に検索装置１００が検索者Ｓに警告することにより無意味な検索処理の実行を回避することが可能となる。例えば検索装置１００は、推定された検索処理の所要時間が例えば７２時間を超える場合、または推定された検索結果の容量が１ギガバイトを超える場合などに、検索者Ｓに警告を表示する。
【００８８】
検索装置１００は、第２クエリにかかる検索に要する資源量を、第１クエリにかかる検索が消費した資源量に基づいて推定するものである。そのため、第２クエリが、第１クエリとはあまり共通点のないクエリとなった場合には、推定される資源量の精度が低下する。そのため、検索装置１００は、第１クエリと第２クエリとがどの程度類似するかを示す類似度を算出し、類似度があらかじめ定められた条件を満たすことを条件に、第２クエリにかかる検索に要する資源量を推定するものとしてもよい。このようにすることで、検索装置１００は、精度の低い推定処理を回避することができる。
【００８９】
具体的な類似度の一例として、編集距離を挙げる。この場合、検索装置１００は、第２クエリと、第１クエリとの間の編集距離を算出し、編集距離の逆数を、第２クエリと第１クエリとの類似度として算出する。ここで、編集距離とは、二つの文字列がどの程度異なっているかを示す距離である。検索装置１００は、算出された類似度があらかじめ定められた数値より大きい（編集距離があらかじめ定められた数値より小さい）ことを条件に、第２クエリにかかる検索に要する資源量を推定する。
【００９０】
編集距離の一例としては、レーベンシュタイン距離が挙げられる。レーベンシュタイン距離とは、一方の文字列（第１クエリ）に、一文字ずつの修正（挿入、削除、置換のうち一つ）を加えることによって他方の文字列（第２クエリ）に変更するのに必要な修正の最小回数を指す。このような構成により、検索装置１００は、精度の低い推定処理を回避する。
【００９１】
また、具体的な類似度の他の例として、クエリに含まれる期間条件を用いることも可能である。この場合、例えば、検索装置１００は、第１クエリに含まれる期間条件と、第２クエリに含まれる期間条件とを対比し、両者の期間的な間隔を類似度として取り扱うものであってもよい。例えば、第１クエリに含まれる期間条件が２０１３年１月から同年１２月であり、第２クエリに含まれる期間条件が２０１５年１月から同年１２月であった場合、検索装置１００は、類似度として、２０１３年１２月の末日から２０１５年１月の初日までの１年間として算出してもよい。他にも、類似度として、任意の基準を採用することが可能である。前述したとおり、第nクエリとして入力された条件の尤度を、過去に入力されたクエリの分布に基づいて算出した場合に、算出された尤度を、類似度として取り扱ってもよい。
【００９２】
本実施の形態では、検索部１５およびデータベース２２は、検索装置１００の内部に設けられた機能部、および検索装置１００に記録されたデータとして説明した。しかし、必ずしもこれに限られず、データベース２２および検索部１５は検索装置１００の外部にあるものであってもよい。その場合、検索装置１００は、外部にある検索部１５に検索にかかるクエリを送信し、検索完了後、検索の結果を外部にある検索部１５から受領する。
【００９３】
ここまで述べた、本発明の実施の形態にかかる検索装置は、専用のシステムによらず、通常のコンピュータシステムを用いても実現可能である。例えば、コンピュータに、上記動作を実行するためのプログラムを、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）、ＤＶＤ（Digital Versatile Disk）、ＭＯ（Magneto-Optical Disk）など、非一時的なコンピュータ読み取り可能な記録媒体に記憶して配布し、これをコンピュータシステムにインストールすることにより、上述の処理を実行する検索装置を構成しても良い。さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを記憶しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するものとしてもよい。
【００９４】
また、本発明の実施の形態にかかる検索装置は、１台で実現されるものに限定されない。複数のコンピュータが上述した各部の機能を分担することにより、それらの複数のコンピュータからなる一つのシステムとして各機能を提供するものであってもよい。
【００９５】
また、上述した実施の形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内およびそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
【符号の説明】
【００９６】
１１：促進部
１２：推定部
１３：提示部
１４：実行部
１５：検索部
２１：クエリ履歴データ
２２：データベース
１００：検索装置
１１０：制御部
１２０：記録装置
１３０：操作デバイス
１４０：ディスプレイ
１５０：ネットワークインターフェース
１９０：内部バス
【図１】
2017163415.tif 000003
【図２】
2017163415.tif 000004
【図３】
2017163415.tif 000005
【図４】
2017163415.tif 000006
【図５】
2017163415.tif 000007
【図６】
2017163415.tif 000008
【図７】
2017163415.tif 000009
【図８】
2017163415.tif 000010
【図９】
2017163415.tif 000011
【図１０】
2017163415.tif 000012
【図１１】
2017163415.tif 000013
【手続補正書】
【提出日】平成29年1月17日(2017.1.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
検索者からクエリにかかる検索をデータベースに対して実行すべき旨の指示を受け付けると、当該クエリにかかる検索を実行し、当該検索の結果を前記検索者に提示する検索装置であって、
検索済みの第１クエリにかかる検索に要した資源量を当該第１クエリに対応付けて記憶する記憶部、
前記検索者に前記第１クエリを提示して前記第１クエリの修正を促し、当該修正された第１クエリを第２クエリとして受け付ける促進部、
前記第１クエリが修正されると、前記第１クエリと前記第２クエリとの差異と、前記第１クエリにかかる検索に要した資源量と、に基づいて、前記第２クエリにかかる検索に要する資源量を推定する推定部、
前記推定された資源量を提示する提示部、
を備えることを特徴とする検索装置。
【請求項２】
前記推定部は、前記データベースにおける前記第１クエリが示す検索対象となった期間を示す第１期間の長さと、前記データベースにおける前記第２クエリが示す検索対象となる期間を示す第２期間の長さと、の比と、前記第１クエリにかかる検索に要した資源量とに基づいて、前記第２クエリにかかる検索に要する資源量を推定する、
ことを特徴とする請求項１に記載の検索装置。
【請求項３】
前記推定部は、
第nクエリ（n>2）が、検索済みの第（n-1）クエリの期間条件のみを修正されたものであり、かつ、n>m>1である任意の整数mにおいて、第mクエリが、検索済みの第（m-1）クエリの期間条件のみを修正されたものである場合、
前記第１クエリから前記第（n-1）クエリまでの各クエリにかかる検索に要した資源量を分析することにより、前記第nクエリにかかる検索に要する資源量を推定する、
ことを特徴とする請求項１に記載の検索装置。
【請求項４】
前記推定部は、前記第２クエリにかかる検索が実行可能となるまでの待ち時間を推定し、
前記提示部は、前記推定された待ち時間に、前記推定された資源量に含まれる前記第２クエリにかかる検索の所要時間を加算した時間に基づいて、前記第２クエリにかかる検索が完了までに要する時間、または、前記第２クエリにかかる検索が完了する時刻を提示する、
ことを特徴とする請求項１から３のいずれか１項に記載の検索装置。
【請求項５】
前記提示部は、前記第１クエリの期間条件、および、前記第mクエリで表されるクエリの期間条件との対比において、前記第nクエリの期間条件があらかじめ定められた関係にない場合、前記検索者に前記第nクエリの期間条件を見直すよう警告する、
ことを特徴とする請求項３に記載の検索装置。
【請求項６】
前記提示部は、前記推定された資源量があらかじめ定められた範囲内にない場合、前記検索者への警告を表示する、
ことを特徴とする請求項１から５のいずれか１項に記載の検索装置。
【請求項７】
前記検索者から前記修正を完了させる旨の指示を受け付けると、前記第２クエリにかかる検索を実行すべき旨の指示が受け付けられたとみなす実行部をさらに備え、
前記実行部は、前記第２クエリにかかる検索が終了すると、前記検索者に当該検索が終了したことを通知する、
ことを特徴とする請求項１から６のいずれか１項に記載の検索装置。
【請求項８】
前記推定部は、前記第１クエリが修正されると、前記第１クエリと前記第２クエリとの類似度を算出し、当該算出された類似度があらかじめ定められた条件を満たすことを条件に、前記第２クエリにかかる検索に要する資源量を推定する、
ことを特徴とする請求項１から７のいずれか１項に記載の検索装置。
【請求項９】
データベースを検索するクエリを検索者から受け付け、当該クエリにかかる検索を実行し、当該検索の結果を前記検索者に提示するとともに、検索済みの第１クエリにかかる検索に要した資源量を当該第１クエリに対応付けて記憶部に記録する検索装置による検索方法であって、
前記検索装置が、前記検索者に前記第１クエリを提示して前記第１クエリの修正を促し、当該修正された第１クエリを第２クエリとして受け付ける促進ステップ、
前記検索装置が、前記第１クエリが修正されると、前記第１クエリと前記第２クエリとの差異と、前記第１クエリにかかる検索に要した資源量と、に基づいて、前記第２クエリにかかる検索に要する資源量を推定する推定ステップ、
前記検索装置が、前記推定された資源量を提示する提示ステップ、
を備えることを特徴とする検索方法。
【請求項１０】
データベースを検索するクエリを検索者から受け付け、当該クエリにかかる検索を実行し、当該検索の結果を前記検索者に提示するとともに、検索済みの第１クエリにかかる検索に要した資源量を当該第１クエリに対応付けて記憶部に記録するコンピュータに、
前記検索者に前記第１クエリを提示して前記第１クエリの修正を促し、当該修正された第１クエリを第２クエリとして受け付ける促進手順、
前記第１クエリが修正されると、前記第１クエリと前記第２クエリとの差異と、前記第１クエリにかかる検索に要した資源量と、に基づいて、前記第２クエリにかかる検索に要する資源量を推定する推定手順、
前記推定された資源量を提示する提示手順、
を実行させるプログラム。
【請求項１１】
データベースを検索するクエリを検索者から受け付け、当該クエリにかかる検索を実行し、当該検索の結果を前記検索者に提示するとともに、検索済みの第１クエリにかかる検索に要した資源量を当該第１クエリに対応付けて記憶部に記録するコンピュータに、
前記検索者に前記第１クエリを提示して前記第１クエリの修正を促し、当該修正された第１クエリを第２クエリとして受け付ける促進手順、
前記第１クエリが修正されると、前記第１クエリと前記第２クエリとの差異と、前記第１クエリにかかる検索に要した資源量と、に基づいて、前記第２クエリにかかる検索に要する資源量を推定する推定手順、
前記推定された資源量を提示する提示手順、
を実行させるプログラムを記録した、非一時的なコンピュータ読取可能な情報記録媒体。
【国際調査報告】
2017163415.tif 000014
2017163415.tif 000015