(57)【要約】【課題】適切な検索エンジンを自動的に選択することを目的とする。【解決手段】入力された検索クエリに基づいて検索クエリに係る検索種別を特定し、検索種別に基づいて検索エンジンを特定する検索エンジン特定手段と、検索エンジンと、複数のコンテンツを含むデータソースと、を対応付ける対応付け情報と、検索エンジン特定手段で特定された検索エンジンと、に基づいてデータソースを選択するデータソース選択手段と、検索エンジン特定手段で複数の検索エンジンが特定された検索エンジンに係る検索種別が重複しているか否か、及びデータソース選択手段で特定されたデータソースが重複しているか否かに基づいて、特定手段で特定された複数の検索エンジンの中から、検索を要求する検索エンジンを決定する決定手段と、を有することによって課題を解決する。【選択図】図９
2010267075.tif 000002
【特許請求の範囲】
【請求項１】
入力された検索クエリに基づいて前記検索クエリに係る１又は複数の検索種別を特定し、前記検索種別に基づいて１又は複数の検索エンジンを特定する検索エンジン特定手段と、
検索エンジンと、前記検索エンジンが検索対象とする複数のコンテンツを含むデータソースと、を対応付ける対応付け情報と、前記検索エンジン特定手段で特定された１又は複数の検索エンジンと、に基づいて１又は複数のデータソースを選択するデータソース選択手段と、
前記検索エンジン特定手段で複数の検索エンジンが特定された検索エンジンに係る検索種別が重複しているか否か、及び前記データソース選択手段で特定されたデータソースが重複しているか否かに基づいて、前記特定手段で特定された複数の検索エンジンの中から、検索を要求する検索エンジンを決定する決定手段と、
を有する情報処理装置。
【請求項２】
入力された検索クエリに基づいて、前記決定手段で決定された検索エンジンに応じた検索エンジン個別の検索クエリを生成する生成手段と、
前記生成手段で生成された検索エンジン個別の検索クエリを、対応する各検索エンジンに渡し、検索の実行を要求する要求手段と、
前記要求手段で検索の実行を要求された各検索エンジンにおける検索の結果を取得する取得手段と、
前記取得手段で取得された検索の結果を統合する検索結果統合手段と、
前記検索結果統合手段で統合された検索の結果を表示する統合結果表示手段と、
を更に有する請求項１記載の情報処理装置。
【請求項３】
入力された検索クエリに基づいて、共通のデータソースを検索対象としている検索エンジンの検索結果の間で論理積を取ることが指定されているか否かを判定し、前記判定の結果に基づいて、前記取得手段で取得された検索の結果の統合方法を決定する統合方法決定手段を更に有する請求項２記載の情報処理装置。
【請求項４】
情報処理装置が、入力された検索クエリに基づいて前記検索クエリに係る１又は複数の検索種別を特定し、前記検索種別に基づいて１又は複数の検索エンジンを特定する検索エンジン特定ステップと、
前記情報処理装置が、検索エンジンと、前記検索エンジンが検索対象とする複数のコンテンツを含むデータソースと、を対応付ける対応付け情報と、前記検索エンジン特定ステップで特定された１又は複数の検索エンジンと、に基づいて１又は複数のデータソースを選択するデータソース選択ステップと、
前記情報処理装置が、前記検索エンジン特定ステップで複数の検索エンジンが特定された前記検索エンジンに係る検索種別が重複しているか否か、及び前記データソース選択ステップで特定されたデータソースが重複しているか否かに基づいて、前記特定ステップで特定された複数の検索エンジンの中から、検索を要求する検索エンジンを決定する決定ステップと、
を有する情報処理方法。
【請求項５】
前記情報処理装置が、入力された検索クエリに基づいて、前記決定ステップで決定された検索エンジンに応じた検索エンジン個別の検索クエリを生成する生成ステップと、
前記情報処理装置が、前記生成ステップで生成された検索エンジン個別の検索クエリを、対応する各検索エンジンに渡し、検索の実行を要求する要求ステップと、
前記情報処理装置が、前記要求ステップで検索の実行を要求された各検索エンジンにおける検索の結果を取得する取得ステップと、
前記情報処理装置が、前記取得ステップで取得された検索の結果を統合する検索結果統合ステップと、
前記情報処理装置が、前記検索結果統合ステップで統合された検索の結果を表示する統合結果表示ステップと、
を更に有する請求項４記載の情報処理方法。
【請求項６】
前記情報処理装置が、入力された検索クエリに基づいて、共通のデータソースを検索対象としている検索エンジンの検索結果の間で論理積を取ることが指定されているか否かを判定し、前記判定の結果に基づいて、前記取得ステップで取得された検索の結果の統合方法を決定する統合方法決定ステップを更に有する請求項５記載の情報処理方法。
【請求項７】
コンピュータを、
入力された検索クエリに基づいて前記検索クエリに係る１又は複数の検索種別を特定し、前記検索種別に基づいて１又は複数の検索エンジンを特定する検索エンジン特定手段と、
検索エンジンと、複数のコンテンツを含むデータソースと、を対応付ける対応付け情報と、前記検索エンジン特定手段で特定された１又は複数の検索エンジンと、に基づいて１又は複数のデータソースを選択するデータソース選択手段と、
前記検索エンジン特定手段で複数の検索エンジンが特定された前記検索エンジンに係る検索種別が重複しているか否か、及び前記データソース選択手段で特定されたデータソースが重複しているか否かに基づいて、前記特定手段で特定された複数の検索エンジンの中から、検索を要求する検索エンジンを決定する決定手段と、
して機能させるプログラム。
【請求項８】
請求項７記載のプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、プログラム及び記憶媒体に関する。
【背景技術】
【０００２】
複数の検索エンジンを統合して検索を行う統合検索技術が用いられている。例えばインターネット上の複数の検索サイトを同時に検索して結果を統合するメタ検索サービスや、企業内データベースを横断検索するシステムなどが既に実用化されている。統合検索においては、複数の検索エンジンをどのように用いて検索を実行するかに検索結果が依存するため、適切な結果を得るには適切な検索の実行方法を選択する必要がある。これに対する従来技術として、例えば特許文献１では複数の検索エンジン相互に関する検索条件をユーザが指定する方法が提案されている。この方法は、検索に使用する検索エンジンと、それらの間の論理演算の方法とをユーザが指定することにより所望の検索結果を得るものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−０２４２６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
インターネットのメタ検索においては、ユーザが求めるコンテンツが所在するデータソースはＷｅｂサイトの全体集合であり、検索エンジンが検索対象とするデータソースはＷｅｂサイトの部分集合である。ここで、各検索エンジンが検索対象とするＷｅｂサイトの部分集合が十分に広範であれば、実行上はＷｅｂサイトの全体集合という単一のデータソースを検索対象としていると見なすことができる。このように、検索エンジンが検索対象とするデータソースと、ユーザの求めるコンテンツが所在するデータソースとが、共にユーザにとって既知又は既知と見なせる場合は、ユーザが検索エンジンの組み合わせ方を指定する方法に検索結果の改善効果が期待できた。
【０００５】
しかしながら、検索エンジンが検索対象とするデータソースや、求めるコンテンツが所在するデータソースが未知の場合、ユーザが最適な検索エンジンの組み合わせを指定することは困難となる。例えば、インターネットやイントラネット等を含む様々なネットワーク上に分散したコンテンツを検索する統合検索を考える。このような場合、一般にユーザは所望のコンテンツがネットワーク上のどこに所在しているかを知り得ないので、統合検索には幅広く検索を行うことが求められる。それと同時に、分散した大量のコンテンツから所望のコンテンツを効率よく取得することが求められる。
【０００６】
しかしながら、コンテンツの所在に関する事前知識のないユーザにとって、検索対象とするデータソースを特定することは有効な手段とは成り得ない。更に、各検索エンジンが検索対象とするデータソースについての知識をコンテンツの所在と結びつけることができない。したがって、所望のコンテンツが得られるよう検索に利用するデータソースや検索エンジンを適切に選択することも、検索エンジン間の論理演算の方法を適切に指定することもユーザに期待することはできない。ユーザの事前知識を前提とした従来技術はこの点において課題があった。
【０００７】
更に、共通のデータソースを検索対象とする複数の検索エンジンそれぞれに対して同じ検索を実行させることは無駄である。このような場合は得られる結果もまた同一であって、複数のエンジン統合することによる効果は得られない。したがって、検索に利用する検索エンジンを限定して通信帯域やマシンリソースの浪費を回避することが望まれるが、ユーザの指定した検索エンジンに検索を実行させる従来技術では、こうした要求に対応することは困難であった。
【０００８】
本発明はこのような問題点に鑑みなされたもので、適切な検索エンジンを自動的に選択することを目的とする。
【課題を解決するための手段】
【０００９】
そこで、本発明は、入力された検索クエリに基づいて前記検索クエリに係る１又は複数の検索種別を特定し、前記検索種別に基づいて１又は複数の検索エンジンを特定する検索エンジン特定手段と、検索エンジンと、前記検索エンジンが検索対象とする複数のコンテンツを含むデータソースと、を対応付ける対応付け情報と、前記検索エンジン特定手段で特定された１又は複数の検索エンジンと、に基づいて１又は複数のデータソースを選択するデータソース選択手段と、前記検索エンジン特定手段で複数の検索エンジンが特定された検索エンジンに係る検索種別が重複しているか否か、及び前記データソース選択手段で特定されたデータソースが重複しているか否かに基づいて、前記特定手段で特定された複数の検索エンジンの中から、検索を要求する検索エンジンを決定する決定手段と、を有する。
かかる構成とすることにより、適切な検索エンジンを自動的に選択することができる。
また、本発明は、情報処理方法、プログラム及び記憶媒体としてもよい。
【発明の効果】
【００１０】
本発明によれば、適切な検索エンジンを自動的に選択することができる。
【図面の簡単な説明】
【００１１】
【図１】統合検索を行うシステムのシステム構成の一例を示す図（その１）である。
【図２】統合検索装置のモジュール構成の一例を示す図である。
【図３】統合検索装置のハードウェア構成の一例を示す図である。
【図４】統合検索を行うシステムのシステム構成の一例を示す図（その２）である。
【図５】検索エンジンの登録処理の一例を示すフローチャートである。
【図６】検索エンジン管理部が保管するデータの構造を示す図である。
【図７】データソース管理部が保管するデータの構造を示す図である。
【図８】検索エンジン＝データソース対応付け管理部が保管するデータの構造を示す図である。
【図９】検索処理の一例を示すフローチャートである。
【図１０】統合検索を行うシステムのシステム構成の一例を示す図（その３）である。
【図１１】統合検索装置１０１内の保管データの構成の一例を示す図である。
【図１２】検索結果統合処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について図面に基づいて説明する。
【００１３】
＜実施形態１＞
図１は、統合検索を行うシステムのシステム構成の一例を示す図（その１）である。情報処理装置（コンピュータ）の一例である統合検索装置１０１は、ユーザからの検索要求を受けて複数の検索エンジンに対して検索の実行を指示し、それぞれの検索エンジンから取得した検索結果を統合する。検索エンジン１０２〜１０４は、データソース１０５〜１０７に含まれるコンテンツの検索を行う。検索エンジンには属性検索や全文検索等が存在し得るが、本実施形態はその種別は問わない。同様に、データソースにはデータベースやファイルサーバ等が存在し得るがその種別は問わない。各検索エンジンが検索対象とするデータソースは１つには限られず、更には複数の検索エンジンが同一のデータソースを検索対象としていてもよい。また、各検索エンジンの内部においてＭａｐＲｅｄｕｃｅに代表される並列分散化が行われていても構わない。
【００１４】
統合検索装置と各検索エンジンとは通信手段１０８によって接続され、各検索エンジンとデータソースとは通信手段１０９によって接続されている。ここで通信手段１０８、１０９には、統合検索装置と検索エンジンとの接続方法ならびに検索エンジンとデータソースとの接続方法に応じて、様々なものが適用可能である。例えば、インターネットやＬＡＮのような通信網、コンピュータシステム内のバス、更にはコンピュータプログラムのＡＰＩ等である。
【００１５】
図２は、統合検索装置のモジュール構成の一例を示す図である。
検索エンジン管理部２０１は、統合検索装置が利用可能な検索エンジンを登録して保管する。検索エンジンを登録する方法については本実施形態が規定する所ではない。データソース管理部２０２は、検索エンジン管理部２０１に登録されている各検索エンジンが検索対象とするデータソースを識別するデータソース特定情報を取得して保管する。検索エンジン＝データソース対応付け管理部２０３は、検索エンジン管理部２０１とデータソース管理部２０２に保管されている情報を対応付けて統括管理する。データソース関係検証部２０４は、データソース管理部２０２で管理されているデータソース特定情報に基づいて検索エンジン管理部２０１に登録されている検索エンジンが、共通のコンテンツを検索対象としているか否かを検証する。
【００１６】
共通検索クエリ設定部２０５は、ユーザからの検索クエリ入力を受け付ける。個別検索クエリ生成部２０６は、共通検索クエリ設定部２０５においてユーザが入力した検索クエリと、データソース関係検証部２０４の検証結果と、から、検索エンジン管理部２０１に登録されている各検索エンジンに応じた検索クエリを生成する。個別検索実行部２０７は、個別検索クエリを用いて検索エンジン管理部２０１に登録されている各検索エンジンに検索の実行を要求し、検索結果を取得する。なお、図２において共通検索クエリ設定部２０５と個別検索クエリ生成部２０６とはそれぞれ１つであるように示されているが、検索エンジン毎に分かれている構成をとるようにしてもよい。検索結果統合部２０８は、個別検索実行部２０７で取得した検索結果を統合する。入出力管理部２０９は、検索クエリの入力や検索結果の表示のためのユーザインタフェースを管理する。
【００１７】
図３は、統合検索装置のハードウェア構成の一例を示す図である。
ＣＰＵ３０１は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）及び各種アプリケーションプログラムを実行し統合検索装置各部の制御を行う。ＲＯＭ３０２は、ＣＰＵ３０１が実行するプログラムや演算用のパラメータのうちの固定的なデータを格納する。ＲＡＭ３０３は、ＣＰＵ３０１の作業領域やデータの一時記憶領域を提供する。ＲＯＭ３０２及びＲＡＭ３０３は、バス３０４を介してＣＰＵ３０１に接続される。キーボード等の入力装置３０５、ＣＲＴ、液晶ディスプレイ等の表示装置３０６、ハードディスク装置、ＭＯ、ＣＤ−ＲＯＭ等の外部記憶装置３０７は、インタフェース３０８を介してバス３０４に接続される。また、バス３０４は、通信部３０９を介してネットワークと接続される。
ＣＰＵ３０１が、プログラムに基づく処理を実行することによって、上述したモジュール構成や後述するフローチャートに係る処理が実現される。
【００１８】
続いて、本実施形態における各モジュールの処理について説明する。
［第１のシステム構成］
ここでは簡単のため図４に示すシステム構成を用いる。図４は、統合検索を行うシステムのシステム構成の一例を示す図（その２）である。図４のシステム構成は、図１で示したシステム構成のうち、検索エンジン２つとデータソース１つとだけを持つ場合のシステム構成に該当する。検索エンジン１と検索エンジン２とは何れもデータソース１を検索対象とするものとする。また、Ｗｅｂプロトコルによりアクセス可能であり、それぞれ、アクセスＵＲＬとして
ｈｔｔｐ：／／ｓｅａｒｃｈ．ａａａ．ｎｅｔ／
ｈｔｔｐ：／／ｓｅａｒｃｈ．ｂｂｂ．ｎｅｔ／
を持つものとする。更に、何れも全文検索を行う検索エンジンであるとする。一方、データソース１は、Ｗｅｂプロトコルによりアクセス可能であり、アクセスＵＲＬとして
ｈｔｔｐ：／／ｘｘｘ．ｙｙｙ．ｃｏｍ／
を持つものとする。
【００１９】
以上のシステム構成の下、初めに図５のフローチャートを参照して検索エンジンの登録処理について述べる。本実施形態では説明の簡略化のためユーザが手動で検索エンジンの登録を行うものとする。図５は、検索エンジンの登録処理の一例を示すフローチャートである。
まず、検索エンジン管理部２０１は、入出力管理部２０９を介して、ユーザが入力装置３０５等を用いて指示した、検索エンジンのアクセスＵＲＬと、検索エンジンの種別と、を指定して検索エンジンを登録する（Ｓ５０１）。検索エンジンの登録が指示されると、検索エンジン管理部２０１は、一意の検索エンジンＩＤを発行し、これを保管する（Ｓ５０２）。図６は、検索エンジン管理部が保管するデータの構造を示す図である。６０１は、検索エンジンＩＤである。６０２は、アクセスＵＲＬである。６０３は、検索エンジン種別である。
【００２０】
検索エンジン管理部２０１は、検索エンジンの登録が完了すると、データソース管理部２０２に対してデータソース情報の取得を要求する（Ｓ５０３）。要求を受けたデータソース管理部２０２は、データソース特定情報の取得を行う。本実施形態では、データソース特定情報の取得先は各検索エンジンであるものとし、データソース管理部２０２は、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）を用いてアクセスする。
データソース管理部２０２は、検索エンジン管理部２０１から検索エンジンの登録データを取得し（Ｓ５０４）、アクセスＵＲＬにアクセスして検索エンジンからデータソース特定情報を取得する。続いて、データソース管理部２０２は、取得したデータソース特定情報とデータソース記述が同一のデータソース特定情報が既に保管されているか否かを確認する（Ｓ５０５）。データソース管理部２０２は、保管されていなければ一意のデータソースＩＤを発行してこれを保管する（Ｓ５０６）。データソース管理部２０２は、保管されている場合、そのデータソースＩＤを取得する（Ｓ５０７）。図７は、データソース管理部が保管するデータの構造を示す図である。７０１は、データソースＩＤである。７０２は、データソース記述である。本実施形態ではデータソース記述にもＵＲＬを用いることとする。
【００２１】
データソース管理部２０２は、データソース特定情報を保管すると、検索エンジン＝データソース対応付け管理部２０３に、検索エンジンＩＤとデータソースＩＤとを指定して登録を要求する（Ｓ５０８）。ここで、データソースＩＤは、Ｓ５０６で発行したものか、Ｓ５０７で取得したものの何れかである。検索エンジン＝データソース対応付け管理部２０３では、指定された検索エンジンＩＤとデータソースＩＤとを一組で保管する（Ｓ５０９）。図８は、検索エンジン＝データソース対応付け管理部が保管するデータの構造を示す図である。
以上が検索エンジンの登録処理の説明である。
【００２２】
続いて、図９のフローチャートを参照して、検索処理の説明を行う。
図９は、検索処理の一例を示すフローチャートである。
まず、共通検索クエリ設定部２０５は、入出力管理部２０９を介して、ユーザが入力装置３０５等を用いて指示した、共通検索クエリを指定する（Ｓ９０１）。ここでは、
検索キーワード＝"カメラ"
を指定したものとする。次に、共通検索クエリ設定部２０５は、入力された検索クエリを解析して、検索を要求する必要のある検索エンジンの種別を判定する（Ｓ９０２）。ここでは共通検索クエリとしてキーワードのみが指定されているので、共通検索クエリ設定部２０５は、検索種別として全文検索と判定する。続いて、共通検索クエリ設定部２０５は、検索エンジン管理部２０１に対して検索エンジン種別が全文検索である検索エンジンの情報を要求する（Ｓ９０３）。
【００２３】
検索エンジン管理部２０１は、保管している検索エンジンの登録データから、検索種別が全文検索であるデータを取得し（Ｓ９０４）、これを共通検索クエリ設定部２０５に返す。ここでは検索エンジン１と検索エンジン２との２つの登録データが返ることになる。
例えば、Ｓ９０２〜Ｓ９０４における共通検索クエリ設定部２０５の処理は、検索エンジンを特定する処理である（検索エンジン特定）。
共通検索クエリ設定部２０５は取得した検索エンジンの登録データから検索エンジンＩＤを抽出し、検索エンジン＝データソース対応付け管理部２０３に対して前記検索エンジンＩＤの検索エンジンが検索対象としているデータソースの情報を要求する（Ｓ９０５）。検索エンジン＝データソース対応付け管理部２０３は、保管しているデータから、指定された検索エンジンＩＤに対応付けられているデータソースＩＤを取得し（Ｓ９０６）、これを共通検索クエリ設定部２０５に返す。ここでは検索エンジンＩＤとして００１と００２とが指定され、両者は何れもデータソースＩＤが００１に対応付けられているので、データソースＩＤ００１が選択され、共通検索クエリ設定部２０５は、データソースＩＤとして００１のみを取得する。
例えば、Ｓ９０５及びＳ９０６における共通検索クエリ設定部２０５の処理は、データソースを選択する処理である（データソース選択）。
【００２４】
続いて、共通検索クエリ設定部２０５は、実際に検索を要求する検索エンジンの決定を行う。まず、共通検索クエリ設定部２０５は、検索エンジン種別に基づく検索エンジンの重複判定を行う（Ｓ９０７）。ここでは検索エンジン１と検索エンジン２との検索エンジン種別は共に全文検索と判定される。
次に、共通検索クエリ設定部２０５は、データソースの重複を判定するために、取得したデータソースＩＤを指定してデータソース関係検証部２０４に判定を要求する（Ｓ９０８）。ここではデータソースＩＤとして００１のみが取得されているので、検索エンジン１と検索エンジン２とは共通のデータソースを検索対象としていることが判定される（Ｓ９０９）。以上の判定結果により、共通検索クエリ設定部２０５は、検索エンジン１と検索エンジン２とは、検索エンジン種別とデータソースとの両方が共通であり、何れか一方の検索エンジンでのみ検索を実行すれば必要な検索結果が得られることが分かる。そこで、共通検索クエリ設定部２０５は、検索エンジン１と検索エンジン２とのうち、検索エンジンＩＤが小さい検索エンジン１に検索を要求することを決定する（Ｓ９１０）。なお、ここでは、共通検索クエリ設定部２０５は、単純に検索エンジンＩＤの値に基づいて検索エンジンの決定を行うとしたが、過去のアクセス頻度や検索エンジンの負荷等に応じて選択するようにしてもよい。
【００２５】
次に、共通検索クエリ設定部２０５は、検索エンジン１に対応する個別検索クエリの生成を個別検索クエリ生成部２０６に要求する（Ｓ９１１）。個別検索クエリ生成部２０６は、共通検索クエリ設定部２０５から共通検索クエリと検索を要求する検索エンジンの検索エンジンＩＤ（００１）とを取得し、検索エンジンに応じた検索エンジン個別の検索クエリを生成する。ここでは、共通検索クエリとしてキーワードのみが指定されているので、個別検索クエリは共通検索クエリと同じ
検索キーワード＝"カメラ"
となる。個別検索クエリ生成部２０６は、生成した個別検索クエリと検索エンジンＩＤと組にして共通検索クエリ設定部２０５に返す。
【００２６】
共通検索クエリ設定部２０５は、取得した個別検索クエリと検索エンジンＩＤとの組を個別検索実行部２０７に引き渡して検索の実行を要求する（Ｓ９１２）。個別検索実行部２０７は、指定された検索エンジンＩＤに対応する検索エンジンのアクセスＵＲＬを検索エンジン管理部２０１から取得する（Ｓ９１３）。続いて、個別検索実行部２０７は、取得したアクセスＵＲＬにアクセスして、指定された個別検索クエリで検索の実行を要求し（Ｓ９１４）、検索エンジンから検索結果を取得する（Ｓ９１５）。検索要求及び結果の送受信にはＨＴＴＰを用いるものとする。ここではデータソース１は、Ｗｅｂプロトコルでアクセス可能としたので、検索結果としてコンテンツのＵＲＬのリストが取得されるものとする。
【００２７】
次に、個別検索実行部２０７は、取得した検索結果を共通検索クエリ設定部２０５に返し、続いて共通検索クエリ設定部２０５がこれを検索結果統合部２０８に引き渡して検索結果の統合を要求する（Ｓ９１６）。ここでは検索を実行した検索エンジンは１つのみであるので、検索結果統合部２０８は何もせずに取得した結果を入出力管理部２０９に引き渡す（Ｓ９１７）。最後に入出力管理部２０９が検索結果を表示装置３０６に表示する（統合結果表示）（Ｓ９１８）。
以上説明したように、統合検索装置１０１は、同一のデータソースに対し同一の検索を行う検索エンジンが複数存在した場合に、何れか１つの検索エンジンを自動で選択して検索を実行することができる。これにより、ネットワークトラヒックや検索エンジンのマシンリソースの消費を削減することができる。
【００２８】
［第２のシステム構成］
引き続いて、図１０のシステム構成に基づいて検索処理について説明する。図１０は、統合検索を行うシステムのシステム構成の一例を示す図（その３）である。
図１０において、検索エンジン１（１００１）は、全文検索エンジン、検索エンジン２（１００２）は、属性検索エンジンで、データソース１を検索対象としている。また検索エンジン３（１００３）は、全文検索エンジンでデータソース２を検索対象としている。図１１に、これらの検索エンジンを登録した状態の統合検索装置１０１内の保管データ構成を示す。図１１は、統合検索装置１０１内の保管データの構成の一例を示す図である。１１ａが検索エンジン登録データである。１１ｂがデータソース登録データである。１１ｃが検索エンジン＝データソース対応付けデータである。
【００２９】
次に検索処理について図９、図１２のフローチャートを参照して説明する。基本的な処理の流れは第１のシステム構成で説明した処理に準じるので、ここでは差異がある部分についてのみ説明を行う。なお、図１２は、検索結果統合処理の一例を示すフローチャートである。
まず、ユーザが共通検索クエリを入力するが、ここでは
検索キーワード＝"カメラ"  ＡＮＤ  作成日時  ≧  ２００８／０１／０１
が指定されたものとする。共通検索クエリ設定部２０５は、この共通検索クエリに対し、検索を要求する必要のある検索エンジンの種別を判定する。ここでは、検索キーワードに対する検索条件が指定されていることから、共通検索クエリ設定部２０５は、全文検索と判定する。そして、共通検索クエリ設定部２０５は、日付属性に対する検索条件が指定されていることから属性検索と判定する（Ｓ９０２）。
【００３０】
続いて検索エンジン管理部２０１が全文検索を検索エンジン種別に持つ検索エンジンの登録データ及び属性検索を検索エンジン種別に持つ検索エンジンの登録データとして検索エンジン１〜３を取得し（Ｓ９０４）、これを共通検索クエリ設定部２０５が受け取る。続けて、共通検索クエリ設定部２０５は、検索エンジン＝データソース対応付け管理部２０３からそれぞれの検索エンジンが検索対象とするデータソースとしてデータソース１〜２を取得する（Ｓ９０５、Ｓ９０６）。
次に、共通検索クエリ設定部２０５は、実際に検索を要求する検索エンジンの判定（又は決定）を行う。共通検索クエリ設定部２０５は、検索エンジン１と検索エンジン２とは検索エンジン種別が異なり共通のデータソースを検索対象としているので両方へ検索を要求する。また共通検索クエリ設定部２０５は、検索エンジン３と検索エンジン１とは検索エンジン種別が同種であるがデータソースが異なっているため、これにも検索を要求する（Ｓ９０７〜Ｓ９１０）。
【００３１】
次に個別検索クエリ生成部２０６は、共通検索クエリ設定部２０５からの要求に応じて、個別検索クエリを生成する。個別検索クエリ生成部２０６は、ここでは検索エンジン１と検索エンジン３とに対して全文検索のための検索条件
検索キーワード＝"カメラ"
を生成し、検索エンジン２に対して属性検索のための検索条件
作成日時  ≧  ２００８／０１／０１
を生成する（Ｓ９１１）。共通検索クエリ設定部２０５は、これらの個別検索クエリを用いて個別検索実行部２０７に検索の実行を要求し（Ｓ９１２）、個別検索実行部２０７が検索エンジン１〜３に対して検索を実行させ、検索結果を取得する（Ｓ９１３〜Ｓ９１５）。なお、本構成においても検索結果はコンテンツのＵＲＬのリストで取得されるものとする。
続いて、検索結果統合部２０８が、検索結果の統合を行う。個別検索実行部２０７は、取得した検索結果を共通検索クエリ設定部２０５に返し、共通検索クエリ設定部２０５が検索結果と共通検索クエリとを検索結果統合部２０８に引き渡して検索結果の統合を要求する（Ｓ９１６）。
【００３２】
すると、検索結果統合部２０８は、共通のデータソースを検索対象としている検索エンジンの検索結果の間で論理積を取ることの要否及び可否を判定する（Ｓ１２０１、Ｓ１２０２）。ここでは共通検索クエリにおいて全文検索条件と属性検索条件との論理積が指定されているので論理積を取ることが必要である。また、それぞれの条件に該当する検索エンジン１と検索エンジン２とは共通のデータソースを検索対象としているので論理積を取ることが可能である。したがって、検索結果統合部２０８は、検索エンジン１と検索エンジン２との検索結果の論理積を取って第１の統合結果を得る（Ｓ１２０３）。一方、検索エンジン３は他の検索エンジンとデータソースを共有していないので他の検索エンジンの結果と論理積を取るのは不可である。そこで、検索結果統合部２０８は、第１の統合結果との論理和を取って最終の統合結果を得る（Ｓ１２０４）。
つまり、検索結果統合部２０８は、検索クエリに基づいて、共通のデータソースを検索対象としている検索エンジンの検索結果の間で論理積を取ることが指定されているか否かを判定する。そして、検索結果統合部２０８は、前記判定の結果に基づいて、前記取得手段で取得された検索の結果の統合方法を決定（統合方法決定）し、検索の結果を統合し、最終の統合結果を得る。
【００３３】
検索結果統合部２０８は、最終の統合結果を入出力管理部２０９に引渡し（Ｓ９１７）、最後に入出力管理部２０９が検索結果を表示装置３０６に表示する。
以上説明したように、統合検索装置１０１は、複数の検索エンジンが複数のデータソースを検索対象としている場合において、検索を実行する検索エンジンを自動で選択し、データソースの関係に応じて検索結果を統合することができる。これにより、ユーザが検索エンジンやデータソースに関する事前知識を持ち得なくとも、共通検索クエリを指定するだけで効率的に統合検索を行うことができる。
以上が、実施形態１の説明である。
【００３４】
＜実施形態２＞
実施形態１では、共通検索クエリの一部しか検索条件として適用できないデータソースも検索対象としていた。この場合、ユーザが指定した条件よりも緩い条件で検索が行われることになり、検索結果にノイズが含まれる場合がある。
本実施形態の統合検索装置１０１は、共通検索クエリの一部のみを使用して検索されるデータソースが存在する場合は、事前にユーザに問い合わせを行い、ユーザが検索の実行を指示した場合に限りそれらのデータソースを検索するものとする。
【００３５】
＜実施形態３＞
実施形態２では、共通検索クエリの一部しか検索条件として適用できない場合は、事前にユーザに問い合わせを行うものとした。
本実施形態の統合検索装置１０１は、共通検索クエリで指定された検索条件を全て使って検索を行うことのできるデータソースのみを検索対象として、検索の実行を要求する検索エンジンを決定するものとする。
【００３６】
＜実施形態４＞
本実施形態の統合検索装置１０１は、実施形態３の処理に加えて、共通検索クエリの一部のみを使用すれば検索可能なデータソースが存在する旨を検索結果と合わせて表示するものとする。
【００３７】
＜実施形態５＞
上述した実施形態では、検索エンジン管理部２０１への検索エンジンの登録方法をユーザが手動で行うとしていたが、本実施形態では、検索エンジン管理部２０１がサービスディスカバリを用いて自動で検索エンジンの登録を行う。検索エンジン管理部２０１は、サービスディスカバリを行う方法としては、ＵＤＤＩやＳＳＤＰ等の既存のプロトコルや、その他の任意の手段を用いるものとする。ここで、ＵＤＤＩとは、Ｕｎｉｖｅｒｓａｌ  Ｄｅｓｃｒｉｐｔｉｏｎ，  Ｄｉｓｃｏｖｅｒｙ  ａｎｄ  Ｉｎｔｅｇｒａｔｉｏｎの略である。また、ＳＳＤＰとは、Ｓｉｍｐｌｅ  Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌの略である。また、検索ディスカバリの問い合わせ先は、検索エンジンであっても、検索エンジン以外の装置であってもよい。
【００３８】
＜実施形態６＞
上述した実施形態では、データソース記述にデータソースのＵＲＬを用いて説明を行った。しかしながら、本実施形態の統合検索装置１０１は、ＵＮＣ（Ｕｎｉｖｅｒｓａｌ  Ｎａｍｉｎｇ  Ｃｏｎｖｅｎｔｉｏｎ）やデータベース名、或いはコンテンツ識別子のリスト等、データソースの種別に応じた記述方式を用いてもよい。
【００３９】
＜実施形態７＞
上述した実施形態では、データソースの重複判定にデータソースＩＤを用いた。しかしながら、本実施形態の統合検索装置１０１は、ＵＲＬやＵＮＣ等の文字列を比較する方法や、コンテンツ識別子の集合の要素を比較する方法等を用いてもよい。
【００４０】
＜実施形態８＞
上述した実施形態では、データソース記述に単一のＵＲＬを用い、ＵＲＬが一致するか否かによって、データソース間の関係を等価か独立の何れかに判定していた。本実施形態の統合検索装置１０１は、これに加えて、重複と包含との関係も判定する。例えば、データソース１のデータソース記述が
ｈｔｔｐ：／／ｘｘｘ．ｙｙｙ．ｎｅｔ／
であり、データソース２のデータソース記述が
ｈｔｔｐ：／／ｘｘｘ．ｙｙｙ．ｎｅｔ／ＡＡＡ／
であった場合、統合検索装置１０１は、これらのＵＲＬの関係によりデータソース１はデータソース２を包含すると判定する。
【００４１】
また、例えばデータソース１のデータソース記述が
ｈｔｔｐ：／／ｘｘｘ．ｙｙｙ．ｎｅｔ／
ｈｔｔｐ：／／ＡＢＣ．ＤＥＦ．ｃｏｍ／
であり、データソース２のデータソース記述が
ｈｔｔｐ：／／ｘｘｘ．ｙｙｙ．ｎｅｔ／
ｈｔｔｐ：／／ＬＭＮ．ＯＰＱ．ｃｏｍ／
であった場合、ｈｔｔｐ：／／ｘｘｘ．ｙｙｙ．ｎｅｔ／が両者に共通に存在するので、統合検索装置１０１は、データソース１とデータソース２とは重複関係と判定する。
【００４２】
＜実施形態９＞
上述した実施形態では、データソース特定情報を検索エンジンから取得するとしていた。しかしながら、検索エンジンの外部にデータソース特定情報を管理するサーバを設け、本実施形態の統合検索装置１０１は、前記サーバからデータソース特定情報を取得するものとしてもよい。
【００４３】
＜実施形態１０＞
上述した実施形態では、データソース特定情報の取得、検索の実行要求の送信、及び検索結果の取得にＨＴＴＰを用いるとしていた。しかしながら、本実施形態の統合検索装置１０１は、他の任意のプロトコルを用いてもよい。
【００４４】
＜その他の実施形態＞
また、上述した実施形態の目的は、以下のようにすることによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（又は記録媒体）を、システム或いは装置に供給する。そして、そのシステム或いは装置の中央演算処理手段（ＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコードを記録した記憶媒体は上述した実施形態を構成することになる。
【００４５】
また、システム或いは装置の前記中央演算処理手段が読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、システム或いは装置上で稼働しているオペレーティングシステム（ＯＳ）等が実際の処理の一部又は全部を行う。その処理によって上述した実施形態の機能が実現される場合も含まれる。
【００４６】
更に、記憶媒体から読み出されたプログラムコードが、前記システム或いは装置に挿入された機能拡張カードや、接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれる。
【００４７】
上述した実施形態を前記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【００４８】
上述した各実施形態によれば、検索エンジンやデータソースに関する事前知識をユーザが持ち得ない場合においても、複数の検索エンジンを適切に組み合わせて統合検索を実行することができる。したがって、ユーザが所望のデータを発見することを容易ならしめることができる。特に、インターネットやイントラネット等の複数のデータソースに分散したコンテンツを、複数の検索エンジンを用いて検索する場合において効果が見込まれる。
更には、共通のデータソースを検索対象とする同種の検索エンジンが複数存在する場合においては、ユーザの事前知識が無くても検索を実行する検索エンジンを限定することができ、ネットワークやマシンリソースに対する負荷を軽減する効果が見込まれる。
【００４９】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
例えば、上述した各実施形態を組み合わせて実施可能なものは、任意に組み合わせて実施してもよい。
【符号の説明】
【００５０】
１０１  統合検索装置、３０１  ＣＰＵ
【図１】
2010267075.tif 000003
【図２】
2010267075.tif 000004
【図３】
2010267075.tif 000005
【図４】
2010267075.tif 000006
【図５】
2010267075.tif 000007
【図６】
2010267075.tif 000008
【図７】
2010267075.tif 000009
【図８】
2010267075.tif 000010
【図９】
2010267075.tif 000011
【図１０】
2010267075.tif 000012
【図１１】
2010267075.tif 000013
【図１２】
2010267075.tif 000014