(57)【要約】【課題】個々の検索装置の特性を考慮して、検索クエリの分散処理を最適化すること。【解決手段】複数の検索サーバ（Ａ〜Ｉ）を含み、所与の検索クエリに応じて複数の部分検索クエリを生成するとともに、前記複数の検索サーバのうち一部が前記複数の部分検索クエリを分散処理する分散検索システムであって、前記各検索サーバが前記部分検索クエリを処理する条件（検索分担条件データ）を記憶するとともに、該条件と前記各部分検索クエリとに基づいて、前記複数の部分検索クエリを分散処理する前記一部の前記検索サーバを決定する。【選択図】図１
2007193381.tif 000002
【特許請求の範囲】
【請求項１】
複数の検索装置を含み、所与の検索クエリに応じて複数の検索クエリを生成するとともに、前記複数の検索装置のうち一部が前記複数の検索クエリを分散処理する分散検索システムであって、
前記検索クエリを前記各検索装置が処理する条件を記憶するとともに、該条件と前記各検索クエリとに基づいて、前記複数の検索クエリを分散処理する前記一部の前記検索装置を決定する、
ことを特徴とする分散検索システム。
【請求項２】
請求項１に記載の分散検索システムにおいて、
前記各検索装置は、
前記検索クエリを当該検索装置が処理する条件を記憶する記憶手段と、
前記複数の検索クエリのうち１又は複数を受信するクエリ受信手段と、
前記クエリ受信手段により受信される前記検索クエリを前記記憶手段に記憶される条件に照査して、該検索クエリを処理するか否かを決定する決定手段と、を含む、
ことを特徴とする分散検索システム。
【請求項３】
請求項２に記載の分散検索システムにおいて、
前記各検索装置は、
前記クエリ受信手段により受信される前記検索クエリを処理しない場合に、該検索クエリを他の前記検索装置に送信するクエリ送信手段をさらに含む、
ことを特徴とする分散検索システム。
【請求項４】
請求項１乃至３のいずれかに記載の分散検索システムにおいて、
少なくとも１つの前記検索装置は、
他の少なくとも１つの前記検索装置における前記検索クエリの処理実績を取得する処理実績取得手段と、
前記処理実績に基づいて前記検索クエリの送信先である前記検索装置を決定するクエリ送信先決定手段と、を含む、
ことを特徴とする分散検索システム。
【請求項５】
請求項１に記載の分散検索システムにおいて、
少なくとも１つの前記検索装置は、
他の少なくとも１つの前記検索装置が前記検索クエリを処理する条件を記憶する記憶手段と、
前記検索クエリと前記条件とに基づいて、該検索クエリの送信先である前記検索装置を決定するクエリ送信先決定手段と、を含む、
ことを特徴とする分散検索システム。
【請求項６】
請求項１乃至５のいずれかに記載の分散検索システムにおいて、
前記所与の検索クエリに応じた前記各検索クエリは、前記所与の検索クエリの一部からなる、
ことを特徴とする分散検索システム。
【請求項７】
所与の検索クエリに応じて複数の検索クエリを生成するとともに、複数の検索装置のうち一部に前記複数の検索クエリを分散処理させる分散検索方法であって、
前記検索クエリを前記各検索装置が処理する条件を予め記憶しておくとともに、該条件と前記各検索クエリとに基づいて、前記複数の検索クエリを分散処理する前記一部の前記検索装置を決定する、
ことを特徴とする分散検索方法。
【請求項８】
所与の検索クエリに応じて生成される複数の検索クエリの一部を処理する検索装置であって、
前記検索クエリを処理する条件を記憶する記憶手段と、
前記複数の検索クエリのうち１又は複数を受信するクエリ受信手段と、
前記クエリ受信手段により受信される前記検索クエリを前記記憶手段に記憶される条件に照査して、該部分検索クエリを処理するか否かを決定する決定手段と、
を含むことを特徴とする検索装置。
【請求項９】
所与の検索クエリに応じて生成される複数の検索クエリの一部を処理する検索装置の制御方法であって、
前記複数の検索クエリのうち１又は複数を受信するクエリ受信ステップと、
前記クエリ受信ステップで受信される前記検索クエリを記憶手段に予め記憶される条件に照査して、該検索クエリを処理するか否かを決定する決定ステップと、
を含むことを特徴とする検索装置の制御方法。
【請求項１０】
所与の検索クエリに応じて生成される複数の検索クエリの一部を処理する検索装置としてコンピュータを機能させるプログラムであって、
前記検索クエリを処理する条件を記憶する記憶手段、
前記複数の検索クエリのうち１又は複数を受信するクエリ受信手段、及び
前記クエリ受信手段により受信される前記検索クエリを前記記憶手段に記憶される条件に照査して、該検索クエリを処理するか否かを決定する決定手段
として前記コンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は分散検索システム、分散検索方法、検索装置、検索装置の制御方法及びプログラムに関する。
【背景技術】
【０００２】
ユーザから与えられた検索クエリを複数の検索クエリに分解し、それら検索クエリを通信ネットワーク上の複数の検索装置上で分散処理する分散検索システムが知られている。かかるシステムによれば、膨大な検索処理も高速に実行することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来の分散検索システムは個々の検索装置の特性を考慮しておらず、一部又は全部の検索装置が検索スピードや検索結果の質の点で不十分な検索処理を行ってしまうおそれがあった。
【０００４】
本発明は上記課題に鑑みてなされたものであって、その目的は、個々の検索装置の特性を考慮して、検索クエリの分散処理を最適化することができる分散検索システム、分散検索方法、検索装置、検索装置の制御方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明に係る分散検索システムは、複数の検索装置を含み、所与の検索クエリに応じて複数の検索クエリを生成するとともに、前記複数の検索装置のうち一部が前記複数の検索クエリを分散処理する分散検索システムであって、前記検索クエリを前記各検索装置が処理する条件を記憶するとともに、該条件と前記各検索クエリとに基づいて、前記複数の検索クエリを分散処理する前記一部の前記検索装置を決定する、ことを特徴とする。
【０００６】
また、本発明に係る分散検索方法は、所与の検索クエリに応じて複数の検索クエリを生成するとともに、複数の検索装置のうち一部に前記複数の検索クエリを分散処理させる分散検索方法であって、前記検索クエリを前記各検索装置が処理する条件を予め記憶しておくとともに、該条件と前記各検索クエリとに基づいて、前記複数の検索クエリを分散処理する前記一部の前記検索装置を決定する、ことを特徴とする。
【０００７】
本発明によれば、各検索装置が検索クエリを処理する条件が予め記憶され、この条件と各検索クエリとに基づいて分散処理を担う検索装置が決定されるので、個々の検索装置の特性を考慮して、検索クエリの分散処理を最適化することができる。
【０００８】
本発明の一態様では、前記各検索装置は、当該検索装置が前記検索クエリを処理する条件を記憶する記憶手段と、前記複数の検索クエリのうち１又は複数を受信するクエリ受信手段と、前記クエリ受信手段により受信される前記検索クエリを前記記憶手段に記憶される条件に照査して、該検索クエリを処理するか否かを決定する決定手段と、を含む。こうすれば、各検索装置にて分散処理を担うか否かを決定でき、一部の装置に過大な負荷が掛からないようにできる。
【０００９】
この態様においては、前記各検索装置は、前記クエリ受信手段により受信される前記検索クエリを処理しない場合に、該検索クエリを他の前記検索装置に送信するクエリ送信手段をさらに含むようにしてもよい。
【００１０】
また、本発明の一態様では、少なくとも１つの前記検索装置は、他の少なくとも１つの前記検索装置における前記検索クエリの処理実績を取得する処理実績取得手段と、前記処理実績に基づいて前記検索クエリの送信先である前記検索装置を決定するクエリ送信先決定手段と、を含む。こうすれば、検索クエリを、該検索クエリを処理した実績のある検索装置に送信することができる
【００１１】
また、本発明の一態様では、少なくとも１つの前記検索装置は、他の少なくとも１つの前記検索装置が前記検索クエリを処理する条件を記憶する記憶手段と、前記検索クエリと前記条件とに基づいて、該検索クエリの送信先である前記検索装置を決定するクエリ送信先決定手段と、を含む。こうすれば、検索クエリを、それを処理する検索装置に確実に送信できる。
【００１２】
また、本発明の一態様では、前記所与の検索クエリに応じた前記各検索クエリは、前記所与の検索クエリの一部からなる。すなわち、所与の検索クエリに応じて複数の部分検索クエリが生成される。
【００１３】
また、本発明に係る検索装置は、所与の検索クエリに応じて生成される複数の検索クエリの一部を処理する検索装置であって、前記検索クエリを処理する条件を記憶する記憶手段と、前記複数の検索クエリのうち１又は複数を受信するクエリ受信手段と、前記クエリ受信手段により受信される前記検索クエリを前記記憶手段に記憶される条件に照査して、該検索クエリを処理するか否かを決定する決定手段と、を含むことを特徴とする。
【００１４】
また、本発明に係る検索装置の制御方法は、所与の検索クエリに応じて生成される複数の検索クエリの一部を処理する検索装置の制御方法であって、前記複数の検索クエリのうち１又は複数を受信するクエリ受信ステップと、前記クエリ受信ステップで受信される前記検索クエリを記憶手段に予め記憶される条件に照査して、該検索クエリを処理するか否かを決定する決定ステップと、を含むことを特徴とする。
【００１５】
また、本発明に係るプログラムは、所与の検索クエリに応じて生成される複数の検索クエリの一部を処理する検索装置としてコンピュータを機能させるプログラムであって、前記検索クエリを処理する条件を記憶する記憶手段、前記複数の検索クエリのうち１又は複数を受信するクエリ受信手段、及び前記クエリ受信手段により受信される前記検索クエリを前記記憶手段に記憶される条件に照査して、該検索クエリを処理するか否かを決定する決定手段として前記コンピュータを機能させるプログラムである。コンピュータは、例えば各種サーバコンピュータ、パーソナルコンピュータ、家庭用ゲーム機等であり、プログラムはＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等のコンピュータ読み取り可能な各種情報記憶媒体に記憶されてもよい。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の一実施形態について図面に基づき詳細に説明する。
【００１７】
図１は、本発明の一実施形態に係る分散検索方法を説明する図である。同図において、Ａ〜Ｉは通信ネットワークに接続された検索サーバを示しており、各検索サーバは検索分担条件データを記憶している。本実施形態は、ユーザにより入力された検索クエリ「渋谷  ａｎｄ  タイ料理  ａｎｄ  激辛」（「渋谷」、「タイ料理」、「激辛」の全てを含むデータの検索要求）を、検索サーバＡ〜Ｉのうち適切な一部により分散処理するものである。検索サーバＡ（クエリ受付装置）にユーザが検索クエリ「渋谷  ａｎｄ  タイ料理  ａｎｄ  激辛」を入力すると、該検索サーバＡは、それを部分検索クエリ１「渋谷」、部分検索クエリ２「タイ料理」、部分検索クエリ３「激辛」の３つに分解する。さらに、それら部分検索クエリ１〜３に、例えばシリアル番号等を用いてユニークＩＤを付与する。
【００１８】
そして、検索サーバＡは、それらの部分検索クエリが、当該検索サーバＡに記憶された検索分担条件データが示す条件（検索分担条件）を満足しているか否かを判断する。検索分担条件データとは、該検索分担条件データを記憶している検索サーバが処理する部分検索クエリの条件を示すデータであり、当該検索サーバが処理を得意（検索精度が良い、検索結果の件数が多い、検索処理が早い等）とする部分検索クエリが該条件に合致するようになっている。例えば、ユーザにより入力される検索クエリが複数の検索キーワードに分解される場合には、検索分担条件データは、処理する検索キーワードのリストであってもよい。
【００１９】
そして、検索分担条件を満足する部分検索クエリについては検索サーバＡ自身で処理し、結果を保存する。また、検索分担条件を満足しない部分検索クエリ（ここでは部分検索クエリ１〜３のすべて）については、それを検索サーバＡに接続されている他の検索サーバ（ここではＢ，Ｃ，Ｉ）に送信する。この際、部分検索クエリとともに、そのユニークＩＤ及び検索サーバＡのアドレスも送信する。
【００２０】
部分検索クエリを受信した検索サーバＢ，Ｃ，Ｉでも、検索サーバＡと同様に、当該検索サーバの検索分担条件を受信した部分検索クエリが満足する場合には、それを直ちに処理する。また、検索分担条件を満足しない場合には、それを当該検索サーバに接続されている他の検索サーバに転送する。こうして、すべての部分検索クエリはいずれかの検索サーバにより処理される（図１の例では、部分検索クエリ１は検索サーバＢにより、部分検索クエリ２は検索サーバＤにより、部分検索クエリ３は検索サーバＩにより、それぞれ処理される。）。なお、部分検索クエリの転送回数が所定回数に達した場合には、最後に部分検索クエリを受信した検索クエリが処理してもよい。或いは、クエリ受付装置である検索サーバＡが該部分検索クエリの処理を行ってもよい。
【００２１】
部分検索クエリを他の検索サーバに転送する場合には、自らのアドレスを併せて送信する。こうして、部分検索クエリの転送経路が該部分検索クエリとともに送信されることになる。さらに、転送する部分検索クエリのユニークＩＤも送信する。
【００２２】
一方、部分検索クエリを自ら処理した場合には、該部分検索クエリとともに受信した転送経路に従って、該部分検索クエリを自らに送信した検索サーバに検索結果を返信する。この際、検索結果とともに、部分検索クエリのユニークＩＤ及び転送経路も返信する。各検索サーバは、他の検索サーバから検索結果等を受信した場合には、そこに含まれる転送経路に従って、クエリ受付装置である検索サーバＡ側にそれらを転送する。
【００２３】
こうして、クエリ受付装置である検索サーバＡには、各部分検索クエリの処理結果が集まることになる。検索サーバＡでは、部分検索クエリを生成する際にそれらに付与したユニークＩＤを保存しており、保存されているユニークＩＤを伴う検索結果を受信したか否かを監視している。それらをすべて受信した場合には、それら検索結果を統合（図１の例では、検索結果の積集合を生成すること）、ユーザにより入力された検索クエリの処理結果を生成し、出力する。
【００２４】
以上のように本実施形態では、各検索サーバが部分検索クエリを処理する条件（検索分担条件）が予め記憶されており、これらの条件と部分検索クエリとに基づいて、部分検索クエリを分散処理する検索サーバが決まる。このため、個々の検索サーバの特性を考慮して、検索クエリの分散処理を最適化することができる。
【００２５】
なお、ある検索サーバにユーザが検索クエリを入力した場合には、ユーザは当該検索サーバが該検索クエリの処理が得意であると認識していると推察される。そこで、そうした検索クエリに基づいて当該検索サーバの検索分担条件データを生成してもよい。例えば、検索分担条件データを上記のように検索キーワードのリストとする場合、各検索サーバは、検索キーワード毎にユーザが入力した検索クエリに含まれていた回数を積算し、それが所定値以上に達する場合に、その検索キーワードをリストに含めるようにしてもよい。
【００２６】
図２は、本実施形態に係る分散検索システムの構成図である。同図に示すように、この分散検索システム１０は、インターネット等の通信ネットワーク１２に接続された複数の検索サーバ１４を含んでいる。各検索サーバ１４には、検索分担条件データを記憶する検索分担条件データ記憶部１４ａが接続されている。また、通信ネットワーク１２にはユーザが検索クエリをいずれかの検索サーバ１４に入力するためのユーザ装置１８も接続されている。
【００２７】
いずれの検索サーバ１４もユーザ装置１８から検索クエリを受信することができるようになっており、検索クエリを受信すると、そこから複数の部分検索クエリを生成する。そして、その一部又は全部（当該検索サーバ１４で処理しなかったもの）を他の検索サーバ１４に送信する。部分検索クエリを受信した検索サーバ１４では、図３に示すように、検索分担条件データ記憶部１４ａから検索分担条件データを読み出す（Ｓ１０１）。そして、受信した部分検索クエリが検索分担条件を満足するか否かを判断する（Ｓ１０２）。そして、条件を満足すれば部分検索クエリを処理し（Ｓ１０３）、部分検索クエリの送信元である他の検索サーバ１４に処理結果を返信する（Ｓ１０４）。一方、条件を満足しなければ部分検索クエリを他の検索サーバ１４に転送する（Ｓ１０５）。
【００２８】
また、各検索サーバ１４は、他の検索サーバ１４から部分検索クエリの処理結果（転送経路及び部分検索クエリのユニークＩＤを含む。）を受信する場合があり、この場合には転送経路に従って処理結果を転送する。本分散検索システム１０によれば、個々の検索サーバ１４の特性を考慮して、検索クエリの分散処理を最適化することができる。
【００２９】
なお、本発明は種々の変形実施が可能である。例えば、各検索サーバ１４は部分検索クエリの送信先を固定する必要はなく、それを地理又は通信状況等に応じて動的に決定してもよい。
【００３０】
また、少なくとも１つの検索サーバ１４は、他の少なくとも１つの検索サーバ１４における部分検索クエリの処理実績を取得するとともに、この処理実績に基づいて、他の検索サーバ１４から受信した部分検索クエリや、或いは当該検索サーバ１４においてユーザの検索クエリから生成した部分検索クエリの送信先を決定するようにしてもよい。例えば部分検索クエリと、該部分検索クエリを処理した他の検索サーバ１４の識別情報（アドレス等）と、の組を取得した場合、受信又は生成された部分検索クエリが取得した部分検索クエリに含まれていれば、その部分検索クエリと組にして取得された識別情報により識別される検索サーバ１４に該部分検索クエリを送信すればよい。こうすれば、部分検索クエリを、それを処理した実績のある検索サーバ１４に確実に送信できる。また、上記の情報を取得した結果、特定の検索サーバ１４の部分検索クエリの処理頻度が低いことが判明した場合、その検索サーバ１４に部分検索クエリを送信しないようにしてもよい。
【００３１】
また、少なくとも１つの検索サーバ１４は、他の少なくとも１つの検索サーバ１４が部分検索クエリを処理する条件を記憶しておいてもよい。この場合、受信又は生成された部分検索クエリを前記条件に照査して、該部分検索クエリの送信先である検索サーバ１４を決定すればよい。すなわち、受信又は生成された部分検索クエリが検索分担条件を満足するような他の検索サーバ１４を検索し、そこに該部分検索クエリを送信すればよい。こうすれば、部分検索クエリを、それを確実に処理する検索サーバ１４に直接送信できるようになる。
【００３２】
また、各検索サーバは、部分検索クエリの処理結果を記憶しておき、再度同じ部分検索クエリを生成又は受信した場合には、その処理結果を読み出して利用するようにしてもよい。
【００３３】
また、検索分担条件としては、文字クエリに対して音楽のリストを返す音楽検索、文字クエリに対して画像を返す画像検索等、特徴的な検索を行う旨の情報を含んでもよい。こうすれば、必要に応じて検索結果に変化を与えることができる。
【００３４】
また、各検索サーバ１４は、過去の処理履歴（部分検索クエリを処理したときの時間帯、天候、気温、株価等を含む。）に基づいて、今後処理が発生しそうな部分検索クエリを予測し、それを事前に自ら実行し、或いは他の検索サーバ１４に実行させるようにしてもよい。そうして、それらの部分検索クエリに対する処理結果を保存しておき、実際にその部分検索クエリの処理が発生した場合に、保存してあった処理結果を用いれば、応答性を高めることができる。
【００３５】
また、ここでは検索クエリを複数の部分検索クエリに分解し、それらを複数の検索サーバにより処理するようにしたが、分散処理の態様はそれに限らない。例えば、単一の検索クエリを複数の検索サーバにより分散処理する場合にも、本発明は適用可能である。
さらに、検索クエリは文字クエリに限らず、例えば静止画像、動画像、音楽等であってもよい。この場合には、ユーザにより入力された画像等に類似する画像等の検索を複数の検索サーバ１４で分散処理すればよい。このとき、画像等そのものを、通信ネットワーク１２を介して送受信してもよいが、画像等の特徴量を送受信するようにして、該特徴量を備える画像等を検索サーバ１４が検索するようにしてもよい。また、画像とテキスト（画像のメタ情報）が検索クエリの場合、テキストはテキスト用の検索エンジンに送信され、画像は画像用の検索エンジンに送信されるようにすれば、適材適所にて検索処理を行うことができる。
【図面の簡単な説明】
【００３６】
【図１】本発明の一実施形態に係る分散検索方法を説明する図である。
【図２】本発明の一実施形態に係る分散検索システムの構成図である。
【図３】各検索装置の動作を示すフロー図である。
【符号の説明】
【００３７】
１０  分散検索システム、１２  通信ネットワーク、１４  検索サーバ（検索装置）、１４ａ  検索分担条件データ記憶部、１８  ユーザ装置。
【図１】
2007193381.tif 000003
【図２】
2007193381.tif 000004
【図３】
2007193381.tif 000005