(57)【要約】【課題】新たな情報検索サービスのＡＰＩの追加、変更に対する柔軟性を確保し、かつ、データベースの専門家でなくてもその追加、変更を容易に行うことができるようにする。【解決手段】情報検索装置１は、情報提供サーバ装置２が提供する情報検索サービスのインタフェース情報をあらかじめ検索サービスＩＦリソース情報記憶部２１に記憶しておき、ユーザ端末３からユーザ検索要求を受信したとき、検索対象特定部１５により、そのインタフェース情報を参照して、ユーザ検索要求に含まれている検索項目、検索条件およびキーワードを、その情報検索サービスが提供可能か否かを判断する。従って、情報検索装置１に新たな情報検索サービスを追加するような場合、プログラムの変更は必要でなく、その情報検索サービスのインタフェース情報をあらかじめ検索サービスＩＦリソース情報記憶部２１に追加するだけでよい。【選択図】図１
2009037501.tif 000002
【特許請求の範囲】
【請求項１】
情報検索サービスをそれぞれ提供する複数の情報提供サーバ装置と、ユーザが利用するユーザ端末と、に通信ネットワークを介して接続された情報検索装置であって、
前記情報検索サービスごとに、その情報検索サービスを利用するために必要なインタフェース情報をあらかじめ記憶しておくインタフェース情報記憶手段と、
前記通信ネットワークを介して前記ユーザ端末から送信されるユーザ検索要求を受信するユーザ検索要求受信手段と、
前記受信したユーザ検索要求に含まれる検索項目と検索条件とキーワードとに基づき、前記インタフェース情報記憶手段に記憶されている前記インタフェース情報を参照して、前記ユーザ検索要求に適合する情報検索サービスを特定する検索サービス特定手段と、
前記特定した情報検索サービスの前記インタフェース情報に基づき、前記特定した情報検索サービスの利用を求める検索サービス要求を生成する検索サービス要求生成手段と、
前記生成した検索サービス要求を、前記特定した情報検索サービスを提供する前記情報提供サーバ装置へ送信する検索サービス要求送信手段と、
前記送信した検索サービス要求に応答して前記情報提供サーバ装置から返送される検索結果を受信する検索結果受信手段と、
前記受信した検索結果から、前記ユーザ検索要求に含まれる検索項目に対応するユーザ検索結果を抽出するユーザ検索結果抽出手段と、
前記抽出したユーザ検索結果を前記ユーザ端末へ送信するユーザ検索結果送信手段と、
を備えたこと
を特徴とする情報検索装置。
【請求項２】
前記インタフェース情報記憶手段は、
前記情報検索サービスのそれぞれに対応付けて、その情報検索サービスが提供する検索項目の名称、その情報検索サービスが必要とする検索条件の名称、ならびに、前記検索項目の名称および前記検索条件の名称のそれぞれに対応する同義語を、前記インタフェース情報の一部として記憶すること
を特徴とする請求項１に記載の情報検索装置。
【請求項３】
情報検索サービスをそれぞれ提供する複数の情報提供サーバ装置と、ユーザが利用するユーザ端末と、に通信ネットワークを介して接続され、処理部と記憶部とを備えた情報検索装置における情報検索方法であって、
前記処理部が、
前記情報検索サービスごとに、その情報検索サービスを利用するために必要なインタフェース情報をあらかじめ前記記憶部に記憶するインタフェース情報記憶ステップと、
前記通信ネットワークを介して前記ユーザ端末から送信されるユーザ検索要求を受信するユーザ検索要求ステップと、
前記受信したユーザ検索要求に含まれる検索項目と検索条件とキーワードとに基づき、前記記憶部に記憶されている前記インタフェース情報を参照して、前記ユーザ検索要求に適合する情報検索サービスを特定する検索サービス特定ステップと、
前記特定した情報検索サービスの前記インタフェース情報に基づき、前記特定した情報検索サービスの利用を求める検索サービス要求を生成する検索サービス要求生成ステップと、
前記生成した検索サービス要求を、前記特定した情報検索サービスを提供する前記情報提供サーバ装置へ送信する検索サービス要求送信ステップと、
前記送信した検索サービス要求に応答して前記情報提供サーバ装置から返送される検索結果を受信する検索結果受信ステップと、
前記受信した検索結果から、前記ユーザ検索要求に含まれる検索項目に対応するユーザ検索結果を抽出するユーザ検索結果抽出ステップと、
前記抽出したユーザ検索結果を前記ユーザ端末へ送信するユーザ検索結果送信ステップと、
を実行すること
を特徴とする情報検索方法。
【請求項４】
前記処理部は、
前記インタフェース情報記憶ステップでは、
前記情報検索サービスのそれぞれに対応付けて、その情報検索サービスが提供する検索項目の名称、その情報検索サービスが必要とする検索条件の名称、ならびに、前記検索項目の名称および前記検索条件の名称のそれぞれに対応する同義語を、前記インタフェース情報の一部として前記記憶部に記憶すること
を特徴とする請求項３に記載の情報検索方法。
【請求項５】
請求項３または請求項４に記載の情報検索方法を、コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネットのＷＥＢ上の複数の情報検索サービスを利用するのに好適な情報検索装置、情報検索方法およびプログラムに関する。
【背景技術】
【０００２】
近年、インターネットのＷＥＢ上には、多くのコンテンツプロバイダにより様々な情報検索サービスが提供されている。その情報検索により提供される情報には、類似するものも多く存在する。一般のユーザがそれらの複数の情報検索サービスを利用しようとする場合には、ユーザは、それぞれの情報検索サービスを提供するサイトにそれぞれ別個にアクセスし、それぞれ必要な検索パラメータや検索条件を入力し情報検索を行う必要がある。このような操作は、一般のユーザにとって煩わしく感じられる。
【０００３】
そこで、その操作を簡単化するために、単一のユーザインタフェースにより複数の情報検索サービスの利用を可能にした情報検索サービスがある。例えば、あるＷＥＢサイトでは、複数のコンテンツプロバイダが提供する既存の複数の情報検索サービスを利用して、電話番号からレストランや飲食店などの店舗情報を検索するサービスを提供している。また、他のＷＥＢサイトでは、ＷＥＢ上に公開された複数のブログ検索エンジンを利用して、複数のブログサイトのブログを一気に検索するサービスを提供している。
【０００４】
このような情報検索サービスでは、既存の情報検索サービスによって提供されるＡＰＩ（Application Program Interface）をマッシュアップすることにより、それら複数の既存の情報検索サービスの横断的な利用を可能にしている。なお、これらの情報検索サービスは、いずれも目的志向の情報検索サービスであり、定型の情報検索条件を指定し、定型の検索結果を得るものである。
【０００５】
また、特許文献１には、単一のユーザインタフェースにより複数のデータベースの横断的な検索を一般的に実現する方法の例が開示されている。特許文献１によれば、その情報検索装置は、検索対象のデータベースのスキーマ情報やアクセス情報などの情報資源を一元管理しておき、検索要求を受け付けたときには、その検索要求によって指定された項目に基づき検索対象のデータベースを特定し、その特定されたデータベースの検索を実施する。
【特許文献１】特開平１０−１４３５３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、複数の情報検索サービスのＡＰＩをマッシュアップする従来の情報検索サービスにおいては、そのマッシュアップ機能は、それぞれのＡＰＩに適合させたプログラムの構造やロジックによって実現されている。従って、そのプログラムの実行性能の最適化や高性能化は、実現し易いものといえるが、一方で、プログラムの構造やロジック、さらには、設定すべき検索項目や検索条件の種類や数などは、そのとき既知のＡＰＩに依存しがちになる。
【０００７】
従って、ＡＰＩをマッシュアップする従来の情報検索サービスにおいて、新たな情報検索サービスのＡＰＩを追加したり、検索項目や検索条件を拡充したりしようとする場合には、そのプログラムの構造やロジックを大幅に変更しなければならないので、その変更を実施するには、多大の工数とコストが必要となる。
【０００８】
一方、特許文献１に開示されている複数のデータベースを横断的に検索するシステムにおいては、検索すべき新たなデータベースを追加しても、自らのプログラムを変更する必要はないが、代りに、そのデータベースに依存するスキーマ情報やアクセス情報を詳細に設定しておく必要がある。しかしながら、その情報の設定は、データベースについて高度な知識を有する専門家やデータベースの管理者にしかできない。
【０００９】
また、その検索処理においては、検索要求の検索内容や検索条件で指定されたデータ項目に対する列名を検索して、その全組み合わせから、検索可能な関連でつながったすべてのテーブルに対して、そのすべての列名を含む組み合わせを抽出する。そのため、データ項目の指定数や登録データベース数が多くなると、組み合わせの爆発が生じ、処理性能が著しく劣化するという問題があった。
【００１０】
以上のように、複数のデータベースを横断的に検索する従来技術には、新たなデータベースや新たな情報検索サービスのＡＰＩを追加するなどの変更に対し、その処理プログラムの変更なくしては対応できないなど、処理プログラムに柔軟性がないという問題があった。また、その柔軟性を確保しようとすると、データベースのスキーマ情報の設定などデータベースの専門家や管理者にしかできない作業が必要となり、さらには、検索処理の性能が劣化するという問題があった。
【００１１】
本発明は、以上の従来技術に鑑み、新たな情報検索サービスのＡＰＩの追加、変更などに対する柔軟性を有し、かつ、データベースの専門家でなくてもその追加、変更などを容易に行うことが可能な情報検索装置、情報検索方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
請求項１に記載の発明は、情報検索サービスをそれぞれ提供する複数の情報提供サーバ装置と、ユーザが利用するユーザ端末と、に通信ネットワークを介して接続された情報検索装置であって、（１）前記情報検索サービスごとに、その情報検索サービスを利用するために必要なインタフェース情報をあらかじめ記憶しておくインタフェース情報記憶手段と、（２）前記通信ネットワークを介して前記ユーザ端末から送信されるユーザ検索要求を受信するユーザ検索要求受信手段と、（３）前記受信したユーザ検索要求に含まれる検索項目と検索条件とキーワードとに基づき、前記インタフェース情報記憶手段に記憶されている前記インタフェース情報を参照して、前記ユーザ検索要求に適合する情報検索サービスを特定する検索サービス特定手段と、（４）前記特定した情報検索サービスの前記インタフェース情報に基づき、前記特定した情報検索サービスの利用を求める検索サービス要求を生成する検索サービス要求生成手段と、（５）前記生成した検索サービス要求を、前記特定した情報検索サービスを提供する前記情報提供サーバ装置へ送信する検索サービス要求送信手段と、（６）前記送信した検索サービス要求に応答して前記情報提供サーバ装置から返送される検索結果を受信する検索結果受信手段と、（７）前記受信した検索結果から、前記ユーザ検索要求に含まれる検索項目に対応するユーザ検索結果を抽出するユーザ検索結果抽出手段と、（８）前記抽出したユーザ検索結果を前記ユーザ端末へ送信するユーザ検索結果送信手段と、を備えたことを特徴とする。
【００１３】
請求項３に記載の発明は、情報検索サービスをそれぞれ提供する複数の情報提供サーバ装置と、ユーザが利用するユーザ端末と、に通信ネットワークを介して接続され、処理部と記憶部とを備えた情報検索装置における情報検索方法であって、前記処理部が、（１）前記情報検索サービスごとに、その情報検索サービスを利用するために必要なインタフェース情報を前記記憶部にあらかじめ記憶するインタフェース情報記憶ステップと、（２）前記通信ネットワークを介して前記ユーザ端末から送信されるユーザ検索要求を受信するユーザ検索要求ステップと、（３）前記受信したユーザ検索要求に含まれる検索項目と検索条件とキーワードとに基づき、前記記憶部に記憶されている前記インタフェース情報を参照して、前記ユーザ検索要求に適合する情報検索サービスを特定する検索サービス特定ステップと、（４）前記特定した情報検索サービスの前記インタフェース情報に基づき、前記特定した情報検索サービスの利用を求める検索サービス要求を生成する検索サービス要求生成ステップと、（５）前記生成した検索サービス要求を、前記特定した情報検索サービスを提供する前記情報提供サーバ装置へ送信する検索サービス要求送信ステップと、（６）前記送信した検索サービス要求に応答して前記情報提供サーバ装置から返送される検索結果を受信する検索結果受信ステップと、（７）前記受信した検索結果から、前記ユーザ検索要求に含まれる検索項目に対応するユーザ検索結果を抽出するユーザ検索結果抽出ステップと、（８）前記抽出したユーザ検索結果を前記ユーザ端末へ送信するユーザ検索結果送信ステップと、を実行することを特徴とする。
【００１４】
請求項５に記載の発明は、請求項３に記載の情報検索方法を、コンピュータに実行させるためのプログラムである。
【００１５】
請求項１、請求項３または請求項５の発明によれば、その発明に係る情報検索装置は、ＷＥＢ上に公開されている情報検索サービスを利用するために必要なインタフェース情報をあらかじめインタフェース情報記憶手段に記憶しておき、ユーザ端末からユーザ検索要求を受信したとき、検索サービス特定手段により、そのインタフェース情報を参照して、その情報検索サービスがユーザ検索要求に含まれている検索項目、検索条件およびキーワードを提供することが可能か否かを判断することにより、検索対象の情報検索サービスを特定する。
【００１６】
従って、新たな情報検索サービスを追加するような場合、情報検索装置のプログラムを変更する必要はなく、その情報検索サービスのインタフェース情報をあらかじめインタフェース情報記憶手段に追加しておくだけでよい。つまり、本発明に係る情報検索装置におけるプログラムは、柔軟性を有しているといえる。
【００１７】
また、インタフェース情報記憶手段に記憶するインタフェース情報は、情報検索サービスのＡＰＩに係る情報しか含んでいないので、そのインタフェース情報の追加、変更などに際しては、データベースに係る知識が必要とされることはない。従って、データベースの高度な知識を持っていない者でもインタフェース情報の追加、変更などを行うことができる。
【００１８】
請求項２に記載の発明は、請求項１に記載の情報検索装置であって、前記インタフェース情報記憶手段は、前記情報検索サービスのそれぞれに対応付けて、その情報検索サービスが提供する検索項目の名称、その情報検索サービスが必要とする検索条件の名称、ならびに、前記検索項目の名称および前記検索条件の名称のそれぞれに対応する同義語を、前記インタフェース情報の一部として記憶することを特徴とする。
【００１９】
請求項４に記載の発明は、請求項３に記載の情報検索方法であって、前記処理部が、前記インタフェース情報記憶ステップにおいて、前記情報検索サービスのそれぞれに対応付けて、その情報検索サービスが提供する検索項目の名称、その情報検索サービスが必要とする検索条件の名称、ならびに、前記検索項目の名称および前記検索条件の名称のそれぞれに対応する同義語を、前記インタフェース情報の一部として前記記憶部に記憶することを特徴とする。
【００２０】
請求項５に記載の発明は、請求項４に記載の情報検索方法を、コンピュータに実行させるためのプログラムである。
【００２１】
請求項２、請求項４および請求項５の発明によれば、前記インタフェース情報は、情報検索サービスが提供する検索項目の名称や検索条件の名称に対応する同義語を有しているので、ユーザが入力する検索項目の名称や検索条件の名称に対しても柔軟性を有しているといえる。
【発明の効果】
【００２２】
本発明の情報検索装置、情報検索方法およびプログラムにおいては、新たな情報検索サービスのＡＰＩの追加、変更などに対する柔軟性を確保することができ、かつ、データベースの専門家でなくてもその追加、変更などを容易に行うことができるようになる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施形態について図面を用いて詳しく説明する。
【００２４】
図１は、本発明の実施形態に係る情報検索装置、および、その情報検索装置を適用したシステムの全体構成の例を示した図である。図１に示すように、本実施形態に係る情報検索装置１は、インターネットなどの通信ネットワーク４に接続され、さらに、その通信ネットワーク４には、情報提供サーバ装置２およびユーザ端末３が接続されている。
【００２５】
ここで、ユーザ端末３は、通常のパーソナルコンピュータなどで構成され、Ｗｅｂブラウザなどのプログラムを有している。なお、図１では、ユーザ端末３は、１つしか示していないが、通常は、通信ネットワーク４には、ユーザ端末３が多数接続される。
【００２６】
また、情報提供サーバ装置２は、コンテンツプロバイダなどが所有するコンピュータであり、通信ネットワーク４を介して、様々な情報をユーザ端末３などに提供する。本実施形態では、情報提供サーバ装置２は、特に、情報検索サービスプログラム２０１を備えるものとし、その情報検索サービスプログラム２０１を実行することにより、ユーザ端末３などに対し、所定の情報検索サービスを提供する。
【００２７】
このようなコンテンツプロバイダ、つまり、情報提供サーバ装置２による情報検索サービスの提供は、現実のインターネットの世界では数多く行われている。すなわち、通信ネットワーク４には、各種の情報検索サービスを提供する情報提供サーバ装置２が多数接続されている。そして、一般のユーザは、ユーザ端末３のＷｅｂブラウザなどを介して、その情報検索サービスを、適宜、個々に選択して利用することができる。
【００２８】
また、情報提供サーバ装置２が備える情報検索サービスプログラム２０１については、多くの場合、そのＡＰＩが公開されている。その場合には、他の情報提供サーバ装置２などのプログラムから、その情報検索サービスプログラム２０１を実行させ、その検索結果を受け取ることができる。
【００２９】
次に、情報検索装置１の構成の説明をする前に、図２を参照して、情報検索装置１による情報検索手順の概要について説明しておく。ここで、図２は、情報検索装置１による情報検索の手順の例を示した図である。
【００３０】
図２に示すように、情報検索装置１は、ユーザ端末３から送信される検索要求を受信すると（ステップＳ１）、その受信した検索要求に基づき、適宜、情報検索サービスを選択し、選択した情報検索サービスを提供する情報提供サーバ装置２に対して、情報検索サービスの実行を求める検索サービス要求を送信する（ステップＳ２）。なお、ユーザ端末３からは、通常、単一の検索要求しか送信されないが、情報検索装置１は、その検索要求に適合する情報検索サービスが複数存在した場合には、その複数の情報検索サービスをそれぞれ提供する複数の情報提供サーバ装置２に対し、それぞれ個別に検索サービス要求を送信する。
【００３１】
次に、情報検索装置１は、前記の検索サービス要求に応答する形で、情報提供サーバ装置２から返送される検索結果を受信し（ステップＳ３）、その検索結果の中から、ユーザの検索要求に含まれる検索項目の情報を抽出して、ユーザに対する検索結果とし、そのユーザに対する検索結果をユーザ端末３へ送信する（ステップＳ４）。
【００３２】
以上のように、情報検索装置１自らは、情報検索機能を備えていないが、通信ネットワーク４を介して、情報提供サーバ装置２の情報検索サービスを利用することによって、ユーザ端末３によって求められる情報検索を遂行する。このような情報検索の方式は、しばしば、マッシュアップ方式と呼ばれる。
【００３３】
このようなマッシュアップ方式による情報検索サービスの提供は、ユーザに多くのメリットもたらす。例えば、ユーザは、ユーザ端末３から単一の検索要求を情報検索装置１に送信するだけで、複数の情報検索サービスによって得られる検索結果を一度に取得することができる。つまり、ユーザは、手間を掛けずにより多くの検索結果を得ることができるのである。
【００３４】
続いて、再び図１を参照して、以上のようなマッシュアップ方式の情報検索を実現するための情報検索装置１の構成について説明する。ここで、情報検索装置１は、図１に示すように、処理部１０、記憶部２０、入出力ＩＦ（Interface）部３０、通信ＩＦ部４０などを含んで構成される。
【００３５】
処理部１０は、いわゆるＣＰＵ（Central Processing Unit）などを含んで構成され、そのＣＰＵが所定のプログラムを実行することにより、検索サービスＩＦリソース情報管理部１１、ユーザアクセス制御部１２、検索要求解析部１３、検索対象絞込部１４、検索対象特定部１５、検索結果抽出部１６、検索サービスアクセス部１７などの機能ブロックが実現される。
【００３６】
また、記憶部２０は、ＲＡＭ（Random Access Memory）やハードディスク装置などを含んで構成され、前記ＣＰＵが実行するプログラムを格納するほか、そのＣＰＵが前記所定のプログラムを実行する際に必要な情報を、適宜、記憶する。なお、本実施形態では、記憶部２０に記憶する情報のうち最も重要なものは、後記する検索サービスＩＦリソース情報であるが、記憶部２０のうち、その検索サービスＩＦリソース情報を記憶した部分を、検索サービスＩＦリソース情報記憶部２１と呼ぶ。
【００３７】
また、入出力ＩＦ部３０は、表示装置やキーボードからなる管理者端末５０などに接続され、接続された表示装置やキーボードなどのインタフェースを制御する。また、通信ＩＦ部４０は、いわゆるネットワークインタフェースカード（ＮＩＣ）などからなり、通信ネットワーク４に接続され、その通信ネットワーク４とのインタフェースを制御する。
【００３８】
図１において、検索サービスＩＦリソース情報記憶部２１は、通信ネットワーク４に接続された情報提供サーバ装置２によって提供されている情報検索サービスのうち、情報検索装置１自身が検索対象とする情報検索サービスについて、その情報検索サービスを利用する上で必要なインタフェース情報（以下、検索サービスＩＦリソース情報という）を記憶する。
【００３９】
検索サービスＩＦリソース情報管理部１１は、検索サービスＩＦリソース情報記憶部２１が記憶する検索サービスＩＦリソース情報を管理する。すなわち、新たな情報検索サービスを検索対象に登録する場合には、検索サービスＩＦリソース情報管理部１１は、管理者端末５０から入力される情報に基づき、その情報検索サービスに対する検索サービスＩＦリソース情報を生成し、検索サービスＩＦリソース情報記憶部２１に登録する。また、既登録の情報検索サービスを削除したり、その登録内容を変更したりする場合には、検索サービスＩＦリソース情報管理部１１は、管理者端末５０から入力される情報に基づき、検索サービスＩＦリソース情報記憶部２１に登録されている検索サービスＩＦリソース情報を、適宜、削除または変更する。
【００４０】
なお、検索サービスＩＦリソース情報は、検索対象の情報検索サービスのＡＰＩに基づく情報であるので、情報提供サーバ装置２において新たな情報検索サービスのＡＰＩが提供されたり、あるいは、提供されていたＡＰＩが削除または変更されたりした場合には、情報検索装置１の管理者は、必要に応じて、管理者端末５０から、検索サービスＩＦリソース情報を登録、削除または変更する情報を入力する。
【００４１】
ユーザアクセス制御部１２は、ユーザ端末３から送信されるユーザからの検索要求（以下、ユーザ検索要求という）を記憶部２０の一時記憶領域に格納する。また、ユーザアクセス制御部１２は、情報提供サーバ装置２から取得され、検索結果抽出部１６によって抽出されて、記憶部２０の一時記憶領域に格納されているユーザへの検索結果（以下、ユーザ検索結果という）をユーザ端末３へ送信する。
【００４２】
検索要求解析部１３は、ユーザアクセス制御部１２によって受信され、記憶部２０の一時記憶領域に格納されているユーザ検索要求の構文を解析し、検索項目、検索条件およびキーワードなど情報検索に必要な情報を抽出する。ここで、検索項目は、１個以上のデータ項目から構成され、検索条件は、１個以上のデータ項目およびその条件値の組から構成され、キーワードは、０個以上の任意の文字列から構成されるものとする。
【００４３】
検索対象絞込部１４は、ユーザ検索要求において１つ以上のキーワードが指定されていた場合に、検索サービスＩＦリソース情報記憶部２１に登録されている情報検索サービスの検索サービスＩＦリソース情報について、その検索サービスＩＦテーブル２１１（後記にて説明）のサービス概要のフィールドを全文検索し、そのサービス概要のフィールドに前記キーワードが含まれない場合には、その情報検索サービスを検索対象から除外する。すなわち、検索対象絞込部１４は、検索サービスＩＦリソース情報記憶部２１を参照し、そのサービス概要のフィールドに前記キーワードが含まれている場合には、情報検索装置１の検索対象の情報検索サービスとし、前記キーワードが含まれていない場合には、情報検索装置１の検索対象の情報検索サービスから除外する。
【００４４】
検索対象特定部１５は、ユーザ検索要求にキーワードが指定されていない場合には、検索サービスＩＦリソース情報記憶部２１にそのインタフェース情報が登録されている全部の情報検索サービス、または、ユーザ検索要求にキーワードが指定されている場合には、検索対象絞込部１４により絞り込まれた情報検索サービスのそれぞれについて、その情報検索サービスがユーザ検索要求により指定される検索項目の情報を提供することが可能か否かを判定し、提供が可能と判定された情報検索サービスについて、その情報検索サービスを検索対象として特定する。なお、その特定処理の詳細については、後記する。
【００４５】
検索サービスアクセス部１７は、検索対象特定部１５によって特定された情報検索サービスについて、その情報検索サービスを提供している情報提供サーバ装置２に対して、その情報検索サービスを利用するための検索サービス要求を生成し、生成した検索サービス要求を情報提供サーバ装置２に送信する。また、検索サービスアクセス部１７は、送信した検索サービス要求に応じて情報提供サーバ装置２から返送される検索結果を受信し、受信した検索結果を記憶部２０の一時記憶領域に格納する。
【００４６】
検索結果抽出部１６は、情報提供サーバ装置２から返送され、一時記憶領域に格納されている検索結果から、ユーザ検索要求で指定された検索項目の情報を抽出し、抽出した情報をユーザ検索結果として記憶部２０の一時記憶領域に格納する。
【００４７】
なお、以上の情報検索装置１の構成の説明において、検索サービスＩＦリソース情報記憶部２１は、請求項でいうインタフェース情報記憶手段に相当する。また、ユーザアクセス制御部１２は、請求項でいうユーザ検索要求受信手段およびユーザ検索結果送信手段に相当する。また、検索対象絞込部１４および検索対象特定部１５は、請求項でいう検索サービス特定手段に相当する。また、検索結果抽出部１６は、請求項でいうユーザ検索結果抽出手段に相当する。また、検索サービスアクセス部１７は、請求項でいう検索サービス要求生成手段、検索サービス要求送信手段および検索結果受信手段に相当する。
【００４８】
続いて、検索サービスＩＦリソース情報記憶部２１に記憶される検索サービスＩＦリソース情報の詳細について説明する。検索サービスＩＦリソース情報は、図１に示すように、検索サービスＩＦテーブル２１１、リクエストパラメータテーブル２１２、リクエストパラメータ同義語テーブル２１３、レスポンスフィールドテーブル２１４、レスポンスフィールド同義語テーブル２１５などを含んで構成される。
【００４９】
図３は、検索サービスＩＦテーブル２１１の構成の例を示した図である。検索サービスＩＦテーブル２１１は、自らの情報検索装置１が検索対象とする情報検索サービスについて、その情報検索サービスを識別する情報やインタフェース情報などを記憶するテーブルである。従って、検索サービスＩＦテーブル２１１は、図３に示すように、検索サービスＩＤ、検索サービス名、サービス概要、リクエストＵＲＬ（Uniform Resource Locator）およびプロトコルのフィールドを含んで構成される。
【００５０】
ここで、検索サービスＩＤのフィールドには、情報提供サーバ装置２から提供される情報検索サービスの識別情報が、検索サービス名のフィールドには、その情報検索サービスの名称が、サービス概要のフィールドには、その情報検索サービスが提供する検索内容の概要が、リクエストＵＲＬのフィールドには、情報提供サーバ装置２およびその情報検索サービスの所在アドレスを示す情報が、プロトコルのフィールドには、そのリクエストＵＲＬから検索結果を取得する方法を指示する情報が、それぞれ格納される。
【００５１】
なお、図３に示した情報検索サービスは、架空のものであり、従って、それらの検索サービス名やリクエストＵＲＬも実在するものではない。
【００５２】
図４は、リクエストパラメータテーブル２１２の構成の例を示した図である。リクエストパラメータテーブル２１２は、検索サービスアクセス部１７で検索サービス要求を生成する際に必要なリクエストパラメータに関する情報を記憶するテーブルである。従って、リクエストパラメータテーブル２１２は、図４に示すように、検索サービスＩＤ、パラメータＩＤ、パラメータ名および必要度のフィールドを含んで構成される。なお、本実施形態の場合、リクエストパラメータは、検索条件の名称に対応する。
【００５３】
ここで、検索サービスＩＤのフィールドには、情報検索サービスの識別情報が、パラメータＩＤのフィールドには、リクエストパラメータの識別情報が、パラメータ名のフィールドには、リクエストパラメータのＡＰＩ上での名称（つまり、検索条件の名称で、ここでは英語表記されている）が、必要度のフィールドには、そのパラメータの設定の必要度を示す情報（例えば、「必須」または「オプション」）が、それぞれ格納される。
【００５４】
図５は、リクエストパラメータ同義語テーブル２１３の構成の例を示した図である。リクエストパラメータ同義語テーブル２１３は、リクエストパラメータ（英語表記された検索条件の名称）の同義語を記憶するテーブルである。従って、リクエストパラメータ同義語テーブル２１３は、図５に示すように、パラメータＩＤおよび同義語のフィールドを含んで構成される。
【００５５】
ここで、パラメータＩＤのフィールドには、リクエストパラメータの識別情報が、同義語のフィールドには、そのパラメータＩＤのフィールドで指定されるパラメータ名（英語表記された検索条件の名称）に対応する同義語が、それぞれ格納される。
【００５６】
図６は、レスポンスフィールドテーブル２１４の構成の例を示した図である。レスポンスフィールドテーブル２１４は、検索サービスアクセス部１７により受信される検索結果を構成するレスポンスフィールドに関する情報を記憶するテーブルである。従って、レスポンスフィールドテーブル２１４は、図６に示すように、検索サービスＩＤ、フィールドＩＤ、フィールド名およびＸＰａｔｈのフィールドを含んで構成される。なお、本実施形態の場合、レスポンスフィールドは、検索項目の名称に対応する。
【００５７】
ここで、検索サービスＩＤのフィールドには、当該情報検索サービスの識別情報が、フィールドＩＤのフィールドには、レスポンスフィールドの識別情報が、フィールド名のフィールドには、レスポンスフィールドのＡＰＩ上での名称（つまり、検索項目の名称で、ここでは英語表記されている）が、ＸＰａｔｈのフィールドには、検索結果の情報において当該フィールド名で指定される情報が所在するＸＰａｔｈが、それぞれ格納される。なお、本実施形態では、検索結果の情報は、ＸＭＬ（Extensible Markup Language）で記述された情報を想定している。
【００５８】
図７は、レスポンスフィールド同義語テーブル２１５の構成の例を示した図である。レスポンスフィールド同義語テーブル２１５は、レスポンスフィールド（英語表記された検索項目の名称）の同義語を記憶するテーブルである。レスポンスフィールド同義語テーブル２１５は、図７に示すように、フィールドＩＤおよび同義語のフィールドを含んで構成される。
【００５９】
ここで、フィールドＩＤのフィールドには、レスポンスフィールドの識別情報が、同義語のフィールドには、そのフィールドＩＤのフィールドで指定されるフィールド名（英語表記された検索条件の名称）に対応する同義語が、それぞれ格納される。
【００６０】
続いて、図８および図９を参照して、情報検索装置１における情報検索処理のフローについて説明する。ここで、図８は、情報検索装置１における情報検索処理フローの例を示した図、図９は、図８の情報検索処理の中の検索対象の特定処理の詳細な処理フローの例を示した図である。
【００６１】
図８に示すように、処理部１０は、まず、検索サービスＩＦリソース情報管理部１１の処理として、管理者端末５０から、適宜、入力される情報を受け付けて、検索サービスＩＦリソース情報を、新たに生成し、あるいは、削除または変更する。すなわち、処理部１０は、そのとき検索対象とする情報検索サービスについてのインタフェース情報、つまり、検索サービスＩＦリソース情報を検索サービスＩＦリソース情報記憶部２１に登録する（ステップＳ０１）。
【００６２】
次に、処理部１０は、ユーザアクセス制御部１２の処理として、ユーザ端末３から送信されるユーザ検索要求を受信し（ステップＳ０２）、受信したユーザ検索要求を記憶部２０の一時記憶領域に格納する。次に、処理部１０は、検索要求解析部１３の処理として、記憶部２０の一時記憶領域に格納されているユーザ検索要求の構文を解析し（ステップＳ０３）、検索項目、検索条件およびキーワードなど情報検索に必要な情報を抽出する。
【００６３】
次に、処理部１０は、検索対象絞込部１４の処理として、ユーザ検索要求においてキーワードが指定されているか否かを判定する（ステップＳ０４）。そして、キーワードが指定されていた場合には（ステップＳ０４でＹｅｓ）、処理部１０は、検索サービスＩＦリソース情報を参照し、その検索サービスＩＦテーブル２１１のサービス概要のフィールドに前記指定されたキーワードが含まれているか否かを判定し、そのキーワードが含まれていない場合には、その情報検索サービスを検索対象から除外し、検索対象の情報検索サービスを絞り込む（ステップＳ０５）。また、キーワードが指定されていなかった場合には（ステップＳ０４でＮｏ）、処理部１０は、ステップＳ０５の処理をスキップする。
【００６４】
次に、処理部１０は、検索対象特定部１５の処理として、検索サービスＩＦリソース情報記憶部２１に登録されているすべての情報検索サービス、または、ステップＳ０５で絞り込まれた後の情報検索サービスについて、その検索サービスＩＦリソース情報を参照して、その情報検索サービスがユーザ検索要求により指定される検索項目の情報を提供することが可能か否かを判定し、提供が可能と判定された情報検索サービスについて、その情報検索サービスを検索対象として特定する（ステップＳ０６）。なお、この処理の詳細については、図９を用いて説明する。
【００６５】
次に、処理部１０は、検索サービスアクセス部１７の処理として、ステップＳ０６の処理で検索対象に特定された情報検索サービスについて、その情報検索サービスを利用するための検索サービス要求を生成し（ステップＳ０７）、その情報検索サービスを提供している情報提供サーバ装置２へ、前記生成した検索サービス要求を送信する（ステップＳ０８）。さらに、処理部１０は、送信した検索サービス要求に応じて情報提供サーバ装置２から返送される検索結果を受信し（ステップＳ０９）、受信した検索結果を記憶部２０の一時記憶領域に格納する。
【００６６】
なお、ここで、検索対象の情報検索サービスが複数ある場合には、その数だけの検索サービス要求を情報提供サーバ装置２へ送信するとともに、その複数の情報検索サービスを提供する情報提供サーバ装置２から返送される結果を、適宜、受信する。
【００６７】
次に、処理部１０は、検索結果抽出部１６の処理として、前記受信し、記憶部２０の一時記憶領域に格納に格納されている検索結果から、ユーザ検索要求で指定された検索項目の情報を抽出し（ステップＳ１０）、抽出した情報をユーザ検索結果として記憶部２０の一時記憶領域に格納する。次に、処理部１０は、ユーザアクセス制御部１２の処理として、記憶部２０の一時記憶領域に格納されているユーザ検索結果をユーザ端末３へ送信する（ステップＳ１１）。
【００６８】
続いて、図９を参照して、ステップＳ０６（検索対象の特定処理）の詳細について説明する。この検索対象の特定処理では、検索サービスＩＦリソース情報記憶部２１に登録されている情報検索サービスについて、ユーザ検索要求に含まれる検索項目および検索条件がそのＡＰＩに含まれているか否かを判定し、そのすべてが含まれている場合に、検索対象とし、そうでない場合、検索対象から除外する。
【００６９】
処理部１０は、レスポンスフィールド同義語テーブル２１５を参照して、ユーザ検索要求に含まれる検索項目の名称がその同義語フィールドに存在する場合には、その検索項目の名称に対応するフィールドＩＤを取得する（ステップＳ２１）。次に、処理部１０は、レスポンスフィールドテーブル２１４を参照して、ステップＳ２１で取得したフィールドＩＤを有するレコード（つまり、フィールド名とＸＰａｔｈを含むレコード）を取得する（ステップＳ２２）。
【００７０】
次に、ステップＳ２１およびステップＳ２２の処理結果に基づき、処理部１０は、ユーザ検索要求に含まれるすべての検索項目の名称に対して、フィールド名とＸＰａｔｈとを含むレコードを取得できなかった情報検索サービスについては、その情報検索サービスを検索対象から除外する（ステップＳ２３）。
【００７１】
次に、処理部１０は、リクエストパラメータ同義語テーブル２１３を参照して、ユーザ検索要求に含まれる検索条件の名称がその同義語フィールドに存在する場合には、その検索条件の名称に対応するパラメータＩＤを取得する（ステップＳ２４）。次に、処理部１０は、リクエストパラメータテーブル２１２を参照して、ステップＳ２４で取得したパラメータＩＤを有するレコード（つまり、パラメータ名と必要度を含むレコード）を取得する（ステップＳ２５）。
【００７２】
次に、ステップＳ２４およびステップＳ２５の処理結果に基づき、処理部１０は、ユーザ検索要求に含まれるすべての検索条件の名称に対し、パラメータ名と必要度とを含むレコードを取得できなかった情報検索サービスについては、その情報検索サービスを検索対象から除外する（ステップＳ２６）。
【００７３】
次に、処理部１０は、リクエストパラメータテーブル２１２を参照して、その必要度が「必須」のパラメータ名が、ステップＳ２６までに取得したすべての検索条件の名称に対するレコードのパラメータ名に含まれていない情報検索サービスについては、その情報検索サービスを検索対象から除外する（ステップＳ２７）。すなわち、情報検索サービスが「必須」とする検索条件がユーザ検索要求によって提供されていない場合、その情報検索サービスは、情報検索を実行することができないので、処理部１０は、その情報検索サービスを検索対象から除外する。
【００７４】
そして、処理部１０は、以上の処理によって除外されなかった情報検索サービスを、検索対象の情報検索サービスであると特定する。
【００７５】
続いて、図３〜図７に示した検索サービスしＩＦリソース情報に基づき、ユーザ端末３から検索要求が入力されたとき行われる情報検索処理を、図８および図９の処理フローに沿って、さらに、図１０〜図１６を参照して、具体的に説明する。
【００７６】
図１０は、ユーザ端末３から入力されるユーザ検索要求の例を示した図であり、（ａ）は、キーワードがない場合の検索要求の例、（ｂ）は、キーワードがある場合のユーザ検索要求の例である。すなわち、（ａ）では、「最寄り駅」が「横浜駅」であることを条件に、「店名」、「住所」、「電話番号」、「評判」を検索する。また（ｂ）では、キーワードとして「飲食店」が設定されているので、「最寄り駅」が「横浜駅」である「飲食店」を条件に、「店名」、「住所」、「電話番号」、「評判」を検索する。
【００７７】
以下、（Ａ）ユーザ端末３からのユーザ検索要求にキーワードがある場合と、（Ｂ）キーワードがない場合とに分けて説明する。
【００７８】
（Ａ）ユーザ検索要求にキーワードがある場合
情報検索装置１の処理部１０は、情報検索を行うにあたって、まず、図３〜図７に示すような検索サービスＩＦリソース情報を登録しておく（図８のステップＳ０１）。ここでは、図３の検索サービスＩＦテーブル２１１に示すように、「ぐるめ案内」、「コンビニ検索」、「書店サーチ」という３つの情報検索サービスが登録されている。
【００７９】
次に、処理部１０は、ユーザ端末から、図１０（ａ）のようなユーザ検索要求を受信し（図８のステップＳ０２）、その検索要求の構文を解析する（図８のステップＳ０３）。その解析の結果、処理部１０は、検索項目が「店名」、「住所」、「電話番号」、「評判」という４つのデータ項目（以下、検索項目の名称という）で構成され、検索条件が「最寄り駅」というデータ項目（以下、検索条件の名称という）および「横浜駅」という条件値の１組の条件で構成されていることを認識する。
【００８０】
次に、処理部１０は、キーワードが指定されていないので、検索対象の絞込みは行わない（図８のステップＳ０４でＮｏ）。
【００８１】
次に、処理部１０は、レスポンスフィールド同義語テーブル２１５（図７参照）から、ユーザ検索要求の検索項目の名称に対応するフィールドＩＤを取得し（図９のステップＳ２１）、さらに、レスポンスフィールドテーブル２１４（図６参照）から、その取得したフィールドＩＤを有するレコードを取得する（図９のステップＳ２２）。
【００８２】
ちなみに、処理部１０は、「店名」により、レスポンスフィールド同義語テーブル２１５（図７）を参照して、フィールドＩＤ「１００１」、「２００１」、「３００１」を取得する。さらに、これらのフィールドＩＤにより、レスポンスフィールドテーブル２１４（図６）を参照して、図１１（ａ）に示す３つのレコードを取得する。
【００８３】
同様にして、処理部１０は、「住所」から、図１１（ｂ）に示す３つのレコードを取得し、「電話番号」から、図１１（ｃ）に示す３つのレコードを取得し、「評判」から、図１１（ｄ）に示す２つのレコードを取得する。
【００８４】
以上により、検索サービスＩＤが「１」と「２」の情報検索サービスについては、ユーザ検索要求に含まれるすべての検索項目の名称に対してフィールド名とＸＰａｔｈとを含むレコードが取得されているので、検索対象に含める。また、検索サービスＩＤが「３」の情報検索サービスについては、ユーザ検索要求に含まれるすべての検索項目の名称のうち「評判」に対するフィールド名とＸＰａｔｈとを含むレコードが取得されていないので、検索対象から除外する（図９のステップＳ２３）。
【００８５】
次に、処理部１０は、リクエストパラメータ同義語テーブル２１３（図５参照）から、ユーザ検索要求の検索条件の名称に対応するパラメータＩＤを取得し（図９のステップＳ２４）、さらに、リクエストパラメータテーブル２１２（図４参照）から、その取得したパラメータＩＤを有するレコードを取得する（図９のステップＳ２５）。
【００８６】
ちなみに、「最寄り駅」により、リクエストパラメータ同義語テーブル２１３（図５）を参照して、パラメータＩＤ「１０２」、「２０２」、「３０２」を取得する。さらに、これらのパラメータＩＤにより、リクエストパラメータテーブル２１２（図４）を参照して、図１１（ｅ）に示す３つのレコードを取得する。
【００８７】
この場合には、いずれの情報検索サービスについても、ユーザ検索要求に含まれる検索条件の名称に対してパラメータ名と必要度とを含むレコードが取得されているので、除外される情報検索サービスはない（図９のステップＳ２６）。
【００８８】
ここまでの処理では、検索サービスＩＤが「１」と「２」の情報検索サービスが検索対象として残っている。そこで、処理部１０は、リクエストパラメータテーブル２１２（図４）を参照し、検索サービスＩＤが「１」の情報検索サービスについて、必要度が「必須」のパラメータ名として「station」を取得する。このとき、パラメータ名「station」は、ユーザ検索要求に含まれるすべての検索項目に対応するパラメータ名として含まれている（図１１（ｅ）参照）。従って、処理部１０は、検索サービスＩＤが「１」の情報検索サービスを検索対象から除外しない。また、処理部１０は、リクエストパラメータテーブル２１２（図４）を参照すると、検索サービスＩＤが「２」の情報検索サービスについては、必要度が「必須」のパラメータ名が存在しないことを知る。従って、処理部１０は、検索サービスＩＤが「２」の情報検索サービスも検索対象から除外しない（図９のステップＳ２７）。
【００８９】
以上により、処理部１０は、検索サービスＩＤが「１」と「２」の情報検索サービスを検索対象の情報検索サービスであると特定する（図８のステップＳ０６）。
【００９０】
次に、処理部１０は、特定した情報提供サービスを利用するための検索サービス要求を生成する（ステップＳ０７）。そのために、処理部１０は、まず、検索サービスＩＦテーブル２１１を参照して、リクエストＵＲＬとプロトコルとを取得する。そして、処理部１０は、ユーザ検索条件の条件値「横浜駅」を含めて、次のような検索サービス要求を生成する。
【００９１】
検索サービスＩＤが「１」の情報検索サービス（「ぐるめ案内」）に対して：
http://www.gourumet.jp/Search?station=横浜駅
検索サービスＩＤが「２」の情報検索サービス（「コンビニ検索」）に対して：
http://www.conbeni.jp/Search?station=横浜駅
なお、日本語文字コード「横浜駅」は、「%B2%A3%C9%CD%B1%D8」とＵＲＬエンコードされる。
【００９２】
次に、処理部１０は、以上の生成した検索サービス要求を情報提供サーバ装置２へ送信し（図８のステップＳ０８）、その後、情報提供サーバ装置２から返送される検索結果を受信する（図８のステップＳ０９）。図１２および図１３は、情報提供サーバ装置２から返送される検索結果の例を示した図であり、図１２は、検索サービスＩＤが「１」の情報検索サービス（「ぐるめ案内」）の検索結果の例、図１３は、検索サービスＩＤが「２」の情報検索サービス（「コンビニ検索」）の検索結果の例である。ここでは、検索結果は、ＸＭＬで記述されている。
【００９３】
次に、処理部１０は、受信した検索結果から、ＸＰａｔｈを用いて検索項目の情報を抽出する（図８のステップＳ１０）。図１４は、検索結果から検索項目の情報を抽出した例を示した図であり、（ａ）は、図１２の検索結果から抽出した検索項目の情報、（ｂ）は、図１３の検索結果から抽出した検索項目の情報である。
【００９４】
次に、処理部１０は、図１４に示した検索項目の情報を、ユーザ検索結果としてユーザ端末３へ送信する（図８のステップＳ１１）。以上により、ユーザは、ユーザ検索要求に対するユーザ検索結果を得る。
【００９５】
（Ｂ）ユーザ検索要求にキーワードがある場合
この場合も、処理部１０は、まず、情報検索を行うにあたって、図３〜図７に示すような検索サービスＩＦリソース情報を登録しておく（図８のステップＳ０１）。
【００９６】
次に、処理部１０は、ユーザ端末から、図１０（ｂ）のようなユーザ検索要求を受信し（図８のステップＳ０２）、その検索要求の構文を解析する（図８のステップＳ０３）。その解析の結果、処理部１０は、検索項目が「店名」、「住所」、「電話番号」、「評判」という４つのデータ項目（以下、検索項目の名称という）で構成され、検索条件が「最寄り駅」というデータ項目（以下、検索条件の名称という）および「横浜駅」という条件値の１組の条件で構成され、キーワードが「飲食店」であることを認識する。
【００９７】
次に、処理部１０は、キーワードがあるので（図８のステップＳ０４でＹｅｓ）、キーワードにより検索対象を絞り込む（図８のステップＳ０５）。すなわち、キーワードの値「飲食店」により検索サービスＩＦテーブル２１１（図３参照）のサービス概要のフィールドを全文検索して、検索対象を「飲食店」がヒットする情報検索サービスに絞り込む。この例では、検索対象は、検索サービスＩＤが「１」の「ぐるめ案内」のみに絞り込まれる。
【００９８】
次に、処理部１０は、絞り込まれた情報検索サービスに対し、レスポンスフィールド同義語テーブル２１５（図７参照）から、ユーザ検索要求の検索項目の名称に対応するフィールドＩＤを取得し（図９のステップＳ２１）、さらに、レスポンスフィールドテーブル２１４（図６参照）から、その取得したフィールドＩＤを有するレコードを取得する（図９のステップＳ２２）。
【００９９】
ちなみに、処理部１０は、「店名」により、レスポンスフィールド同義語テーブル２１５（図７）を参照して、フィールドＩＤ「１００１」、「２００１」、「３００１」を取得する。このとき、検索対象は、検索サービスＩＤが「１」の情報検索サービスだけであるので、レスポンスフィールドテーブル２１４（図６）を参照して、検索サービスＩＤが「１」のフィールドＩＤ「１００１」により、図１５（ａ）に示す１つのレコードを取得する。
【０１００】
同様にして、処理部１０は、「住所」から、図１５（ｂ）に示す１つのレコードを取得し、「電話番号」から、図１５（ｃ）に示す１つのレコードを取得し、「評判」から、図１５（ｄ）に示す１つのレコードを取得する。
【０１０１】
この場合、検索サービスＩＤが「１」の情報検索サービスについては、検索要求に含まれるすべての検索項目の名称に対してフィールド名とＸＰａｔｈとを含むレコードが取得されているので、検索対象に含める。従って、検索対象から除外する情報検索サービスはない（図９のステップＳ２３）。
【０１０２】
次に、処理部１０は、リクエストパラメータ同義語テーブル２１３（図５参照）から、ユーザ検索要求の検索条件の名称に対応するパラメータＩＤを取得し（図９のステップＳ２４）、さらに、リクエストパラメータテーブル２１２（図４参照）から、その取得したパラメータＩＤを有するレコードを取得する（図９のステップＳ２５）。
【０１０３】
ちなみに、処理部１０は、「最寄り駅」により、リクエストパラメータ同義語テーブル２１３（図５）を参照して、パラメータＩＤ「１０２」、「２０２」、「３０２」を取得する。このとき、検索対象は、検索サービスＩＤが「１」の情報検索サービスだけであるので、リクエストパラメータテーブル２１２（図４）を参照して、検索サービスＩＤが「１」のパラメータＩＤ「１０２」により、図１５（ｅ）に示す１つのレコードを取得する。
【０１０４】
この場合、検索サービスＩＤが「１」の情報検索サービスについては、ユーザ検索要求に含まれる検索条件の名称に対してパラメータ名と必要度とを含むレコードが取得されているので、除外される情報検索サービスはない。
【０１０５】
次に、処理部１０は、リクエストパラメータテーブル２１２（図４）を参照し、検索サービスＩＤが「１」の情報検索サービスについて、必要度が「必須」のパラメータ名として「station」を取得する。このとき、パラメータ名「station」は、ユーザ検索要求に含まれるすべての検索項目に対応するパラメータ名として含まれている（図１１（ｅ）参照）。従って、処理部１０は、検索サービスＩＤが「１」の情報検索サービスを検索対象から除外しない。（図９のステップＳ２７）。
【０１０６】
以上により、処理部１０は、検索サービスＩＤが「１」の情報検索サービスを検索対象の情報検索サービスであると特定する（図９のステップＳ２６）。
【０１０７】
次に、処理部１０は、特定した情報提供サービスを利用するための検索サービス要求を生成する（図８のステップＳ０７）。そのために、処理部１０は、まず、検索サービスＩＦテーブル２１１を参照して、リクエストＵＲＬとプロトコルとを取得する。そして、処理部１０は、ユーザ検索条件の条件値「横浜駅」を含めて、次のような検索サービス要求を生成する。
【０１０８】
検索サービスＩＤが「１」の情報検索サービス（「ぐるめ案内」）に対して：
http://www.gourumet.jp/Search?station=横浜駅
なお、日本語文字コード「横浜駅」は、「%B2%A3%C9%CD%B1%D8」とＵＲＬエンコードされる。
【０１０９】
次に、処理部１０は、以上の生成した検索サービス要求を情報提供サーバ装置２へ送信し（図８のステップＳ０８）、その後、情報提供サーバ装置２から返送される検索結果を受信する（図８のステップＳ０９）。この場合、検索対象の情報検索サービスは、「ぐるめ案内」だけであるので、その検索結果は、図１２に示したものとなる。
【０１１０】
次に、処理部１０は、受信した検索結果から、ＸＰａｔｈを用いて検索項目の情報を抽出する（図８のステップＳ１０）。図１６は、検索結果から検索項目の情報を抽出した例を示した図である。
【０１１１】
次に、処理部１０は、図１６に示した検索項目の情報を、ユーザ検索結果としてユーザ端末３へ送信する（図８のステップＳ１１）。以上により、ユーザは、ユーザ検索要求に対するユーザ検索結果を得る。
【０１１２】
以上、本実施形態によれば、情報検索装置１は、ＷＥＢ上に公開された複数の情報検索サービスのＡＰＩに係る情報を、検索サービスＩＦリソース情報記憶部２１に登録しておくことにより、ユーザ端末３からのユーザ検索要求に適合するような情報検索サービスを、適宜、選択して、その選択した情報検索サービスに対し、所定の情報検索サービスを要求し、その結果得られる検索結果をまとめてユーザ検索結果として、ユーザ端末３へ送信する。従って、ユーザは、単一のユーザ検索要求を情報検索装置１に送信するだけで、複数の情報検索サービスによる検索結果を受け取ることができる。
【０１１３】
なお、本実施形態において、情報検索装置１の管理者は、ＷＥＢ上に公開されている情報検索サービスについてのＡＰＩに係る情報を検索サービスＩＦリソース情報記憶部２１に登録する必要があるが、その登録には、データベースについて高度な知識は必要でなく、ＸＭＬについて初歩の知識があればよい。また、新たな情報検索サービスのＡＰＩを登録する場合にも、情報検索装置１における処理フローを変更する必要はない。すなわち、情報検索装置１の情報検索プログラムでは、新たな情報検索サービスのＡＰＩの追加に対する柔軟性が確保されていることになる。
【０１１４】
また、検索サービスＩＦリソース情報記憶部２１のリクエストパラメータ同義語テーブル２１３およびレスポンスフィールド同義語テーブル３１５には、それぞれ、検索条件の名称の同義語および検索項目の名称の同義語をいくつも設定することができる。従って、ユーザがユーザ端末３でユーザ検索要求を設定するとき、検索条件の名称、検索項目の名称およびその設定数を、情報検索サービスで定められた名称や数に合わせる必要はない。
【０１１５】
本実施形態では、情報検索装置１がユーザ検索要求に含まれる検索条件の名称、検索項目の名称およびその設定数に適合する情報検索サービスを特定し、その特定した情報検索サービスによる検索結果をユーザ端末３へ送信する。そのため、ユーザは、検索条件の名称や検索項目の名称やその設定数などにこだわらずにユーザ端末３からユーザ検索要求を送信することができる。
【図面の簡単な説明】
【０１１６】
【図１】本発明の実施形態に係る情報検索装置、および、その情報検索装置を適用したシステムの全体構成の例を示した図。
【図２】本発明の実施形態に係る情報検索装置による情報検索の手順の例を示した図。
【図３】検索サービスＩＦテーブルの構成の例を示した図。
【図４】リクエストパラメータテーブルの構成の例を示した図。
【図５】リクエストパラメータ同義語テーブルの構成の例を示した図。
【図６】レスポンスフィールドテーブルの構成の例を示した図。
【図７】レスポンスフィールド同義語テーブルの構成の例を示した図。
【図８】本発明の実施形態に係る情報検索装置における情報検索処理フローの例を示した図。
【図９】検索対象の特定処理の詳細な処理フローの例を示した図。
【図１０】ユーザ端末から入力されるユーザ検索要求の例を示した図。
【図１１】ユーザ検索要求の検索項目の名称により取得されるレスポンスフィールドテーブルのレコード、および、検索条件の名称により取得されるリクエストパラメータテーブルのレコードの例（キーワードがない場合）を示した図。
【図１２】検索サービスＩＤが「１」の情報検索サービスの検索結果の例を示した図。
【図１３】検索サービスＩＤが「２」の情報検索サービスの検索結果の例を示した図。
【図１４】検索結果から検索項目の情報を抽出した例（キーワードがない場合）を示した図。
【図１５】ユーザ検索要求の検索項目の名称により取得されるレスポンスフィールドテーブルのレコード、および、検索条件の名称により取得されるリクエストパラメータテーブルのレコードの例（キーワードがある場合）を示した図。
【図１６】検索結果から検索項目の情報を抽出した例（キーワードがある場合）を示した図。
【符号の説明】
【０１１７】
１      情報検索装置
２      情報提供サーバ装置
３      ユーザ端末
４      通信ネットワーク
１０    処理部
１１    検索サービスＩＦリソース情報管理部
１２    ユーザアクセス制御部
１３    検索要求解析部
１４    検索対象絞込部
１５    検索対象特定部
１６    検索結果抽出部
１７    検索サービスアクセス部
２０    記憶部
２１    検索サービスＩＦリソース情報記憶部
３０    入出力ＩＦ部
４０    通信ＩＦ部
５０    管理者端末
２０１  情報検索サービスプログラム
２１１  検索サービスＩＦテーブル
２１２  リクエストパラメータテーブル
２１３  リクエストパラメータ同義語テーブル
２１４  レスポンスフィールドテーブル
２１５  レスポンスフィールド同義語テーブル
【図１】
2009037501.tif 000003
【図２】
2009037501.tif 000004
【図３】
2009037501.tif 000005
【図４】
2009037501.tif 000006
【図５】
2009037501.tif 000007
【図６】
2009037501.tif 000008
【図７】
2009037501.tif 000009
【図８】
2009037501.tif 000010
【図９】
2009037501.tif 000011
【図１０】
2009037501.tif 000012
【図１１】
2009037501.tif 000013
【図１２】
2009037501.tif 000014
【図１３】
2009037501.tif 000015
【図１４】
2009037501.tif 000016
【図１５】
2009037501.tif 000017
【図１６】
2009037501.tif 000018