(57)【特許請求の範囲】
【請求項１】
コンピュータに、
記憶装置に記憶された文書の集合の中で、第１のキーワードに基づいて検索される文書の数である第１の文書数と、前記第１のキーワードと複数の項目のうちの一の項目に属する第２のキーワードとの論理積に基づいて検索される文書の数である第２の文書数と、前記第１のキーワードと前記一の項目に属する第３のキーワードとの論理積に基づいて検索される文書の数である第３の文書数とを算出し、
前記第１の文書数と前記第２の文書数と前記第３の文書数とを用いて、前記一の項目に対する評価値を算出し、
前記評価値が所定条件を満たす場合に、検索される文書の絞り込みに前記複数の項目のうち前記一の項目を使用することを推奨する推奨情報を出力する、
処理を実行させる検索プログラム。
【請求項２】
前記評価値は、前記第１の文書数と前記第２の文書数との差または比、および、前記第１の文書数と前記第３の文書数との差または比に基づいて算出される、
請求項１記載の検索プログラム。
【請求項３】
前記コンピュータに更に、
前記第１のキーワードと前記複数の項目のうちの他の一の項目に属する第４のキーワードとの論理積に基づいて検索される文書の数である第４の文書数と、前記第１のキーワードと前記他の一の項目に属する第５のキーワードとの論理積に基づいて検索される文書の数である第５の文書数とを算出し、
前記第１の文書数と前記第４の文書数と前記第５の文書数とを用いて、前記他の一の項目に対する他の評価値を算出する、処理を実行させ、
前記評価値が前記所定条件を満たすか否かの判定は、前記評価値と前記他の評価値とを比較することを含む、
請求項１記載の検索プログラム。
【請求項４】
前記評価値は、前記第１のキーワードと対応付けられ、
前記推奨情報は、前記第１のキーワードを含む検索要求を取得した後に出力される、
請求項１記載の検索プログラム。
【請求項５】
文書の集合を記憶する記憶部と、
前記文書の集合の中で、第１のキーワードに基づいて検索される文書の数である第１の文書数と、前記第１のキーワードと複数の項目のうちの一の項目に属する第２のキーワードとの論理積に基づいて検索される文書の数である第２の文書数と、前記第１のキーワードと前記一の項目に属する第３のキーワードとの論理積に基づいて検索される文書の数である第３の文書数とを算出し、前記第１の文書数と前記第２の文書数と前記第３の文書数とを用いて、前記一の項目に対する評価値を算出し、前記評価値が所定条件を満たす場合に、検索される文書の絞り込みに前記複数の項目のうち前記一の項目を使用することを推奨する推奨情報を出力する制御部と、
を有する検索装置。
【請求項６】
コンピュータが実行する検索方法であって、
記憶装置に記憶された文書の集合の中で、第１のキーワードに基づいて検索される文書の数である第１の文書数と、前記第１のキーワードと複数の項目のうちの一の項目に属する第２のキーワードとの論理積に基づいて検索される文書の数である第２の文書数と、前記第１のキーワードと前記一の項目に属する第３のキーワードとの論理積に基づいて検索される文書の数である第３の文書数とを算出し、
前記第１の文書数と前記第２の文書数と前記第３の文書数とを用いて、前記一の項目に対する評価値を算出し、
前記評価値が所定条件を満たす場合に、検索される文書の絞り込みに前記複数の項目のうち前記一の項目を使用することを推奨する推奨情報を出力する、
検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は検索プログラム、検索装置および検索方法に関する。
【背景技術】
【０００２】
蓄積された文書の集合の中から、ユーザが入力した検索条件に該当する文書を検索する検索システムが広く利用されている。多くの検索システムでは、ユーザは検索条件として１または２以上のキーワードを入力する。２以上のキーワードを含む検索条件は、それら２以上のキーワードの論理積を意味することが多い。例えば、検索システムは、入力された２以上のキーワードの全てを含む文書を検索する。検索条件として入力するキーワードを増やすことによって、検索される文書を絞り込むことができる。
【０００３】
検索システムを利用するユーザにとって、所望の情報を含まない文書（検索ノイズ）が検索結果から除去され、検索される文書が十分に絞り込まれることが好ましい。しかし、適切な検索結果を得るための必要かつ十分なキーワードを、ユーザが最初から入力することは難しい。ユーザは、少ないキーワードから始めて、検索結果を見ながらキーワードを追加して段階的に文書を絞り込んでいくことが多い。
【０００４】
検索条件としてのキーワードを追加するにあたり、ユーザは、所望の情報について曖昧なイメージのみ有しており適切なキーワードをすぐに想起できないこともある。そこで、検索システムの中には、既に入力されたキーワードと関連しており検索結果の絞り込みに有用である他のキーワードを提示する機能（サジェスチョン機能）を有するものがある。ユーザは、提示されたキーワードの中に所望の情報を表しているものがあると判断した場合、そのキーワードを検索条件に追加することができる。このような検索システムの支援により、検索結果の絞り込みに要する時間を短縮できる。
【０００５】
なお、検索結果の絞り込みに有用なキーワードを携帯端末装置に対して提示する絞込条件抽出装置が提案されている。提案の絞込条件抽出装置は、検索サービス提供者によって予め選択された複数のキーワードそれぞれに対して推奨度を付与する。また、絞込条件抽出装置は、複数のキーワードそれぞれについて、当該キーワードを含む文書の数を確認し、文書数に反比例する絞込有効度を算出する。絞込条件抽出装置は、複数のキーワードそれぞれに対して、推奨度と絞込有効度に応じた総合評価値を算出する。絞込条件抽出装置は、総合評価値が高いキーワードを携帯端末装置に対して提示する。
【０００６】
また、関係データベースからデータを検索するときのデータの絞り込みを効率化する検索装置が提案されている。提案の検索装置は、テーブルに含まれる複数の項目それぞれについて、当該項目に登録された値の種類を抽出し、同じ種類の値を含むレコードの件数をカウントする。検索装置は、テーブルの項目と値の種類とレコード件数とを対応付けた情報を、ディスプレイに表示する。ユーザは、表示されたレコード件数を参照して、検索条件として一の項目と一の値の種類とを指定する。すると、検索装置は、指定された項目に指定された種類の値が登録されているレコードをテーブルから検索する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−５８５７４号公報
【特許文献２】特開２００９−２３８０２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、文書の検索に使用可能なキーワードは、その意味に応じて複数の項目（キーワードの種類）に分類されることがある。例えば、情報処理システムに関する文書には、ハードウェア名、ソフトウェア名、バージョン番号、エラーコード、エラーメッセージなどの項目が含まれていることがある。情報処理システムに関する文書の検索結果は、このような項目のうちの１つまたは２つ以上を用いて絞り込むことができる。
【０００９】
ここで、複数の項目の中に、入力すべき具体的なキーワードを検索開始時点でユーザがまだ知っておらず、それを知るために調査などの作業を要するものが存在することがある。このような検索システムの利用形態は、作業連動型検索と言うことができる。作業連動型検索では、検索条件としてキーワードを追加するときに、ユーザの作業が発生する。
【００１０】
例えば、情報処理システムに障害が発生し、その障害に関する文書を検索しようとする場合を考える。ユーザが障害を認識した時点では、その情報処理システムに搭載されているハードウェアの名称、ソフトウェアの名称、バージョン番号、情報処理システムが出力したエラーコード、エラーメッセージなどを、ユーザがまだ知らないことがある。障害に関連するハードウェア名、ソフトウェア名、バージョン番号などを知るために、例えば、ユーザは、情報処理システム外に保存された設計情報や情報処理システム内に存在する設定ファイルなどを閲覧することが考えられる。また、障害に関連するエラーコードやエラーメッセージなどを知るために、例えば、ユーザは、情報処理システム内に存在するログファイルを閲覧することが考えられる。
【００１１】
検索結果の絞り込みに伴って発生するユーザの作業は、少ない方が好ましい。よって、複数の項目のうち検索結果の絞り込みに有用な項目を、作業前にユーザが知ることができる方が好ましい。絞り込みに有用な項目についてキーワードを知るための作業を優先的に行い、そうでない項目についてはキーワードを知るための作業を省略できる。
【００１２】
しかし、上記の特許文献１，２に記載されたようなサジェスチョン機能は、個々の具体的なキーワードを提示するものである。ある項目に属する特定のキーワードが検索結果の絞り込みに有用であったとしても、同じ項目に属する他のキーワードも有用であるとは限らない。このため、キーワードのサジェスチョン機能のみでは、検索結果の絞り込みに有用な項目を判断することが難しく、どのような作業を優先的に行えばよいかを判断することが難しい。その結果、作業連動型検索の効率向上は、ユーザの知識や経験に依存することが多く、検索システムによる支援が十分でなかったという問題がある。
【００１３】
例えば、キーワードのサジェスチョン機能によって、特定のエラーコードがユーザに提示されたとする。この提示を受けて、ユーザは、障害が発生した情報処理システムを調査して実際のエラーコードを知ることが考えられる。ただし、調査されたエラーコードは、提示された特定のエラーコードと一致しないことも多い。そして、提示された特定のエラーコードは汎用性が低く検索結果の絞り込みに有用である一方、調査されたエラーコードは汎用性が高く検索結果の絞り込みに有用でないことがある。その場合、調査されたエラーコードを検索条件に追加しても検索結果を十分に絞り込むことができず、エラーコードの調査が無駄になってしまうおそれがある。
【００１４】
１つの側面では、本発明は、検索条件を追加するときにユーザの作業が発生する場合であっても検索結果の絞り込みの効率を向上できるようにする検索プログラム、検索装置および検索方法を提供することを目的とする。
【課題を解決するための手段】
【００１５】
１つの態様では、コンピュータに以下の処理を実行させる検索プログラムが提供される。記憶装置に記憶された文書の集合の中で、第１のキーワードに基づいて検索される文書の数である第１の文書数と、第１のキーワードと複数の項目のうちの一の項目に属する第２のキーワードとの論理積に基づいて検索される文書の数である第２の文書数と、第１のキーワードと一の項目に属する第３のキーワードとの論理積に基づいて検索される文書の数である第３の文書数とを算出する。第１の文書数と第２の文書数と第３の文書数とを用いて、一の項目に対する評価値を算出する。評価値が所定条件を満たす場合に、検索される文書の絞り込みに複数の項目のうち一の項目を使用することを推奨する推奨情報を出力する。
【００１６】
また、１つの態様では、記憶部と制御部とを有する検索装置が提供される。また、１つの態様では、コンピュータが実行する検索方法が提供される。
【発明の効果】
【００１７】
１つの側面では、検索条件を追加するときにユーザの作業が発生する場合であっても検索結果の絞り込みの効率が向上する。
【図面の簡単な説明】
【００１８】
【図１】第１の実施の形態の検索装置の例を示す図である。
【図２】第２の実施の形態の情報処理システムの例を示す図である。
【図３】検索装置のハードウェア例を示すブロック図である。
【図４】蓄積される文書の例を示す図である。
【図５】検索装置と端末装置の通信例を示すシーケンス図である。
【図６】抽出ルールテーブルと項目値リストの例を示す図である。
【図７】検索クエリリストの例を示す図である。
【図８】検索結果リストの例を示す図である。
【図９】クエリマップの例を示す図である。
【図１０】推奨項目テーブルの例を示す図である。
【図１１】検索画面の例を示す図である。
【図１２】検索装置と端末装置の機能例を示すブロック図である。
【図１３】絞込効果分析の手順例を示すフローチャートである。
【図１４】推奨項目提示の手順例を示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下、本実施の形態を図面を参照して説明する。
［第１の実施の形態］
第１の実施の形態を説明する。
【００２０】
図１は、第１の実施の形態の検索装置の例を示す図である。
第１の実施の形態の検索装置１０は、１または２以上のキーワードを指定した検索要求を受け付け、文書の集合の中から指定のキーワードに該当する文書を検索する。２以上のキーワードの集合は、それら２以上のキーワードの論理積を意味する。例えば、検索装置１０は、指定されたキーワードの全てを含む文書を検索する。検索装置１０は、検索要求に応答して検索結果を出力する。検索結果は、検索された１または２以上の文書についての情報を含む。検索結果は、検索された文書の識別情報を含んでもよく、検索された文書へのリンクを含んでもよい。また、検索結果は、検索された文書の内容の一部または全部を含んでもよく、検索された文書そのものを含んでもよい。
【００２１】
検索要求に含まれるキーワードは、キーボードなどの入力装置を用いてユーザによって入力される。検索結果は、出力装置に出力され、例えば、ディスプレイに表示される。入力装置や出力装置は、検索装置１０が備えてもよいし、検索装置１０と異なる端末装置が備えてもよい。後者の場合、例えば、検索装置１０と端末装置とがネットワークで接続される。検索装置１０は、クライアントコンピュータなどのクライアント装置でもよいし、サーバコンピュータなどのサーバ装置でもよい。
【００２２】
検索装置１０は、記憶部１１および制御部１２を有する。
記憶部１１は、文書の集合を記憶する。記憶部１１は、好ましくは、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性のストレージである。ただし、記憶部１１が、ＲＡＭ（Random Access Memory）などの揮発性の半導体メモリである場合も考えられる。第１の実施の形態では、記憶部１１に文書の集合が記憶されていることとしたが、検索装置１０の外部に存在する記憶装置に文書の集合が記憶されていてもよい。
【００２３】
制御部１２は、検索要求に応じて、文書の集合の中から指定されたキーワードに該当する文書を検索し、検索結果を出力する。また、制御部１２は、以下に説明するように、ユーザによるキーワードの指定を支援する。制御部１２は、例えば、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）などのプロセッサである。ただし、制御部１２は、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）などの特定用途の電子回路を含んでもよい。プロセッサは、ＲＡＭなどのメモリ（記憶部１１でもよい）に記憶されたプログラムを実行する。プログラムには、以下に説明する処理を記載した検索プログラムが含まれる。複数のプロセッサの集合（マルチプロセッサ）を「プロセッサ」と呼ぶこともある。
【００２４】
記憶部１１に記憶された文書の集合には、一例として、文書１３ａ，１３ｂが含まれる。文書１３ａには、キーワード１５ａ（第１のキーワード）が記載されている。また、文書１３ａには、項目１４ａ（第１の項目）に属するキーワード１５ｂ（第２のキーワード）が記載されている。また、文書１３ａには、項目１４ｂ（第２の項目）に属するキーワード１５ｄ（第４のキーワード）が記載されている。文書１３ｂには、文書１３ａと同様にキーワード１５ａが記載されている。また、文書１３ｂには、項目１４ａに属するキーワード１５ｃ（第３のキーワード）が記載されている。また、文書１３ｂには、項目１４ｂに属するキーワード１５ｅ（第５のキーワード）が記載されている。
【００２５】
項目１４ａ，１４ｂは、キーワードの種類やカテゴリを示すものであり、例えば、ハードウェア名、ソフトウェア名、バージョン番号、エラーコード、エラーメッセージなどである。キーワード１５ｂ，１５ｃ，１５ｄ，１５ｅは、何れかの項目についての具体的な文字列、数値、記号列などである。例えば、項目１４ａが「ソフトウェア名」というカテゴリである場合、キーワード１５ｂ，１５ｃは具体的な製品名を示す文字列である。また、例えば、項目１４ｂが「バージョン番号」というカテゴリである場合、キーワード１５ｄ，１５ｅは具体的なバージョンを示す数値である。各文書は、例えば、項目とその値とを対応付けた所定のフォーマットに従って記載される。
【００２６】
ユーザによるキーワードの指定を支援するため、制御部１２は、キーワード１５ａに基づいて検索される文書（例えば、キーワード１５ａを含む文書）の数である文書数１６ａ（第１の文書数）を算出する。また、制御部１２は、キーワード１５ａ，１５ｂの論理積に基づいて検索される文書（例えば、キーワード１５ａ，１５ｂの両方を含む文書）の数である文書数１６ｂ（第２の文書数）を算出する。また、制御部１２は、キーワード１５ａ，１５ｃの論理積に基づいて検索される文書（例えば、キーワード１５ａ，１５ｃの両方を含む文書）の数である文書数１６ｃ（第３の文書数）を算出する。文書数１６ｂ，１６ｃは、文書数１６ａよりも小さい。文書数１６ａ，１６ｂ，１６ｃを算出するために、例えば、制御部１２は、該当する文書を実際に検索する。項目１４ａに属する他のキーワードが存在する場合、制御部１２は、キーワード１５ａと当該他のキーワードの論理積に基づいて検索される文書の数を更に算出してもよい。
【００２７】
制御部１２は、算出した文書数１６ａ，１６ｂ，１６ｃを用いて、項目１４ａに対する評価値１７ａを算出する。評価値１７ａは、項目１４ａに属する個々のキーワードに対する評価ではなく、項目１４ａに属するキーワードの集合全体に対する総合的な評価を表す。評価値１７ａは、項目１４ａを検索条件に使用することによる検索結果の絞り込み効果の期待値であると言える。例えば、評価値１７ａが大きいほど、絞り込み効果が大きく検索される文書の数が大きく減少することが期待される。
【００２８】
ここで、同じ項目に属するキーワードの間でも、実際の検索結果の絞り込み効果には差異があることが多い。そこで、制御部１２は、個々のキーワードの絞り込み効果を均した期待値を評価値１７ａとする。例えば、制御部１２は、文書数１６ａと文書数１６ｂの差または比を算出し、文書数１６ａと文書数１６ｃの差または比を算出する。制御部１２は、例えば、算出した差または比の平均を評価値１７ａとする。ただし、算出した差または比の分散が小さいほど、評価値１７ａの信頼性は高い。そこで、制御部１２は、算出した差または比の分散を評価値１７ａに反映させるようにしてもよい。
【００２９】
同様にして、制御部１２は、キーワード１５ａ，１５ｄの論理積に基づいて検索される文書（例えば、キーワード１５ａ，１５ｄの両方を含む文書）の数である文書数１６ｄ（第４の文書数）を算出する。また、制御部１２は、キーワード１５ａ，１５ｅの論理積に基づいて検索される文書（例えば、キーワード１５ａ，１５ｅの両方を含む文書）の数である文書数１６ｅ（第５の文書数）を算出する。そして、制御部１２は、算出した文書数１６ａ，１６ｄ，１６ｅを用いて、項目１４ｂに対する評価値１７ｂを算出する。例えば、制御部１２は、文書数１６ａと文書数１６ｄの差または比を算出し、文書数１６ａと文書数１６ｅの差または比を算出し、算出した差または比の平均を評価値１７ｂとする。
【００３０】
制御部１２は、評価値１７ａ，１７ｂに基づいて、推奨情報１８を生成して出力する。推奨情報１８は、例えば、ユーザが操作する端末装置のディスプレイに表示される。推奨情報１８は、複数の項目のうち検索結果の絞り込みに有用な項目（推奨項目）を示し、例えば、算出された評価値が大きい項目を示す。評価値１７ａが所定条件を満たす場合、推奨情報１８は項目１４ａが推奨項目であることを示す。所定条件は、評価値１７ａが閾値より大きいことであってもよい。また、所定条件は、評価値１７ａが他の項目の評価値よりも大きいことであってもよい。推奨項目は２つ以上あってもよい。その場合、算出された評価値が大きい順に２以上の推奨項目が優先付けされてもよい。
【００３１】
なお、検索装置１０は、検索要求を受け付ける前に予め評価値１７ａ，１７ｂを算出しておいてもよいし、キーワード１５ａを指定した検索要求を受け付けた後に評価値１７ａ，１７ｂを算出してもよい。また、検索装置１０は、キーワード１５ａを指定した検索要求を受け付けた後に、推奨情報１８を出力してもよい。推奨情報１８は、キーワード１５ａを指定した検索要求に対応する検索結果と併せて出力されてもよいし、検索結果とは別個に（例えば、検索結果より前に）出力されてもよい。
【００３２】
第１の実施の形態の検索装置１０によれば、文書の集合の中で、キーワード１５ａに対応する文書数１６ａと、キーワード１５ａ，１５ｂの論理積に対応する文書数１６ｂと、キーワード１５ａ，１５ｃの論理積に対応する文書数１６ｃとが算出される。文書数１６ａ，１６ｂ，１６ｃを用いて、項目１４ａに対する評価値１７ａが算出される。そして、評価値１７ａが所定条件を満たす場合に、検索される文書の絞り込みに項目１４ａを使用することを推奨する推奨情報１８が出力される。推奨情報１８が示す項目１４ａに属するキーワードをユーザが追加入力することで、検索結果を効率的に絞り込むことができると期待できる。よって、入力すべきキーワードを知るために調査などの作業が発生する場合であっても、検索結果の絞り込みを効率的に行うことができる。
【００３３】
すなわち、ある項目についての情報をユーザが知らない場合、ユーザはそれを知るためにファイルの閲覧や関係者への質問などの作業を行うことになる。しかし、同じ項目に属するキーワードには様々なものがある。ある項目に属する特定のキーワードが検索結果の絞り込みに有用であるとしても、作業によって取得した別のキーワードが検索結果の絞り込みに有用であるとは限らない。よって、入力すべきキーワードを取得するために行った作業が無駄になってしまうリスクがある。これに対し、検索装置１０は、個々のキーワードの有用性ではなく項目の平均的な有用性を評価する。検索結果の絞り込みに有用である可能性が高い推奨項目が検索装置１０によって提示されることで、ユーザの作業が無駄になってしまうリスクを低減でき、検索結果の絞り込みに要する時間を短縮できる。
【００３４】
［第２の実施の形態］
次に、第２の実施の形態を説明する。
図２は、第２の実施の形態の情報処理システムの例を示す図である。
【００３５】
第２の実施の形態の情報処理システムは、データセンタ３０、検索装置１００および端末装置２００を有する。データセンタ３０、検索装置１００および端末装置２００は、ネットワーク４０で接続されている。ネットワーク４０は、ＬＡＮ（Local Area Network）を含んでもよく、インターネットなどの広域ネットワークを含んでもよい。検索装置１００と端末装置２００とは、互いに近い場所に設定されていてもよいし、離れた場所に設定されていてもよい。また、検索装置１００と端末装置２００の一方または両方が、データセンタ３０の内部またはデータセンタ３０から近い場所に設置されていてもよいし、データセンタ３０から離れた場所に設置されていてもよい。
【００３６】
データセンタ３０は、情報通信機器のハードウェアおよびソフトウェアを顧客に使用させるサービスを提供する。データセンタ３０は、サーバ装置３１を含む複数のサーバ装置、通信装置３２を含む複数の通信装置、ストレージ装置３３を含む複数のストレージ装置などの各種の情報通信機器をもつ。サーバ装置３１は、ソフトウェアを実行するサーバコンピュータである。通信装置３２は、スイッチやルータなど、サーバ装置間を接続するネットワークデバイスである。ストレージ装置３３は、プログラムやデータを記憶する。
【００３７】
データセンタ３０では、インシデントが発生することがある。「インシデント」は、顧客がデータセンタ３０を利用して行えると期待された業務を、正常に行えなくなる状態または現象である。インシデントは、情報通信機器の障害を含む。インシデントは、ハードウェアの故障、設定ミス、プログラムの不具合、災害、室温制御などの環境制御の失敗など、様々な原因で発生し得る。インシデントが発生すると、データセンタ３０から端末装置２００に対してインシデント発生が通知される。
【００３８】
検索装置１００は、インシデント対応報告の文書を管理するサーバコンピュータである。インシデント対応報告は、過去に発生したインシデントを示す情報と、そのインシデントを解消するために行った対応策を示す情報とを記載したものである。インシデント毎にインシデント対応報告が作成され、インシデント対応報告の文書が検索装置１００に登録される。１つの文書は、例えば、１つのファイルとして記憶装置に保存される。また、検索装置１００は、端末装置２００から検索クエリを受信し、受信した検索クエリに応じて、蓄積された文書の中から該当する文書を検索する。具体的には、検索装置１００は、検索クエリで指定されたキーワードの全てを含む文書を検索する。検索装置１００は、検索された文書を示す検索結果を端末装置２００に送信する。
【００３９】
端末装置２００は、データセンタ３０の運用管理者が使用するクライアントコンピュータである。端末装置２００は、インシデントが発生するとデータセンタ３０からインシデント通知を受信する。すると、運用管理者は、インシデントを解消するためのインシデント対応作業を行う。インシデント対応作業において、運用管理者は、端末装置２００を用いてデータセンタ３０からインシデントに関連する各種の情報を収集する。例えば、端末装置２００がデータセンタ３０にコマンドを送信する。ただし、運用管理者またはその依頼を受けた者が、データセンタ３０に出向いて実地調査を行ってもよい。また、運用管理者は、端末装置２００を用いて、今回のインシデントに類似する過去のインシデントについての文書を検索して検索装置１００から取得する。例えば、端末装置２００が検索装置１００に、１または２以上のキーワードを指定した検索クエリを送信する。
【００４０】
運用管理者は、データセンタ３０から収集した情報や検索装置１００から取得した過去のインシデント対応報告の文書に基づいて対応策を決定し、インシデントを解消するための作業を行う。インシデントが解消すると、運用管理者は、今回のインシデントについてのインシデント対応報告を作成し、その文書を検索装置１００に登録する。
【００４１】
図３は、検索装置のハードウェア例を示すブロック図である。
検索装置１００は、ＣＰＵ１０１、ＲＡＭ１０２、ＨＤＤ１０３、画像信号処理部１０４、入力信号処理部１０５、媒体リーダ１０６および通信インタフェース１０７を有する。ＣＰＵ１０１、ＲＡＭ１０２、ＨＤＤ１０３、画像信号処理部１０４、入力信号処理部１０５、媒体リーダ１０６および通信インタフェース１０７は、バス１０８に接続されている。なお、検索装置１００は、第１の実施の形態の検索装置１０に対応する。ＣＰＵ１０１は、第１の実施の形態の制御部１２に対応する。ＲＡＭ１０２またはＨＤＤ１０３は、第１の実施の形態の記憶部１１に対応する。端末装置２００も、検索装置１００と同様のハードウェアを用いて実装することが可能である。
【００４２】
ＣＰＵ１０１は、プログラムの命令を実行する演算回路を含むプロセッサである。ＣＰＵ１０１は、ＨＤＤ１０３に記憶されたプログラムやデータの少なくとも一部をＲＡＭ１０２にロードし、プログラムを実行する。なお、ＣＰＵ１０１は複数のプロセッサコアを備えてもよく、検索装置１００は複数のプロセッサを備えてもよく、以下で説明する処理を複数のプロセッサまたはプロセッサコアを用いて並列に実行してもよい。また、複数のプロセッサの集合（マルチプロセッサ）を「プロセッサ」と呼んでもよい。
【００４３】
ＲＡＭ１０２は、ＣＰＵ１０１が実行するプログラムやＣＰＵ１０１が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、検索装置１００は、ＲＡＭ以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
【００４４】
ＨＤＤ１０３は、ＯＳ（Operating System）やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。プログラムには、検索プログラムが含まれる。なお、検索装置１００は、フラッシュメモリやＳＳＤなどの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。
【００４５】
画像信号処理部１０４は、ＣＰＵ１０１からの命令に従って、検索装置１００に接続されたディスプレイ１１１に画像を出力する。ディスプレイ１１１としては、ＣＲＴ（Cathode Ray Tube）ディスプレイ、液晶ディスプレイ（ＬＣＤ：Liquid Crystal Display）、プラズマディスプレイ、有機ＥＬ（ＯＥＬ：Organic Electro-Luminescence）ディスプレイなどを用いることができる。
【００４６】
入力信号処理部１０５は、検索装置１００に接続された入力デバイス１１２から入力信号を取得し、ＣＰＵ１０１に出力する。入力デバイス１１２としては、マウスやタッチパネルやタッチパッドやトラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、検索装置１００に、複数の種類の入力デバイスが接続されていてもよい。
【００４７】
媒体リーダ１０６は、記録媒体１１３に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体１１３として、例えば、フレキシブルディスク（ＦＤ：Flexible Disk）やＨＤＤなどの磁気ディスク、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）などの光ディスク、光磁気ディスク（ＭＯ：Magneto-Optical disk）、半導体メモリなどを使用できる。媒体リーダ１０６は、例えば、記録媒体１１３から読み取ったプログラムやデータをＲＡＭ１０２またはＨＤＤ１０３に格納する。
【００４８】
通信インタフェース１０７は、ネットワーク４０に接続され、ネットワーク４０を介して端末装置２００などの他の装置と通信を行うインタフェースである。通信インタフェース１０７は、スイッチなどの通信装置とケーブルで接続される有線通信インタフェースでもよいし、基地局と無線リンクで接続される無線通信インタフェースでもよい。
【００４９】
図４は、蓄積される文書の例を示す図である。
検索装置１００には、文書１２１ａ，１２１ｂなどの複数の文書が蓄積されている。１つの文書は、１つのインシデントについての１つのインシデント対応報告を示す。各文書は、項目とその値とを対応付けた所定のフォーマットに従って記載されている。
【００５０】
項目には、インシデント種別、発生日時、ソフトウェア、バージョン、エラーログおよび対応方法が含まれる。「インシデント種別」は、インシデントの重要度のレベルを表す。「発生日時」は、データセンタ３０から端末装置２００にインシデントが通知された日時を表す。「ソフトウェア」は、インシデントの原因となったソフトウェアの製品名を表す。ソフトウェアには、ＯＳ、データベース管理ソフトウェア、Ｗｅｂサーバソフトウェアなどが含まれる。「バージョン」は、ソフトウェアのバージョンの名称を表す。「エラーログ」は、ログファイルに出力されたエラーメッセージを表す。「対応方法」は、インシデントを解消するために行われた作業を表す。対応方法は、後に類似のインシデントが発生したときにそれを解消するために参照されることがある。
【００５１】
文書１２１ａには、インシデント種別が「警告」、発生日時が「２０１５−１０−０７  １３：３５：３０」、ソフトウェアが「Ｆ−ＳＱＬＤＢ」、バージョンが「Ｖ６．０」、エラーログが「Ｄｉｓｋ  ｓｐａｃｅ  ｓｈｏｒｔａｇｅ」と記載されている。文書１２１ｂには、インシデント種別が「エラー」、発生日時が「２０１５−１０−１６  １５：４９：１０」、ソフトウェアが「Ｆ−ＳＱＬＤＢ」、バージョンが「Ｖ７．０」、エラーログが「Ｗｒｏｎｇ  ｆｌａｇ」と記載されている。
【００５２】
図５は、検索装置と端末装置の通信例を示すシーケンス図である。
インシデントが発生すると、データセンタ３０内の何れかの情報通信機器（例えば、サーバ装置３１）から端末装置２００にインシデント通知が送信される（Ｓ１０）。インシデント通知自体には、インシデントを分析するための十分な情報は含まれていない。
【００５３】
端末装置２００は、運用管理者が入力した１または２以上のキーワードを取得し、取得したキーワードを含む検索クエリを生成して検索装置１００に送信する（Ｓ１１）。検索装置１００は、端末装置２００から検索クエリを受信すると、検索クエリで指定されたキーワードを検索条件として用いて文書を検索し、検索結果を端末装置２００に送信する（Ｓ１２）。通常、検索装置１００は、指定されたキーワードの全てを含む文書を検索する。検索結果は、検索された文書に関する情報のリストを含む。検索された文書に関する情報は、文書の書誌情報や文書へのリンクを含んでもよい。また、検索された文書に関する情報は、文書の内容の一部または全部を含んでもよい。
【００５４】
また、検索装置１００は、検索クエリで指定されたキーワードに基づいて、インシデント対応報告の文書に定義された複数の項目のうち検索結果を更に絞り込む（検索される文書の数を減らす）ために有用な推奨項目を判定する。検索装置１００は、推奨項目を示す情報を端末装置２００に送信する（Ｓ１３）。なお、検索装置１００は、推奨項目の情報を検索結果よりも前に送信するようにしてもよいし、推奨項目の情報と検索結果とを併せて送信するようにしてもよい。また、検索装置１００は、受信した検索クエリに対応する文書をすぐに検索せず、最初に推奨項目の情報のみを送信するようにしてもよい。
【００５５】
端末装置２００は、検索結果と推奨項目の情報を検索装置１００から受信すると、検索結果および推奨項目をディスプレイに表示する。運用管理者は、検索された文書の数が多すぎると判断した場合、推奨項目に属するキーワードを追加入力して検索結果の絞り込みを試みる。ただし、運用管理者は、まだインシデントの発生状況を十分に確認しておらず原因分析を行っていないため、入力すべきキーワードがわからないことがある。
【００５６】
そこで、例えば、端末装置２００は、運用管理者からの入力に基づいて、データセンタ３０内の情報通信機器（例えば、サーバ装置３１）に調査コマンドを送信する（Ｓ１４）。調査コマンドは、情報通信機器に保存された設定ファイルやログファイルを閲覧するコマンドでもよい。また、調査コマンドは、ＣＰＵ使用率やＲＡＭ使用率などハードウェアの使用状況の情報を収集するコマンドでもよく、プロセスリストなどソフトウェアの実行状況の情報を収集するコマンドでもよい。端末装置２００は、調査コマンドに対応する調査結果をデータセンタ３０から受信する（Ｓ１５）。ここでの調査対象は推奨項目に関連するものに限定してよく、推奨項目に関連しないものは調査しなくてもよい。
【００５７】
調査結果を受けて、運用管理者は、検索条件として追加すべき推奨項目のキーワードを知ることができる。端末装置２００は、運用管理者が追加入力したキーワードを取得し、前に入力されたキーワードと追加されたキーワードとを含む検索クエリを生成して検索装置１００に送信する（Ｓ１６）。検索装置１００は、新たな検索クエリに対応する検索結果を端末装置２００に送信する（Ｓ１７）。また、検索装置１００は、新たな検索クエリで指定されたキーワードに基づいて、検索結果を更に絞り込むために有用な新たな推奨項目を判定し、当該推奨項目を示す情報を端末装置２００に送信する（Ｓ１８）。
【００５８】
運用管理者は、検索された文書の数がまだ多すぎると判断した場合、新たな推奨項目に属するキーワードを追加入力して検索結果の絞り込みを試みる。調査不足により入力すべきキーワードがわからない場合、例えば、端末装置２００は、データセンタ３０内の情報通信機器に追加の調査コマンドを送信し（Ｓ１９）、当該調査コマンドに対応する追加の調査結果をデータセンタ３０から受信する（Ｓ２０）。
【００５９】
追加の調査結果を受けて、運用管理者は、追加の推奨項目のキーワードを知ることができる。端末装置２００は、運用管理者が追加入力したキーワードを取得し、これまでに入力されたキーワードと追加されたキーワードとを含む検索クエリを生成して検索装置１００に送信する（Ｓ２１）。検索装置１００は、新たな検索クエリに対応する検索結果を端末装置２００に送信する（Ｓ２２）。また、検索装置１００は、新たな検索クエリで指定されたキーワードに基づいて、検索結果を更に絞り込むために有用な新たな推奨項目を判定し、当該推奨項目を示す情報を端末装置２００に送信する（Ｓ２３）。
【００６０】
運用管理者は、検索された文書の数が適切であると判断した場合、検索結果に挙げられた文書の少なくとも一部を検索装置１００から取得して閲覧する。そして、運用管理者は、文書に記載された過去の対応方法などを参考にしてインシデントを解消するための作業を決定する。例えば、端末装置２００は、運用管理者からの入力に基づいて、データセンタ３０内の情報通信機器（例えば、サーバ装置３１）に保守コマンドを送信する（Ｓ２４）。保守コマンドは、設定ファイルを書き換えるコマンドでもよく、一部のプロセスを強制終了させ再起動を禁止するコマンドでもよい。
【００６１】
運用管理者は、端末装置２００を用いて、今回のインシデントについてのインシデント対応報告を作成する。端末装置２００は、インシデント対応報告の文書を検索装置１００に送信する（Ｓ２５）。検索装置１００は、受信した文書を保存する。
【００６２】
次に、推奨項目を提示するための検索装置１００の処理について説明する。以下に説明する推奨項目テーブルを生成するまでの処理は、検索クエリを受信する前に予め実行される。例えば、検索装置１００は、定期的に推奨項目テーブルを更新する。
【００６３】
図６は、抽出ルールテーブルと項目値リストの例を示す図である。
検索装置１００は、抽出ルールテーブル１２２を記憶する。抽出ルールテーブル１２２は、文書から項目とその値との組を抽出するために使用されるものであり、インシデント対応報告のフォーマットに基づいて予め作成されている。
【００６４】
抽出ルールテーブル１２２は、項目名と抽出箇所の欄を含む。項目名の欄には、項目を識別するための名称が登録される。推奨項目の提示に用いる項目名は、文書に記載された名称と同じでもよいし異なってもよい。第２の実施の形態では、ソフトウェアに対して「ｓｏｆｔｗａｒｅ」、バージョンに対して「ｖｅｒｓｉｏｎ」、エラーログに対して「ｅｒｒｏｒ」という項目名を用いる。抽出箇所の欄には、文書の中で項目の値が記載されている箇所を示す情報が登録される。ソフトウェアの値は、「ソフトウェア：」と改行の間に記載されている。バージョンの値は、「バージョン：」と改行の間に記載されている。エラーログの値は、「エラーログ：」と改行の間に記載されている。
【００６５】
なお、インシデント対応報告のフォーマットは、厳格なフォーマットでもよいし緩いフォーマット（いわゆるフリーフォーマットなど）でもよい。図４のインシデント対応報告の例では、１行が１つの項目に対応し、１行内では項目の名称に続いて項目の値が記載されている。また、項目の名称は予め決められている。この点で、図４のインシデント対応報告の例は、比較的厳格なフォーマットに従って記載されている。インシデント対応報告が緩いフォーマットに従って記載されている場合、そのフォーマットに対応する抽出ルールテーブル１２２が用意される。抽出箇所の定義に正規表現を用いてもよい。また、項目の名称から所定範囲内にある文字列を、項目の値の検索範囲としてもよい。
【００６６】
検索装置１００は、蓄積された文書と抽出ルールテーブル１２２に基づいて項目値リスト１２３を生成し、項目値リスト１２３を記憶する。項目値リスト１２３は、項目名と値の組を列挙する。検索装置１００は、蓄積された全ての文書から、抽出ルールテーブル１２２に従って項目名と値の組を抽出する。項目値リスト１２３は、抽出された全ての項目名と値の組を含む。ただし、重複する項目名と値の組については重複して記載しなくてよい。項目値リスト１２３の１行は、項目名と値の組１つを示す。
【００６７】
例えば、項目値リスト１２３は、「ｓｏｆｔｗａｒｅ：Ｆ−ＳＱＬＤＢ」、「ｖｅｒｓｉｏｎ：Ｖ６．０」、「ｖｅｒｓｉｏｎ：Ｖ７．０」、「ｅｒｒｏｒ：”Ｄｉｓｋ  ｓｐａｃｅ  ｓｈｏｒｔａｇｅ”」、「ｅｒｒｏｒ：”Ｗｒｏｎｇ  ｆｌａｇ”」を含む。
【００６８】
図７は、検索クエリリストの例を示す図である。
検索装置１００は、項目値リスト１２３に基づいて、検索クエリリスト１２４ａまたは検索クエリリスト１２４ｂを生成し、検索クエリリスト１２４ａまたは検索クエリリスト１２４ｂを記憶する。検索クエリリスト１２４ａ，１２４ｂは、検索クエリを列挙する。検索装置１００は、項目値リスト１２３の中から１または２以上の項目の値を選択し、選択した項目の値をキーワードとして含む検索クエリを生成する。検索クエリリスト１２４ａ，１２４ｂには、考え得る全てのキーワードの組み合わせパターンについての検索クエリが列挙される。項目値リスト１２３にＮ個（Ｎは２以上の整数）の項目の値が記載されている場合、２N−１個の検索クエリが生成される。
【００６９】
検索クエリリスト１２４ａと検索クエリリスト１２４ｂの何れを生成するかは、検索装置１００が使用する検索エンジンに依存する。検索クエリにおいてキーワードの属する項目名を指定できない場合は検索クエリリスト１２４ａが生成され、検索クエリにおいてキーワードの属する項目名を指定できる場合は検索クエリリスト１２４ｂが生成される。
【００７０】
前者の検索クエリによれば、指定された項目に指定されたキーワードを含む文書が検索される。一方、後者の検索クエリによれば、項目に関係なく指定されたキーワードを含む文書が検索される。例えば、エラーログの項目に「Ｆ−ＳＱＬＤＢ」が記載された文書が存在するとする。項目を指定せずキーワードを「Ｆ−ＳＱＬＤＢ」と指定すると、この文書は検索結果に含まれる。一方、項目を「ｓｏｆｔｗａｒｅ」と指定しキーワードを「Ｆ−ＳＱＬＤＢ」と指定すると、この文書は検索結果に含まれない。
【００７１】
検索クエリリスト１２４ａには、例えば、［Ｆ−ＳＱＬＤＢ］，［Ｖ６．０］，［Ｖ７．０］，［”Ｄｉｓｋ  ｓｐａｃｅ  ｓｈｏｒｔａｇｅ”］，［”Ｗｒｏｎｇ  ｆｌａｇ”］などが記載される。これらは、キーワードを１つ含む検索クエリである。また、検索クエリリスト１２４ａには、例えば、［Ｆ−ＳＱＬＤＢ  Ｖ６．０］，［Ｆ−ＳＱＬＤＢ  Ｖ７．０］，［Ｆ−ＳＱＬＤＢ  ”Ｄｉｓｋ  ｓｐａｃｅ  ｓｈｏｒｔａｇｅ”］，［Ｆ−ＳＱＬＤＢ  ”Ｗｒｏｎｇ  ｆｌａｇ”］，［Ｖ６．０  Ｖ７．０］などが記載される。これらは、キーワードを２つ含む検索クエリである。
【００７２】
一方、検索クエリリスト１２４ｂには、例えば、［ｓｏｆｔｗａｒｅ：Ｆ−ＳＱＬＤＢ］，［ｖｅｒｓｉｏｎ：Ｖ６．０］，［ｖｅｒｓｉｏｎ：Ｖ７．０］，［ｅｒｒｏｒ：”Ｄｉｓｋ  ｓｐａｃｅ  ｓｈｏｒｔａｇｅ”］，［ｅｒｒｏｒ：”Ｗｒｏｎｇ  ｆｌａｇ”］などが記載される。これらは、キーワードを１つ含む検索クエリである。また、検索クエリリスト１２４ｂには、例えば、［ｓｏｆｔｗａｒｅ：Ｆ−ＳＱＬＤＢ  ｖｅｒｓｉｏｎ：Ｖ６．０］，［ｓｏｆｔｗａｒｅ：Ｆ−ＳＱＬＤＢ  ｖｅｒｓｉｏｎ：Ｖ７．０］，［ｓｏｆｔｗａｒｅ：Ｆ−ＳＱＬＤＢ  ｅｒｒｏｒ：”Ｄｉｓｋ  ｓｐａｃｅ  ｓｈｏｒｔａｇｅ”］，［ｓｏｆｔｗａｒｅ：Ｆ−ＳＱＬＤＢ  ｅｒｒｏｒ：”Ｗｒｏｎｇ  ｆｌａｇ”］，［ｖｅｒｓｉｏｎ：Ｖ６．０  ｖｅｒｓｉｏｎ：Ｖ７．０］などが記載される。これらは、キーワードを２つ含む検索クエリである。
【００７３】
図８は、検索結果リストの例を示す図である。
検索装置１００は、検索クエリリスト１２４ａまたは検索クエリリスト１２４ｂに列挙された検索クエリを１つずつ実行していき、各検索クエリに該当する文書の数を算出する。該当する文書の数は、通常、検索クエリで指定された全てのキーワードを含む文書の数である。そして、検索装置１００は、検索結果リスト１２５を生成する。検索結果リスト１２５は、検索クエリと文書数の組を列挙したものである。検索結果リスト１２５の１行は、検索クエリと文書数の組１つを示す。
【００７４】
ただし、検索結果リスト１２５に記載される検索クエリは、検索クエリリスト１２４ａの検索クエリを実行した場合であっても、項目名を含めるようにしておく。これは、後述するように推奨項目の評価値を算出するにあたり、項目名を参照するためである。検索装置１００は、検索クエリリスト１２４ａの検索クエリを実行した場合、項目値リスト１２３に基づいてキーワード毎の項目名を補完しておく。
【００７５】
例えば、検索結果リスト１２５は、「［ｓｏｆｔｗａｒｅ：Ｆ−ＳＱＬＤＢ］−＞３００，０００」という情報を含む。これは、［Ｆ−ＳＱＬＤＢ］または［ｓｏｆｔｗａｒｅ：Ｆ−ＳＱＬＤＢ］という検索クエリにより、３０００００件の文書が検索されたことを表す。また、例えば、検索結果リスト１２５は、「［ｓｏｆｔｗａｒｅ：Ｆ−ＳＱＬＤＢ  ｖｅｒｓｉｏｎ：Ｖ６．０］−＞３０，０００」という情報を含む。これは、［Ｆ−ＳＱＬＤＢ  Ｖ６．０］または［ｓｏｆｔｗａｒｅ：Ｆ−ＳＱＬＤＢ  ｖｅｒｓｉｏｎ：Ｖ６．０］という検索クエリにより、３００００件の文書が検索されたことを表す。
【００７６】
図９は、クエリマップの例を示す図である。
検索装置１００は、検索結果リスト１２５に基づいてクエリマップ１２６を生成する。クエリマップ１２６は、複数のノードとノード間を結ぶ複数の一方向リンクとを含む有向グラフである。１つのノードは、検索結果リスト１２５の１行、すなわち、検索クエリと文書数の組１つに対応する。リンクは、検索クエリの包含関係を表す。一方のノードのキーワード数と他方のノードのキーワード数が１つだけ異なり、前者のキーワードの全てを後者が包含している場合、前者から後者に向かうリンクが設定される。
【００７７】
一例として、クエリマップ１２６は、ノード１２６ａ，１２６ｂ，１２６ｃ，１２６ｄ，１２６ｅ，１２６ｆ，１２６ｇ，１２６ｈ，１２６ｉ，１２６ｊ，１２６ｋ，１２６ｌ，１２６ｍを含む。ノード１２６ａは、項目名付きの検索クエリとして、［ｖｅｒｓｉｏｎ：Ｖ６．０］を示す。ノード１２６ｂは、［ｖｅｒｓｉｏｎ：Ｖ７．０］を示す。ノード１２６ｃは、［ｓｏｆｔｗａｒｅ：Ｆ−ＳＱＬＤＢ］を示す。ノード１２６ｄは、［ｅｒｒｏｒ：”Ｄｉｓｋ  ｓｐａｃｅ  ｓｈｏｒｔａｇｅ”］を示す。ノード１２６ｅは、［ｅｒｒｏｒ：”Ｗｒｏｎｇ  ｆｌａｇ”］を示す。
【００７８】
ノード１２６ｆは、［ｓｏｆｔｗａｒｅ：Ｆ−ＳＱＬＤＢ  ｖｅｒｓｉｏｎ：Ｖ６．０］を示す。ノード１２６ｇは、［ｓｏｆｔｗａｒｅ：Ｆ−ＳＱＬＤＢ  ｖｅｒｓｉｏｎ：Ｖ７．０］を示す。ノード１２６ｈは、［ｓｏｆｔｗａｒｅ：Ｆ−ＳＱＬＤＢ  ｅｒｒｏｒ：”Ｄｉｓｋ  ｓｐａｃｅ  ｓｈｏｒｔａｇｅ”］を示す。ノード１２６ｉは、［ｓｏｆｔｗａｒｅ：Ｆ−ＳＱＬＤＢ  ｅｒｒｏｒ：”Ｗｒｏｎｇ  ｆｌａｇ”］を示す。
【００７９】
ノード１２６ｊは、［ｓｏｆｔｗａｒｅ：Ｆ−ＳＱＬＤＢ  ｖｅｒｓｉｏｎ：Ｖ６．０  ｅｒｒｏｒ：”Ｄｉｓｋ  ｓｐａｃｅ  ｓｈｏｒｔａｇｅ”］を示す。ノード１２６ｋは、［ｓｏｆｔｗａｒｅ：Ｆ−ＳＱＬＤＢ  ｖｅｒｓｉｏｎ：Ｖ７．０  ｅｒｒｏｒ：”Ｄｉｓｋ  ｓｐａｃｅ  ｓｈｏｒｔａｇｅ”］を示す。ノード１２６ｌは、［ｓｏｆｔｗａｒｅ：Ｆ−ＳＱＬＤＢ  ｖｅｒｓｉｏｎ：Ｖ６．０  ｅｒｒｏｒ：”Ｗｒｏｎｇ  ｆｌａｇ”］を示す。ノード１２６ｍは、［ｓｏｆｔｗａｒｅ：Ｆ−ＳＱＬＤＢ  ｖｅｒｓｉｏｎ：Ｖ７．０  ｅｒｒｏｒ：”Ｗｒｏｎｇ  ｆｌａｇ”］を示す。
【００８０】
ここで、ノード１２６ｆの検索クエリは、ノード１２６ａの検索クエリのキーワードを全て含み、更に１つの追加キーワードを含んでいる。よって、ノード１２６ａからノード１２６ｆへのリンクが生成される。同様に、ノード１２６ｂからノード１２６ｇ、ノード１２６ｃからノード１２６ｆ，１２６ｇ，１２６ｈ，１２６ｉ、ノード１２６ｄからノード１２６ｈ、ノード１２６ｅからノード１２６ｉへのリンクが生成される。また、ノード１２６ｆからノード１２６ｊ，１２６ｌ、ノード１２６ｇからノード１２６ｋ，１２６ｍ、ノード１２６ｈからノード１２６ｊ，１２６ｋ、ノード１２６ｉからノード１２６ｌ，１２６ｍへのリンクが生成される。
【００８１】
図１０は、推奨項目テーブルの例を示す図である。
検索装置１００は、クエリマップ１２６に基づいて推奨項目テーブル１２７を生成し、推奨項目テーブル１２７を記憶する。推奨項目テーブル１２７の１行は、クエリマップ１２６の１つのノードに対応する。推奨項目テーブル１２７は、検索クエリ、推奨項目、評価１および評価２の欄を含む。検索クエリの欄には、クエリマップ１２６のノードに記載された検索クエリが登録される。推奨項目の欄には、項目名が登録される。評価１の欄には第１の評価値が登録され、評価２の欄には第２の評価値が登録される。検索装置１００は、以下のようにして第１の評価値および第２の評価値を算出する。
【００８２】
検索装置１００は、クエリマップ１２６の一のノードについて、当該一のノード（ソースノード）の文書数と、ソースノードからリンクされている他のノード（ターゲットノード）それぞれの文書数とを確認する。ソースノードの文書数は絞り込み前の文書数を意味し、ターゲットノードの文書数はキーワードを１つ追加することによる絞り込み後の文書数を意味する。検索装置１００は、ソースノードの文書数とターゲットノードの文書数に基づいて、リンクそれぞれの絞り込み効果を評価する。
【００８３】
絞り込み効果を表す数値は、キーワードを１つ追加することによる文書数の減少が大きいほど高い値となるようにし、例えば、絞り込み前後の文書数の差または比とする。検索装置１００は、追加されるキーワードの属する項目毎に、絞り込み効果を表す数値を集計し、第１の評価値および第２の評価値を算出する。第１の評価値および第２の評価値は、個々のキーワードに対する評価ではなく、追加されるキーワードの属する項目全体に対する評価を表す。第１の評価値は、絞り込み効果を表す数値の平均である。第１の評価値が大きい項目ほど、絞り込み効果が高い。第２の評価値は、絞り込み効果を表す数値の分散度を示す。第２の評価値が小さい項目ほど、絞り込み効果の信頼性が高い。検索装置１００は、クエリマップ１２６に含まれる各ノードをソースノードとして上記処理を行う。
【００８４】
一例として、絞り込み効果を表す数値として、絞り込み前後の文書数の差を用いる場合を考える。ノード１２６ｃの文書数は３０００００である。「ｖｅｒｓｉｏｎ」に属する「Ｖ６．０」がキーワードとして追加されると、ノード１２６ｆに示すように文書数が３００００に減少する。よって、その絞り込み効果は２７００００である。「ｖｅｒｓｉｏｎ」に属する「Ｖ７．０」がキーワードとして追加されると、ノード１２６ｇに示すように文書数が１５０００に減少する。よって、その絞り込み効果は２８５０００である。
【００８５】
このため、ノード１２６ｃの検索クエリに対する「ｖｅｒｓｉｏｎ」の第１の評価値は、（２７００００＋２８５０００）／２＝２７７５００になる。また、第２の評価値は、例えば、（（２７７５００−２７００００）2＋（２７７５００−２８５０００）2）1/2／２＝５３０３のように算出される。ただし、第２の評価値は絞り込み効果の分散の程度を表せばよく、分散、標準偏差、その他の様々な指標を利用できる。
【００８６】
同様に、「ｅｒｒｏｒ」に属する「Ｄｉｓｋ  ｓｐａｃｅ  ｓｈｏｒｔａｇｅ」がキーワードとして追加されると、ノード１２６ｈに示すように文書数が１０００に減少する。よって、その絞り込み効果は２９９０００である。「ｅｒｒｏｒ」に属する「Ｗｒｏｎｇ  ｆｌａｇ」がキーワードとして追加されると、ノード１２６ｉに示すように文書数が５００に減少する。よって、その絞り込み効果は２９９５００である。このため、ノード１２６ｃの検索クエリに対する「ｅｒｒｏｒ」の第１の評価値は、（２９９０００＋２９９５００）／２＝２９９２５０になる。また、第２の評価値は、（（２９９２５０−２９９０００）2＋（２９９２５０−２９９５００）2）1/2／２＝１７６．７になる。
【００８７】
また、一例として、絞り込み効果を表す数値として、絞り込み前後の文書数の比を用いる場合を考える。ノード１２６ｃの文書数は３０００００である。「ｖｅｒｓｉｏｎ」に属する「Ｖ６．０」がキーワードとして追加されると、文書数が３００００になる。よって、その絞り込み効果は、３０００００／３００００＝１０である。「ｖｅｒｓｉｏｎ」に属する「Ｖ７．０」がキーワードとして追加されると、文書数が１５０００になる。よって、その絞り込み効果は、３０００００／１５０００＝２０である。このため、ノード１２６ｃの検索クエリに対する「ｖｅｒｓｉｏｎ」の第１の評価値は（１０＋２０）／２＝１５になり、第２の評価値は３．５になる。
【００８８】
同様に、「ｅｒｒｏｒ」に属する「Ｄｉｓｋ  ｓｐａｃｅ  ｓｈｏｒｔａｇｅ」がキーワードとして追加されると、文書数が１０００になる。よって、その絞り込み効果は、３０００００／１０００＝３００である。「ｅｒｒｏｒ」に属する「Ｗｒｏｎｇ  ｆｌａｇ」がキーワードとして追加されると、文書数が５００になる。よって、その絞り込み効果は、３０００００／５００＝６００である。このため、ノード１２６ｃの検索クエリに対する「ｅｒｒｏｒ」の第１の評価値は、（３００＋６００）／２＝４５０になり、第２の評価値は１０６．１となる。
【００８９】
図１１は、検索画面の例を示す図である。
検索装置１００は、運用管理者が検索クエリを入力すると、推奨項目テーブル１２７に基づいて推奨項目を選択し、選択した推奨項目の項目名を含む１または２以上のメッセージを端末装置２００に送信する。端末装置２００は、運用管理者が入力した検索クエリと併せて、検索装置１００から受信したメッセージを表示する。
【００９０】
具体的には、検索装置１００は、推奨項目テーブル１２７から、運用管理者が入力した検索クエリに対応付けられている推奨項目と第１の評価値と第２の評価値を取得する。検索装置１００は、まず第１の評価値に基づいて、１または２以上の推奨項目を選択する。例えば、検索装置１００は、第１の評価値が高い方から所定個数の推奨項目を選択する。また、例えば、検索装置１００は、第１の評価値が所定の閾値以上である推奨項目を選択する。検索装置１００は、次に第２の評価値に基づいて、選択した推奨項目の優先順位を決定する。例えば、検索装置１００は、第１の評価値が同等である（例えば、差が所定の閾値未満である）２以上の推奨項目について第２の評価値を比較し、第２の評価値が小さい順にそれら２以上の推奨項目をソートする。
【００９１】
ここで、端末装置２００に表示されるメッセージは、キーワードの属する項目を運用管理者が指定したか否かによって異なる。検索クエリに項目名が含まれている場合、検索装置１００は、運用管理者が入力した項目名とキーワードの組に対応する推奨項目を推奨項目テーブル１２７から検索する。端末装置２００には、運用管理者が入力した検索クエリと、選択された推奨項目の項目名とを含むメッセージが表示される。
【００９２】
一方、検索クエリに項目名が含まれていない場合、運用管理者によって入力されたキーワードが何れの項目に属するか不明であり、２以上の項目にマッチする可能性がある。そこで、検索装置１００は、推奨項目テーブル１２７の検索クエリの欄のキーワード部分と運用管理者が入力したキーワードとを比較して、入力されたキーワードが属する可能性のある１または２以上の項目を判定する。すなわち、検索装置１００は、検索クエリに対して項目名を補完する。そして、検索装置１００は、項目名が補完された検索クエリに対応する推奨項目を推奨項目テーブル１２７から検索する。端末装置２００には、項目名を補完した検索クエリを含むメッセージが表示される。更に、端末装置２００には、項目名を補完した検索クエリと、選択された推奨項目の項目名とを含むメッセージが表示される。
【００９３】
一例として、端末装置２００のディスプレイに検索画面１２８が表示される。検索画面１２８は、入力フィールド１２８ａとメッセージ表示領域１２８ｂとを含む。入力フィールド１２８ａには、入力された「ｓｏｆｔｗａｒｅ：Ｆ−ＳＱＬＤＢ」という検索クエリが表示されている。この検索クエリは、キーワードの属する項目を指定したものである。
【００９４】
そこで、メッセージ表示領域１２８ｂには、検索クエリと推奨項目の項目名とを含む１または２以上のメッセージが表示される。例えば、メッセージ表示領域１２８ｂに、「ｓｏｆｔｗａｒｅ：Ｆ−ＳＱＬＤＢ  ｅｒｒｏｒ：」と「ｓｏｆｔｗａｒｅ：Ｆ−ＳＱＬＤＢ  ｖｅｒｓｉｏｎ：」というメッセージが表示される。この２つのメッセージは、「ｓｏｆｔｗａｒｅ：Ｆ−ＳＱＬＤＢ」という検索クエリの検索結果を絞り込むのに有用な推奨項目が、エラーログとバージョンであることを示している。また、エラーログの方がバージョンよりも優先度が高く、検索結果の絞り込みに有用であることを示している。
【００９５】
また、一例として、端末装置２００のディスプレイに検索画面１２９が表示される。検索画面１２９は、入力フィールド１２９ａとメッセージ表示領域１２９ｂとを含む。入力フィールド１２９ａには、入力された「Ｆ−ＳＱＬＤＢ」という検索クエリが表示されている。この検索クエリは、キーワードの属する項目を指定しないものである。
【００９６】
そこで、メッセージ表示領域１２９ｂには、項目名を補完した検索クエリを含む１または２以上のメッセージが表示される。例えば、メッセージ表示領域１２９ｂに、「ｓｏｆｔｗａｒｅ：Ｆ−ＳＱＬＤＢ」と「ｅｒｒｏｒ：Ｆ−ＳＱＬＤＢ」というメッセージが表示される。この２つのメッセージは、「Ｆ−ＳＱＬＤＢ」がソフトウェアの項目に含まれている文書とエラーログの項目に含まれている文書とが存在することを示している。
【００９７】
また、メッセージ表示領域１２９ｂには、項目名を補完した検索クエリと推奨項目の項目名とを含む１または２以上のメッセージが表示される。例えば、メッセージ表示領域１２９ｂに、「ｓｏｆｔｗａｒｅ：Ｆ−ＳＱＬＤＢ  ｅｒｒｏｒ：」と「ｓｏｆｔｗａｒｅ：Ｆ−ＳＱＬＤＢ  ｖｅｒｓｉｏｎ：」というメッセージが表示される。この２つのメッセージは、入力されたキーワードがソフトウェアの項目を意図している場合、検索結果を絞り込むのに有用な推奨項目がエラーログとバージョンであることを示している。また、エラーログの方がバージョンよりも優先度が高く、検索結果の絞り込みに有用であることを示している。更に、例えば、メッセージ表示領域１２９ｂに、「ｅｒｒｏｒ：Ｆ−ＳＱＬＤＢ  ｄａｔｅ：」というメッセージが表示される。このメッセージは、入力されたキーワードがエラーログの項目を意図している場合、検索結果を絞り込むのに有用な推奨項目が発生日時（「ｄａｔｅ」）であることを示している。
【００９８】
次に、検索装置１００および端末装置２００の機能について説明する。
図１２は、検索装置と端末装置の機能例を示すブロック図である。
検索装置１００は、文書記憶部１３１、制御情報記憶部１３２、検索クエリ受信部１３３、検索部１３４、推奨項目提示部１３５および絞込効果分析部１３６を有する。文書記憶部１３１および制御情報記憶部１３２は、例えば、ＲＡＭ１０２またはＨＤＤ１０３に確保した記憶領域を用いて実装される。検索クエリ受信部１３３、検索部１３４、推奨項目提示部１３５および絞込効果分析部１３６は、例えば、ＣＰＵ１０１が実行するプログラムモジュールを用いて実装される。
【００９９】
文書記憶部１３１は、文書１２１ａ，１２１ｂのような複数の文書を記憶する。１つの文書は、１つのインシデントについての１つのインシデント対応報告を示す。検索装置１００は、端末装置２００から受信した文書を文書記憶部１３１に格納する。
【０１００】
制御情報記憶部１３２は、推奨項目提示部１３５および絞込効果分析部１３６が使用する各種の制御情報を記憶する。具体的には、制御情報記憶部１３２は、抽出ルールテーブル１２２、項目値リスト１２３、検索クエリリスト１２４ａ，１２４ｂ、検索結果リスト１２５、クエリマップ１２６および推奨項目テーブル１２７を記憶する。
【０１０１】
抽出ルールテーブル１２２は、推奨項目テーブル１２７の生成開始前に、予め運用管理者または他の管理者によって作成され制御情報記憶部１３２に格納される。項目値リスト１２３、検索クエリリスト１２４ａ，１２４ｂ、検索結果リスト１２５およびクエリマップ１２６は、絞込効果分析部１３６によって生成される。推奨項目テーブル１２７の生成または更新が完了した後は、項目値リスト１２３、検索クエリリスト１２４ａ，１２４ｂ、検索結果リスト１２５およびクエリマップ１２６の一部または全部を削除してもよい。推奨項目テーブル１２７は、検索クエリの受信に応じて適宜参照される。
【０１０２】
検索クエリ受信部１３３は、端末装置２００から検索クエリを受信する。検索クエリには、検索条件として１または２以上のキーワードが含まれる。２以上のキーワードの検索条件は、それらのキーワードの論理積を意味する。キーワードには、そのキーワードの属する項目の項目名が付されていることもあるし、付されていないこともある。検索クエリ受信部１３３は、検索クエリを検索部１３４および推奨項目提示部１３５に出力する。
【０１０３】
検索部１３４は、検索クエリ受信部１３３から検索クエリを取得すると、文書記憶部１３１に記憶された文書の中から検索クエリに該当する文書を検索する。通常、検索部１３４は、検索クエリで指定された全てのキーワードを含む文書を文書記憶部１３１から検索する。キーワードに項目名が付されている場合、検索部１３４は、指定された項目の値として指定されたキーワードを含む文書を検索する。
【０１０４】
検索部１３４は、検索結果を端末装置２００に送信する。検索結果は、検索された文書の一部または全部についての情報と、検索された文書の数を示す。検索結果は、検索された文書の識別情報または検索された文書へのリンクを含んでもよい。また、検索結果は、検索された文書の内容の一部または全部を含んでもよい。検索部１３４は、絞込効果分析部１３６から検索クエリを取得することもある。その場合、検索部１３４は、文書記憶部１３１に記憶された文書の中から検索クエリに該当する文書を検索する。検索部１３４は、検索された文書の数を絞込効果分析部１３６に通知する。
【０１０５】
推奨項目提示部１３５は、検索クエリ受信部１３３から検索クエリを取得すると、制御情報記憶部１３２に記憶された推奨項目テーブル１２７を参照して、検索結果の絞り込みに有用な１または２以上の推奨項目を選択する。検索クエリのキーワードに項目名が付されていない場合、推奨項目提示部１３５は、推奨項目テーブル１２７を用いてまず項目名を補完する。推奨項目提示部１３５は、項目名が付された検索クエリに対応する推奨項目と評価値を推奨項目テーブル１２７から取得し、評価値に基づいて提示する１または２以上の推奨項目を選択する。推奨項目提示部１３５は、項目名を補完した検索クエリを含むメッセージや、受信した検索クエリまたは項目名を補完した検索クエリと推奨項目の項目名とを含むメッセージを生成し、端末装置２００にメッセージを送信する。
【０１０６】
絞込効果分析部１３６は、文書記憶部１３１に記憶された文書を分析し、推奨項目テーブル１２７を生成または更新する。絞込効果分析部１３６の処理は、運用管理者または他の管理者からの指示に応じて実行されてもよいし、定期的に実行されてもよい。
【０１０７】
絞込効果分析部１３６は、制御情報記憶部１３２に記憶された抽出ルールテーブル１２２に基づいて、文書記憶部１３１に記憶された文書から項目と値の組を抽出し、項目値リスト１２３を生成する。絞込効果分析部１３６は、項目値リスト１２３に記載された項目の値をキーワードとして用い、１または２以上のキーワードを組み合わせて検索クエリを生成し、検索クエリリスト１２４ａまたは検索クエリリスト１２４ｂを生成する。
【０１０８】
絞込効果分析部１３６は、検索クエリリスト１２４ａ，１２４ｂに記載された検索クエリを検索部１３４に出力し、検索部１３４から検索クエリ毎に文書数の情報を取得し、検索結果リスト１２５を生成する。絞込効果分析部１３６は、検索結果リスト１２５に基づいてクエリマップ１２６を生成する。クエリマップ１２６の各ノードは、１つの検索クエリと１つの文書数とを示す。絞込効果分析部１３６は、クエリマップ１２６におけるノード間の接続関係とノードが示す文書数とに基づいて、検索クエリ毎の推奨項目と評価値とを算出し、推奨項目テーブル１２７を生成または更新する。
【０１０９】
端末装置２００は、表示制御部２３１、検索クエリ送信部２３２、検索結果受信部２３３および推奨項目受信部２３４を有する。表示制御部２３１、検索クエリ送信部２３２、検索結果受信部２３３および推奨項目受信部２３４は、例えば、端末装置２００のＣＰＵが実行するプログラムモジュールを用いて実装される。
【０１１０】
表示制御部２３１は、検索画面１２８，１２９などの各種画面を端末装置２００のディスプレイに表示させる。画面には、運用管理者が入力した検索クエリ、検索装置１００から受信した検索結果、検索装置１００から受信したメッセージなどが表示される。
【０１１１】
検索クエリ送信部２３２は、運用管理者が入力した検索クエリを検索装置１００に送信する。検索クエリは、通常、検索画面内の所定の入力フィールドに入力される。検索結果受信部２３３は、検索クエリに対する応答として検索装置１００から検索結果を受信する。すると、検索結果受信部２３３は、検索結果を表示制御部２３１に出力する。これにより、検索結果が画面に表示される。推奨項目受信部２３４は、検索クエリに対する応答として検索装置１００から推奨項目に関するメッセージを受信する。すると、推奨項目受信部２３４は、メッセージを表示制御部２３１に出力する。これにより、推奨項目に関するメッセージが検索画面１２８，１２９などの画面に表示される。
【０１１２】
なお、端末装置２００から検索装置１００に検索クエリが送信されたとき、この検索クエリに応答して、検索結果と推奨項目のメッセージの両方が検索装置１００から端末装置２００に送信されてもよい。その場合、検索結果と推奨項目のメッセージは、同時に端末装置２００に送信されてもよいし、別個に端末装置２００に送信されてもよい。後者の場合、検索結果と推奨項目のメッセージの何れが先に送信されてもよい。
【０１１３】
また、運用管理者が検索画面上で検索の指示を行う前に、入力途中の検索クエリを端末装置２００から検索装置１００に送信し、推奨項目のメッセージのみを検索装置１００から端末装置２００に送信するようにしてもよい。その場合、運用管理者が検索画面上で検索の指示を行ったとき、入力が完了した検索クエリが端末装置２００から検索装置１００に送信され、検索結果のみが検索装置１００から端末装置２００に送信される。
【０１１４】
例えば、運用管理者が検索ボタンを押下したことが、検索の指示を行うことに相当する。端末装置２００の検索クエリ送信部２３２は、検索クエリを送信するとき、検索ボタンが押下されたか否かを示す情報を併せて送信してもよい。検索装置１００の検索クエリ受信部１３３は、検索ボタンが押下されていない場合の検索クエリは推奨項目提示部１３５に出力し、検索ボタンが押下された場合の検索クエリを検索部１３４に出力する。
【０１１５】
次に、検索装置１００の処理手順について説明する。
図１３は、絞込効果分析の手順例を示すフローチャートである。
（Ｓ３０）絞込効果分析部１３６は、文書記憶部１３１に記憶された文書の集合から、抽出ルールテーブル１２２に基づいて項目とその値の組を抽出する。絞込効果分析部１３６は、抽出した全ての項目とその値の組を記載した項目値リスト１２３を生成する。
【０１１６】
（Ｓ３１）絞込効果分析部１３６は、検索部１３４で使用される検索エンジンが、検索クエリにおいてキーワードの属する項目を指定可能であるか判断する。項目を指定可能な場合はステップＳ３２に処理が進み、指定不可の場合はステップＳ３３に処理が進む。
【０１１７】
（Ｓ３２）絞込効果分析部１３６は、項目値リスト１２３に記載された項目の値をキーワードとして用いて、検索クエリを生成する。絞込効果分析部１３６は、項目値リスト１２３の中から１または２以上のキーワードを選択することを繰り返し、全てのキーワードの選択パターンに対応する全パターンの検索クエリを生成する。このとき、絞込効果分析部１３６は、項目値リスト１２３に従って、各キーワードに項目名を付しておく。絞込効果分析部１３６は、項目名が付された検索クエリを列挙した検索クエリリスト１２４ｂを生成する。そして、ステップＳ３４に処理が進む。
【０１１８】
（Ｓ３３）絞込効果分析部１３６は、項目値リスト１２３に記載された項目の値をキーワードとして用いて、検索クエリを生成する。絞込効果分析部１３６は、項目値リスト１２３の中から１または２以上のキーワードを選択することを繰り返し、全てのキーワードの選択パターンに対応する全パターンの検索クエリを生成する。このとき、キーワードには項目名を付さなくてよい。絞込効果分析部１３６は、項目名が付されていない検索クエリを列挙した検索クエリリスト１２４ａを生成する。
【０１１９】
（Ｓ３４）絞込効果分析部１３６は、ステップＳ３２で生成された検索クエリリスト１２４ｂまたはステップＳ３３で生成された検索クエリリスト１２４ａから１つずつ検索クエリを取得し、検索部１３４に出力する。絞込効果分析部１３６は、各検索クエリに該当する文書数を検索部１３４から取得し、検索クエリと文書数を対応付けた検索結果リスト１２５を生成する。検索結果リスト１２５の検索クエリには、項目名が付される。
【０１２０】
（Ｓ３５）絞込効果分析部１３６は、検索結果リスト１２５に基づいてクエリマップ１２６を生成する。クエリマップ１２６の１つのノードは、検索結果リスト１２５の１つの行、すなわち、検索クエリと文書数の組に対応する。クエリマップ１２６のリンクは、検索クエリの包含関係を示す。ある検索クエリにキーワードを１つ追加した検索クエリがある場合、前者に対応するノードから後者に対応するノードへのリンクが生成される。
【０１２１】
（Ｓ３６）絞込効果分析部１３６は、クエリマップ１２６に基づいて、検索クエリ毎に１または２以上の推奨項目を抽出する。具体的には、絞込効果分析部１３６は、クエリマップ１２６から１つのノード（ソースノード）を選択し、ソースノードからリンクされている他のノード（ターゲットノード）を探す。絞込効果分析部１３６は、ソースノードの検索クエリとターゲットノードの検索クエリを比較し、追加されているキーワードの属する項目を推奨項目として抽出する。
【０１２２】
（Ｓ３７）絞込効果分析部１３６は、クエリマップ１２６に基づいて、検索クエリと推奨項目の組毎に「評価１」の評価値を算出する。具体的には、絞込効果分析部１３６は、ソースノードの文書数とターゲットノードの文書数の差を算出する。絞込効果分析部１３６は、推奨項目（追加されているキーワードの属する項目）が同じターゲットノードについての文書数の差の平均を算出し、「評価１」の評価値とする。ただし、前述のように、文書数の差に代えて文書数の比を用いることもできる。
【０１２３】
（Ｓ３８）絞込効果分析部１３６は、クエリマップ１２６に基づいて、検索クエリと推奨項目の組毎に「評価２」の評価値を算出する。具体的には、絞込効果分析部１３６は、推奨項目（追加されているキーワードの属する項目）が同じターゲットノードについての文書数の差の分散度を所定の計算式に従って算出し、「評価２」の評価値とする。ただし、前述のように、文書数の差に代えて文書数の比を用いることもできる。そして、絞込効果分析部１３６は、推奨項目テーブル１２７を生成または更新する。
【０１２４】
図１４は、推奨項目提示の手順例を示すフローチャートである。
（Ｓ４０）推奨項目提示部１３５は、入力された検索クエリを取得する。
（Ｓ４１）推奨項目提示部１３５は、取得した検索クエリがキーワードに対応付けて項目名を含んでいるか判断する。項目名を含む場合はステップＳ４３に処理が進み、項目名を含まない場合はステップＳ４２に処理が進む。
【０１２５】
（Ｓ４２）推奨項目提示部１３５は、推奨項目テーブル１２７に基づいて、取得した検索クエリに対して項目名を補完する。具体的には、推奨項目提示部１３５は、推奨項目テーブル１２７の検索クエリの欄と取得した検索クエリで指定されたキーワードとを照合し、指定されたキーワードが属する可能性のある１または２以上の項目を判定する。項目名が補完された検索クエリは、２つ以上生成されることがある。そして、推奨項目提示部１３５は、項目名を補完した検索クエリを示す１または２以上のメッセージを生成する。
【０１２６】
（Ｓ４３）推奨項目提示部１３５は、取得した検索クエリまたは項目名を補完した検索クエリそれぞれについて、その検索クエリに対応する推奨項目を推奨項目テーブル１２７から検索する。１つの検索クエリにつき２以上の推奨項目が検索されることがある。
【０１２７】
（Ｓ４４）推奨項目提示部１３５は、取得した検索クエリまたは項目名を補完した検索クエリそれぞれについて、推奨項目テーブル１２７に登録された「評価１」の評価値に基づいて１または２以上の推奨項目を選択する。例えば、推奨項目提示部１３５は、「評価１」の評価値が高い順に所定数の推奨項目を選択する。また、例えば、推奨項目提示部１３５は、「評価１」の評価値が所定の閾値以上である推奨項目を選択する。
【０１２８】
（Ｓ４５）推奨項目提示部１３５は、取得した検索クエリまたは項目名を補完した検索クエリそれぞれについて、推奨項目テーブル１２７に登録された「評価２」の評価値に基づいて、ステップＳ４４で選択した推奨項目をソートする。例えば、推奨項目提示部１３５は、原則として「評価１」の評価値の大きい順に推奨項目をソートする。ただし、推奨項目提示部１３５は、「評価１」の評価値が同等である（例えば、その差が所定の閾値未満である）２以上の推奨項目については、「評価２」の評価値の小さい順にソートする。ただし、「評価２」の評価値が所定の閾値以上である推奨項目は、絞り込み効果の信頼性が低いため除外するようにしてもよい。また、「評価１」の評価値をソートに使用せず、「評価２」の評価値の小さい順に推奨項目をソートしてもよい。
【０１２９】
（Ｓ４６）推奨項目提示部１３５は、取得した検索クエリまたは項目名を補完した検索クエリと、ステップＳ４４で選択した推奨項目の項目名とを含むメッセージを生成する。メッセージは２つ以上生成されることがある。２つ以上のメッセージが生成される場合、ステップＳ４５のソート結果に応じた順序でメッセージが並べられる。
【０１３０】
（Ｓ４７）推奨項目提示部１３５は、ステップＳ４２およびステップＳ４６で生成したメッセージのリストを端末装置２００に送信する。ステップＳ４２で生成したメッセージは、ステップＳ４６で生成したメッセージよりも優先順位が高くなる。端末装置２００の推奨項目受信部２３４は、検索装置１００からメッセージのリストを受信する。表示制御部２３１は、受信されたメッセージのリストをディスプレイに表示させる。例えば、表示制御部２３１は、入力フィールドの直下にメッセージのリストを表示させる。
【０１３１】
第２の実施の形態の情報処理システムによれば、ある検索クエリが入力されたときに、その検索クエリから得られる検索結果の絞り込みに有用である可能性が高い推奨項目が提示される。推奨項目は、個々の追加キーワードの絞り込み効果ではなく、同じ項目に属するキーワード群の平均的な絞り込み効果に基づいて選択される。よって、運用管理者が追加の作業を行わなければ入力すべき具体的なキーワードが判明しない場合であっても、推奨項目に関する作業を優先的に行うことで、絞り込み効果の高いキーワードが得られる可能性が高くなる。このため、運用管理者の行った作業が無駄になるリスクを低減でき、検索結果を十分に絞り込むまでの作業を減らすことができる。また、絞り込み効果の分散を示す評価値を用いることで、作業によって取得されたキーワードが期待通りの絞り込み効果を有していないリスクの程度を客観的に評価することができる。
【０１３２】
なお、前述のように、第１の実施の形態の情報処理は、検索装置１０にプログラムを実行させることで実現できる。第２の実施の形態の情報処理は、検索装置１００や端末装置２００にプログラムを実行させることで実現できる。
【０１３３】
プログラムは、コンピュータ読み取り可能な記録媒体（例えば、記録媒体１１３）に記録しておくことができる。記録媒体として、例えば、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどを使用できる。磁気ディスクには、ＦＤおよびＨＤＤが含まれる。光ディスクには、ＣＤ、ＣＤ−Ｒ（Recordable）／ＲＷ（Rewritable）、ＤＶＤおよびＤＶＤ−Ｒ／ＲＷが含まれる。プログラムは、可搬型の記録媒体に記録されて配布されることがある。その場合、可搬型の記録媒体から他の記録媒体（例えば、ＨＤＤ１０３）にプログラムをコピーして実行してもよい。
【符号の説明】
【０１３４】
１０  検索装置
１１  記憶部
１２  制御部
１３ａ，１３ｂ  文書
１４ａ，１４ｂ  項目
１５ａ，１５ｂ，１５ｃ，１５ｄ，１５ｅ  キーワード
１６ａ，１６ｂ，１６ｃ，１６ｄ，１６ｅ  文書数
１７ａ，１７ｂ  評価値
１８  推奨情報
【図１】
0006565628.tif 000002
【図２】
0006565628.tif 000003
【図３】
0006565628.tif 000004
【図４】
0006565628.tif 000005
【図５】
0006565628.tif 000006
【図６】
0006565628.tif 000007
【図７】
0006565628.tif 000008
【図８】
0006565628.tif 000009
【図９】
0006565628.tif 000010
【図１０】
0006565628.tif 000011
【図１１】
0006565628.tif 000012
【図１２】
0006565628.tif 000013
【図１３】
0006565628.tif 000014
【図１４】
0006565628.tif 000015