(57)【要約】  情報検索機構は、検索を要求しているユーザに検索クエリの緩和に対する制御を与える。この機構を通じて、ユーザは主要な検索基準のバリエーションに関連付けられた一連のサブクエリを指定することができ、そのサブクエリを実行するための累進を指定することができる。したがって、ユーザは主要な検索基準を緩和するのに用いられた検索語バリエーションに関する自己の優先順位を伝えることができ、それによりユーザはさらに、特定のサブクエリによって返され得る結果の適合率についての自己の考えを伝えることができる。一連のサブクエリを含むクエリが受取られ、データベースサーバにより、ユーザによって指定された累進に基づいた順序で、もしあれば、サブクエリが実行される。データベースサーバの不要な作業を低減し、クライアントとサーバ間の費用がかかる通信および関連する処理を低減することを通じて、応答時間およびネットワーク負荷が向上する。
2007535016.tif 000002
【特許請求の範囲】
【請求項１】
情報検索を管理するための方法であって、
一連のサブクエリと前記サブクエリを実行する累進の仕様とを含むクエリを受取る、コンピュータで実現されるステップと、
前記累進に指定された順序で１つ以上の前記サブクエリを実行する、コンピュータで実現されるステップとを含む、方法。
【請求項２】
前記検索に特定の個数の結果を求める要求を受取る、コンピュータで実現されるステップをさらに含み、前記１つ以上のサブクエリの各サブクエリは、以前に実行されたサブクエリが前記特定の個数の結果を求める前記要求を満たさない場合にのみ実行される、請求項１に記載の方法。
【請求項３】
前記サブクエリのすべては、それぞれの検索基準に基づいてデータベースからデータを選択し、前記累進は、前記情報検索に関連付けられたオリジナルの検索基準の緩和に対応する、請求項１に記載の方法。
【請求項４】
前記累進は、前記情報検索を要求しているエンドユーザによって指定される、請求項１に記載の方法。
【請求項５】
前記累進は、ユーザインターフェースとの対話を通じて指定される、請求項１に記載の方法。
【請求項６】
１つ以上のサブクエリを実行する前記ステップは、
前記一連のサブクエリのうち、前記累進に従って、第１のサブクエリを実行するステップと、
前記第１のサブクエリの前記実行の結果を与えるステップと、
より多くの結果を与えるよう求める要求を受取るステップと、
前記要求を受取るステップに応答して、前記一連のサブクエリのうち、前記累進に従って、第２のサブクエリを実行するステップと、
前記第２のサブクエリの前記実行の結果を与えるステップとを含む、請求項１に記載の方法。
【請求項７】
前記受取るステップは、前記一連のサブクエリに関連付けられた検索基準および前記累進をＸＭＬドキュメントの形式で受取るステップを含む、請求項１に記載の方法。
【請求項８】
前記受取るステップは、１つ以上のルールの集合に基づいてクエリを構成するアプリケーションプログラムから前記クエリを受取るステップを含み、前記集合は情報を要求しているエンドユーザによって指定される、請求項１に記載の方法。
【請求項９】
前記アプリケーションプログラムは電子検索エンジンである、請求項８に記載の方法。
【請求項１０】
前記受取るステップは、エンドユーザによって指定される検索基準の集合と、前記検索基準に基づいてデータベースクエリを構成するよう求める要求とを受取るステップを含み、前記方法はさらに、
前記検索基準に基づいてデータベースクエリを構成する、コンピュータで実現されるステップを含む、請求項１に記載の方法。
【請求項１１】
クエリを受取る前記ステップは、ドキュメントの１つ以上のセクションに関連付けられた検索基準を指定するクエリを受取るステップと、前記ドキュメントの前記１つ以上のセ
クションに対して、前記検索基準に関連付けられたサブクエリを実行するための順序を指定する累進を受取るステップとを含む、請求項１に記載の方法。
【請求項１２】
情報検索を管理するための方法であって、
検索されている情報に関連する検索基準を指定するステップと、
前記検索基準に関連付けられたサブクエリを実行するための順序を指定するステップと、
前記指定された順序でデータベースサーバによって１つ以上の前記サブクエリを実行するために、前記検索基準および前記順序を伝達するステップとを含む、方法。
【請求項１３】
前記指定するステップは、情報検索を要求しているエンドユーザによって開始される、請求項１２に記載の方法。
【請求項１４】
検索基準を指定する前記ステップは値の単一の集合を指定するステップを含み、順序を指定する前記ステップは、前記値の集合と関連付けられた１つ以上の順序付けられたルールを指定するステップを含む、請求項１２に記載の方法。
【請求項１５】
前記１つ以上の順序付けられたルールの集合は論理演算子を含む、請求項１４に記載の方法。
【請求項１６】
前記指定するステップは、ＸＭＬドキュメントの形式で指定するステップを含む、請求項１２に記載の方法。
【請求項１７】
検索基準を指定する前記ステップは、ドキュメントの１つ以上のセクションに関連付けられた検索基準を指定するステップを含み、順序を指定する前記ステップは、前記ドキュメントの前記１つ以上のセクションに対して、前記検索基準に関連付けられたサブクエリを実行するための順序を指定するステップを含む、請求項１２に記載の方法。
【請求項１８】
前記検索基準は、ドキュメントの少なくとも２つのセクションに関連して指定され、前記順序は、前記ドキュメントの前記少なくとも２つのセクションに対して、前記検索基準に関連付けられたサブクエリを特定の順序で実行するよう指定する、請求項１７に記載の方法。
【請求項１９】
命令の１つ以上のシーケンスを運ぶ、コンピュータで読取可能な媒体であって、命令は、１つ以上のプロセッサで実行されると、前記１つ以上のプロセッサに請求項１から１８のいずれかに記載の方法を実行させる、コンピュータで読取可能な媒体。
【請求項２０】
情報検索を管理するためのコンピュータ装置であって、
一連のサブクエリとサブクエリを実行するための累進の仕様とを含むクエリを受取るための手段と、
前記累進に指定された順序で１つ以上の前記サブクエリを実行するための手段とを含む、コンピュータ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の分野
本発明は一般に、情報検索、および、より具体的には、検索基準の累進的な（progressive）緩和を指定するための手法に関する。 
【背景技術】
【０００２】
発明の背景
クライアントまたはエンドユーザのクエリへのサービス用アプリケーションは、しばしば、ユーザが指定したクエリとの完全一致が存在する場合には、それらが識別されるのみならず、最も近い不完全一致もまた識別されてエンドユーザに返されるよう動作する。このコンテキストにおいて、「クエリ（query）」という用語は、たとえばＳＱＬ（構造化照会言語（Structured Query Language））のクエリなどの、従来のデータベースクエリに限定されない。一般に、クエリは、従来の検索エンジンまたは検索機能などのあらゆる検索機構を通じた、あらゆる情報検索を含む。典型的には、ユーザの検索要求は、最終的には構造化されたデータベースクエリに変換される。
【０００３】
存在する完全一致および不完全一致を識別するための、検索要求またはクエリに対するサービスのための１つのアプローチは、以下を含む。（１）オリジナルのクエリの許容できる全変形例を含むよう、ユーザクエリを書き直す、または再構成すること、（２）クエリをデータベースサーバに提示することにより、再構成された連結クエリの「ヒットリスト」を検索すること、および、（３）オリジナルの検索基準に対する適合率（時には「適合率順位」と呼ばれる）に基づいた順序でヒットリストを順序付けることである。
【０００４】
たとえば、ユーザが、データベース、または、インターネットを介してアクセス可能な情報の集合体などの、ある形式の情報リポジトリにおいて「cheap pen（安価なペン）」の情報検索を開始する場合、オリジナルのクエリとオリジナルのクエリの要件を緩和する１つ以上のサブクエリとの両方を含む、「拡張されたクエリ」が構成される。「cheap pen」の検索に関連付けられた拡張されたクエリは、「cheap ＮＥＡＲ pen」、「cheap ＡＮＤ pen」、「＄cheap ＡＮＤ ＄pen」（ここで＄は文法的ステム操作（grammatical stem operation）を表わす）、「cheap ＯＲ pen」などの、「cheap pen」の許容できる他のバージョンのサブクエリを含み得る。このサブクエリの集合に基づいてヒットリストが作成され、次にヒットリストが順序付けられる。この順序付けは、たとえば、所与のヒットを生じた特定のサブクエリおよび情報を要求しているエンドユーザに対する推測的な適合率に基づき得る。
【０００５】
このようなアプローチにおいては、ユーザの要求および関心を実際に満たすために必要であると否とにかかわらず、すべてのサブクエリが実行されるので、無益な作業が実行され得る。すなわち、実行される第1のサブクエリは、ユーザの関心を満たすために十分な数のヒットまたは十分に適合する結果を生じ得る。さらに、所与のサブクエリが特に無差別である場合には、ユーザの関心を満たすために必要である以上の多くのヒットを生じ得、かつ、クエリステートメントを解析し、情報リポジトリを問合せ、結果を作成して順序付けることによって不要な作業が実行される。
【０００６】
別のアプローチは、（１）オリジナルのクエリの許容できる変形例と関連付けられたサブクエリを優先順位の降順で連続して実行することと、（２）何らかの基準に基づいて、十分なヒットが見付かるまでヒットを検索することとを含む。このアプローチは、エンドユーザまたは検索機構など、データベースサーバ以外のエンティティを伴い、エンティテ
ィは、オリジナルの検索基準に基づいてデータベースサーバにクエリを発行し、クエリから結果を受け取り、オリジナルの検索基準を拡張する別のクエリをデータベースサーバに発行し、結果を受け取り、何らかの定量的基準にしたがって検索要求が満たされるまで、この反復的プロセスを継続する。このアプローチを用いると、エンティティとデータベースサーバとの間で複数の完全な往復通信が行われる可能性があり、それが不必要にシステムに負荷をかけるために、クエリ応答時間およびネットワーク性能が害される。このコンテキストにおいて、および本明細書を通じて、完全な往復通信とは、クライアントエンティティとデータベースサーバとの間のネットワーク通信を指し、同様に、データベースサーバによって実行される処理を指す。この処理は、しばしば、（１）クエリを解析すること、（２）クエリ実行の計画を構成すること、（３）クエリ実行を最適化すること、などを含む。二次的なクライアント−サーバ通信とは、クライアントアプリケーションとサーバアプリケーションとの間の通信を指し、それは、完全な往復通信と同じ処理オーバーヘッドを生じることはない。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
前述のアプローチは両方とも、応答時間、処理、およびネットワーク負荷に関して非効率的である。さらに、これらのアプローチは、検索アプリケーションおよび検索機構の開発者にとっては扱いにくい。なぜなら、これらのアプローチは、このようなアプリケーションおよび機構が検索要件を推測的に緩和し、適合率順位によって結果を処理することを要するからである。さらに、これらのアプローチでは、エンドユーザは、オリジナルの検索基準の緩和と、その結果、関連付けられた結果の適合率とのコンテキストにおいて、検索語変形例の優先順位に影響を及ぼし得る能力を与えられるとしても、限定的な能力しか与えられない。
【０００８】
上記に基づいて、情報検索サービスのための向上した機構を提供することが明らかに望ましい。より効率的かつ適合した成果をもたらすため、特定の情報の検索を要求しているエンドユーザにさらなる制御を提供するという、より具体的なニーズがある。
【０００９】
本発明は、限定としてではなく例として、添付の図面の図において示され、図面では同じ参照番号は同じ要素を指す。
【課題を解決するための手段】
【００１０】
詳細な説明
検索基準の累進的な緩和を指定するための方法および機構が説明される。説明する目的のため、下記の記載において、本発明の完全な理解をもたらすために、多くの具体的な詳細が説明される。しかしながら、本発明がこれらの具体的な詳細なしで実行され得ることは明らかである。他の場合、本発明を不必要に不明瞭にすることを避けるため、周知の構造及び装置はブロック図形式で示す。
【００１１】
概観
より効率的な検索機構を提供するために、検索を要求しているユーザに、検索クエリの緩和に対する制御が与えられる。クエリの累進的な緩和は、性能を妥協することなく複雑なクエリを可能にする。一般に、結果の精度または質を妥協することなく、結果において高い再現度、または完全性をもたらすよう、複雑なクエリが処理される。このような機構を通して、ユーザは、主要な検索語の変形例に関連付けられた一連のサブクエリを指定することができ、そのサブクエリを実行する累進（progression）を指定することができる。したがって、ユーザは、主要な検索基準を緩和させるのに用いられる検索語変形例に関する自己の優先順位を伝えることができ、それにより、ユーザはさらに、特定のサブクエリによって返され得る結果の適合率についての自己の考えを伝えることができる。先行の
アプローチと異なって、サブクエリが受け取られるとき、データベースサーバによってサブクエリがすべて即座に完全に実行されるわけではない。そうではなく、以前に実行されたサブクエリがユーザを満足させる結果を生じなかった場合にのみ、各サブクエリが実行される。
【００１２】
一実施例において、サブクエリは、要求されている情報と関連付けられたある検索基準に基づいて、オリジナルの検索語の変形例を含み得るデータベースからデータを選択し、サブクエリが実行される際に従う累進は、そのオリジナルの検索語の累進的な緩和に対応する。
【００１３】
１つの局面によれば、ユーザによって指定される一連のサブクエリは、たとえばサーバで受け取られ、ユーザによって指定される累進に基づいた順序で実行される。そのため、ユーザ/クライアントとサーバとの間の１つの完全な往復通信のみに応答して複数のサブクエリがサーバによって実行され得、サーバは１つのクエリさえ処理すればよい。それによりネットワーク負荷および応答時間が向上される。
【００１４】
一実施例において、ユーザによって指定された一連のサブクエリが、データベースサーバにおいて単一の往復通信で受け取られる。次に、サーバが、ユーザによって指定された累進に基づいた順序でサブクエリを実行するが、以前に実行されたサブクエリの結果が検索要求を満たすのに十分でなかった場合にのみ、各サブクエリが実行される。たとえば、ユーザが特定の個数の結果のヒットを要求する場合、要求された個数のヒットが作成されてしまうまで連続してサブクエリが実行されるが、必要以上のサブクエリは実行されない。このように、たとえば、第1のサブクエリの実行がユーザ要求を満たすために十分な個数のヒットまたは十分に適合するヒットをもたらす場合、他のサブクエリのいずれもが実行されず、従って計算リソースが節約される。このような実施例では、ユーザは、検索の提示に先立ち、ユーザインターフェースとの対話を通じて、「停止基準」（たとえば、最小限のヒット数、時間量、データ量、またはこのような基準の組合わせ）を指定することができる。検索結果が一旦停止基準を満たすと、データベースサーバはそれ以上のサブクエリを実行しない。そのため、このユーザが指定する停止基準アプローチは、クライアントとサーバとの間に完全な往復通信を１つ必要とするのみであって、サーバは単一のクエリさえ処理すればよい。
【００１５】
代替的に、ユーザの関心を満たすために必要に応じて、ユーザは、ユーザインターフェースとの対話を通じて、より多くのヒットを反復的に要求することができる。この場合、ユーザ対話は新しいクエリを送ってはいないが、サーバは受け取ったオリジナルのクエリの次のサブクエリへ進むことを示す。ユーザが停止基準を指定するアプローチと同様に、完全な往復通信および関連する処理のみしか必要とされない。サーバは、クエリ実行の計画の形成より前には停止基準の知識を有しないので、この場合、クライアントとサーバとの間に複数の二次的な通信を必要とし得る。しかしながら、これらの二次的なクライアント−サーバ通信は、計算に費用がかかる、大量のクエリ処理オーバーヘッドを必要とする完全な往復通信ではない。
【００１６】
ここに説明される手法によってもたらされるいくつかの利益の非限定的な例としては、（１）計算に費用がかかる、クライアントとサーバと間の完全な往復通信の低減による、ネットワーク負荷の低減、（２）エンドユーザのニーズを満たすために実際には必要でないクエリを実行するための、データベースサーバへの不要な負荷の低減、（３）適合率順位の処理に関する、検索エンジンまたはミドルウェアアプリケーションの作業の排除または低減、および、（４）オリジナルの検索語に基づいてクエリを構成することに関して、エンドユーザからデータベースサーバに作業を移すことによる使いやすさ、および／または、検索エンジンまたはミドルウェアアプリケーションからデータベースサーバに作業を
移すことによるアプリケーション開発の容易さ、があげられる。
【発明を実施するための最良の形態】
【００１７】
動作環境例
図1は、本発明の一実施例が実現され得る動作環境の簡略化された例を示すブロック図である。
【００１８】
実施例は、データベースクエリの管理を含んだ情報検索の管理手法を含む。そのため、動作環境の例は、クライアント１０２、検索機構１０４、データベースサーバ１０６、およびデータベース１０８を含む。
【００１９】
クライアント１０２は、検索機構１０４またはデータベースサーバ１０６などのサーバコンピュータソフトウェアアプリケーションと通信するための、デスクトップコンピュータまたはラップトップコンピュータなどの計算プラットフォームで実行する、クライアントコンピュータソフトウェアアプリケーションである。クライアント１０２は、情報検索を要求している人などのエンドユーザが、データまたは情報を要求するため検索機構１０４と通信するプロセスを容易にする。たとえば、クライアント１０２は、インターネットなどのネットワーク上の通信を容易にする従来のウェブブラウザであり得る。このように、クライアント１０２は、さまざまなウェブページ、データ入力フレーム、クエリ結果などを表示端末に表示することができる。クライアント１０２は、検索機構１０４から与えられた情報またはページを表示する。
【００２０】
検索機構１０４は、典型的には、コンピュータソフトウェアアプリケーションと、サーバコンピュータなどの、アプリケーションが実行されるコンピュータハードウェアとの組合わせである。検索機構１０４は、クライアント１０２を使用するエンドユーザに、ユーザインターフェースおよび検索機能を提供する。非限定的な例として、検索機構１０４は、ウェブページに含まれる情報をインターネットで検索するための、通常は検索エンジンと呼ばれるものであり得、または、電子商取引もしくは企業ウェブページ上の検索機能などの、より専門化された情報源に対するインターフェースであり得、または、アプリケーションサーバであり得る。
【００２１】
検索機構１０４は、クライアント１０２とデータベースサーバ１０６と間のインターフェースとして機能し、データベースサーバ１０６のクライアントとして考えられ得る。検索機構１０４およびデータベースサーバ１０６は、単一の計算プラットフォーム上にともに構成されることができ、統合された機能性をクライアント１０２に提供する、関連したソフトウェアモジュールとして構成され得る。このように、検索機構１０４およびデータベースサーバ１０６は、図１に示されるような個別のエンティティであることを要しない。
【００２２】
データベースサーバ１０６は、検索機構１０４などのアプリケーションサーバによってクライアント１０２のために要求されたデータを提供する。データベースサーバは、検索機構１０４またはクライアント１０２のユーザによっては実行されない、残りのクエリ処理を全て行う。このように、データベースサーバ１０６は、マルチユーザ環境において大量のデータを管理するための、データベース１０８などのデータリポジトリに対する、高度に機能的なインターフェースである。広義において、データベースサーバ１０６は、要求に従ってデータベース１０８のデータにアクセスする。
【００２３】
データベース１０８は、１ユニットとして扱われる、データの集合体である。一般に、データベース１０８の目的は、関連する情報を記憶し、検索することである。データベース１０８は、関連付けられた行列を有するデータテーブル、もしくは、関連付けられたオ
ブジェクトを有するオブジェクトクラスなどの、ある種のデータ記憶装置またはデータコンテナを含む。データベース１０８は、典型的には、たとえばテーブルのインデックスなどのデータを記憶し、アクセスし、操作するための、複数の他の構造を含む。実施例は、データベース１０８のためのいかなる特定の論理的または物理的構造も要しない。
【００２４】
テキストクエリ
一実施例によれば、ここで説明されるように累進的緩和機構を実現するために、ＣＯＮＴＡＩＮＳ演算子が用いられる。ＣＯＮＴＡＩＮＳ演算子は、テキストクエリのクエリ式を指定するために、ＳＥＬＥＣＴステートメントのＷＨＥＲＥ句において用いられる。ＣＯＮＴＡＩＮＳ演算子は、選択されたすべての行に、ＳＣＯＲＥ演算子で得られる適合率スコアを返す。ＣＯＮＴＡＩＮＳ演算子のための1つの文法（grammar）は、ＣＯＮＴＥＸＴと呼ばれる。適用できる他の文法は、ＣＴＸＣＡＴである。ＣＯＮＴＡＩＮＳ演算子を含むクエリの例は次の通りである。
【００２５】
【数１】
2007535016.tif 000003
【００２６】
ここで、[schema.]columnは、好ましくは関連付けられたテキストインデックスを有する、検索されるべきテキスト列（text column）を指定する。text_queryパラメータは、（１）列において検索を規定するクエリ式を指定するか、または（２）ＣＴＸＣＡＴ文法に基づいてクエリを指定する、マークアップ文字列を指定する。クエリテンプレートを介し、ＣＴＸＣＡＴ文法に基づいてクエリを指定することにおいて、クエリ文字列は下記のタグを用いる。
【００２７】
【数２】
2007535016.tif 000004
【００２８】
ＣＯＮＴＡＩＮＳは、選択された各行に、ドキュメント行がどの程度クエリに適合するかを示す０から１００の数を返し、０は、所与の行に一致が見付からないことを示す。
【００２９】
ＣＯＮＴＥＸＴ文法は、ＣＯＮＴＡＩＮＳ演算子のデフォルトの文法であって、クエリ式におけるクエリ演算子の使用を可能にする。たとえば、論理演算子ＡＮＤは２つの異なる単語を含む全てのドキュメントの検索を可能にし、ＡＢＯＵＴ演算子は概念検索を可能にし、ＷＩＴＨＩＮ演算子は、ＸＭＬドキュメントまたはＨＴＭＬドキュメントのセクションなどでのセクション検索を可能にし、ＮＥＡＲ演算子は近接検索、ステム検索、ファ
ジー、および、クエリ式を拡張するための、つまりクエリに関連付けられた検索基準を緩和するための、シソーラス演算子を可能にする。加えて、ＣＯＮＴＥＸＴ文法がテキスト検索に利用されると予想される場合、テキストを格納するテーブルのインデックスは、典型的には、インデックスタイプの「コンテキスト（context）」である。
【００３０】
機能コンポーネント
図２は、データベースサーバ１０６および検索機構１０４に関連する機能コンポーネントを示すブロック図である。
【００３１】
検索機構１０４は、ルールインタープリタ２２０を含む。ルールインタープリタ２２０は、情報検索に関連付けられたルールを翻訳し、変換するよう動作する。たとえば、下記にさらに詳細に説明される一実施例において、クライアント１０２（図１）のユーザは、ルールインタープリタ２２０によって翻訳されて別のフォーマットに変換されたルールの形式で、検索基準と呼ばれる検索語または検索値を指定する。たとえばユーザは、（検索語，ＡＮＤ，ＯＲ）などの検索ルールの集合を与えることができ、それは、検索基準（すなわち、オリジナルの形式におけるオリジナルの検索語、検索語の接続形式、検索語の分離形式）、および、関連するサブクエリを実行するための順序（すなわち、まずオリジナルの形式を実行し、次に接続形式、その次に分離形式を実行する）を指定する。
【００３２】
ルールインタープリタ２２０は、ルールの集合を受け取るとすぐにそのルールの集合に基づいてクエリテンプレートを構成する。上述のように、一実施例によれば、クエリテンプレートは＜text_query＞テンプレートの形式である。別の実施例によれば、クエリテンプレートは、後述する「書き直しテンプレート」の形式である。両方の実施例において、クエリテンプレートは、検索基準と検索基準に関連付けられたサブクエリが実行されるための順序とを示す。
【００３３】
別の実施例において、ルールインタープリタ２２０は、データベースサーバ１０６に提示するため、受け取られたルールに基づいて緩和クエリ２５０ａを生成する。緩和クエリ２５０ａは、検索基準と、検索基準に関連付けられた構成要素であるサブクエリが実行される順序とを含む。
【００３４】
インタープリタ２２０、または検索機構１０４内の他のモジュールは、ユーザのデータベースサーバ１０６との対話をユーザフレンドリにするための、他の機能を与えるよう構成され得る。
【００３５】
データベースサーバ１０６は、機能上、クエリ緩和エンジン２０２とクエリ実行エンジン２１０とを含む。クエリ緩和エンジン２０２は、テンプレートインタープリタ２０４とクエリコンストラクタ２０６とを含み、クエリ実行エンジン２１０はコンテキストモジュール２０８を含む。
【００３６】
テンプレートインタープリタ２０４は、クエリテンプレートなどのさまざまな形式の検索基準を翻訳するよう構成され、検索基準は、一連のサブクエリとそのサブクエリを実行するための順序とを指定するか、または別の方法で示す。テンプレートインタープリタ２０４はクエリコンストラクタ２０６に情報を渡し、クエリコンストラクタは受け取った情報をクエリに処理する。クエリは、おそらくはコンテキストブジェクト２０８と連動して、データベース１０８（図１）から情報を取り出すよう実行される。
【００３７】
テンプレートインタープリタ２０４は、ルールインタープリタ２２０または他の何らかのソースからの出力であり得る、クエリテンプレートを翻訳するよう構成される。たとえば、ルールインタープリタ２２０は、エンドユーザからルールの集合を受け取り、それら
のルールに基づいてクエリテンプレートを生成し、クエリテンプレートは、クエリテンプレートに基づいてクエリを構成するよう求める要求として機能する。次に、テンプレートインタープリタ２０４がクエリテンプレートを受け取り、翻訳して、データベースサーバ１０６がサポートするＳＱＬまたはＰＬ／ＳＱＬなどのクエリ言語に従ってクエリを構成するのに必要な情報を、コンストラクタ２０６に渡す。一実施例において、ルールインタープリタ２２０から書き直しテンプレートが受け取られ、書き直しテンプレートは、ルールの集合に基づいてクエリが構成されることを有効に要求するステートメントを含む。「cheap pen」の検索に関する、書き直しテンプレートの例は次の通りである。
【００３８】
【数３】
2007535016.tif 000005
【００３９】
ここでＴＲＡＮＳＦＯＲＭ関数の引数は、検索語に関連付けられた接頭辞と、検索語に関連付けられた接尾辞と、検索語に関連する演算子とを含む。このように、論理演算子「ＡＮＤ」を表わす「＆」、または論理演算子「ＯＲ」を表わす「／」などの、検索語に関連付けられた関連する演算子に加えて、接頭辞または接尾辞が、検索語に関連して指定され得る。接頭辞および接尾辞フィールドは、ステム検索およびワイルドカード検索などの変形例にサポートを与える。そのため、ルールインタープリタ２２０と連動してこの実施例を用いることで、エンドユーザは検索のための入力として単にルールの集合を与えるだけでよいというユーザフレンドリな能力を与え、それにより、一連のプロセスで関連するクエリが構成され、データベースサーバ１０６によって実行されて、データベース１０８（図１）から情報を取り出す。
【００４０】
前述の書き直しテンプレートに基づいて、テンプレートインタープリタ２０４は、検索フレーズ「cheap pen」を複数の単語「cheap」と「pen」とに分解し、各単語は指定されたルールに従って変換され、データベース１０８（図１）でのクエリの生成のため、クエリコンストラクタ２０６に渡される。たとえば、検索語「cheap pen」に関しては、関数ＴＲＡＮＳＦＯＲＭ（ＴＯＫＥＮＳ，‘‘，’＄‘，’＆‘）は、接続形式で、「cheap」および「pen」の接尾辞ステムに基づいてサブクエリを構成するよう機能する。このように、ＲＥＷＲＩＴＥ演算子およびＴＲＡＮＳＦＯＲＭ関数に基づいてサブクエリが構成され、（１）「cheaper」ＡＮＤ「pen」、および（２）「cheapest」ＡＮＤ「pen」を検索する。
【００４１】
テンプレートインタープリタ２０４およびクエリコンストラクタ２０６間の機能につい
ての前述の描写は限定的ではない。なぜなら、これらの機能は、統合されたインタープリタ２０４／コンストラクタ２０６ソフトウェアモジュールによって実行され得るからである。
【００４２】
クエリコンストラクタ２０６は、テキスト文字列、テキストクエリテンプレート、書き直しテンプレートおよび非テキストパラメータなどの、検索を規定するさまざまな形式の情報を受け取る。次に、クエリコンストラクタ２０６は、受け取った情報から緩和クエリ２５０ｃなどのクエリを構成する。次に、このようなクエリがクエリ実行エンジン２１０に提示され、データベース１０８（図１）に対して実行される。
【００４３】
クエリ実行エンジン２１０は、緩和クエリ２５０ａ、２５０ｂ、２５０ｃなどのクエリとインターフェースし、データベース１０８（図１）に対して実行する。クエリ実行エンジン２１０は、テキストを検索するときＣＯＮＴＥＸＴ文法の機能を実現する、コンテキストモジュール２０８を含む。そのため、ＳＱＬクエリを実行するプロセスにおいてＣＯＮＴＡＩＮＳ演算子が識別されると、ＣＯＮＴＡＩＮＳ引数テキスト文字列またはテンプレートは、おそらくテンプレートインタープリタ２０４を介してコンテキストモジュール２０８に渡され、ＣＯＮＴＥＸＴ文法の機能に従って処理される。加えて、クエリ実行エンジン２１０は、エンドユーザから直接受け取られる緩和クエリ２５０ｂの実行をサポートする。
【００４４】
ユーザが指定する、クエリ要件の累進的な緩和
本発明の一局面によれば、データベースサーバアプリケーションにおいて、データベースクエリの累進的な緩和にネイティブサポートが与えられる。そのため、アプリケーションおよびエンドユーザは、データ検索に関連付けられた一連のサブクエリ、および、所望の結果を生じるためにそのサブクエリを実行する順序を指定することができる。したがって、ユーザは、検索の性能を高めるために、実行される検索の態様および程度に影響を及ぼすことができる。加えて、ユーザは、クエリ応答時間または処理能力の著しい低下を伴うことなく、関連する結果またはヒットリストの適合率順位の質に影響を及ぼすことができる。このような手法は、不必要なクエリ/検索語拡張、および、クライアントとサーバーアプリケーションとの間の、計算上費用がかかる完全な往復通信を減じることによって、クエリ応答時間および処理能力を向上させる。
【００４５】
一実施例において、ＨＴＭＬドキュメントおよびＸＭＬドキュメントなどのドキュメントの異なるセクションに対してサブクエリが実行されるための、累進のシーケンスを指定する能力がユーザに与えられる。たとえば、ユーザは、ある語が検索されるのに、まず１つ以上のドキュメントのタイトルにおいて、次にその１つ以上のドキュメントの本文において、次にその１つ以上のドキュメントに現れる図形的オブジェクトの記載において検索されるよう、指定することができる。そのため、精密な検索能力がもたらされる。
【００４６】
一実施例において、ＣＯＮＴＡＩＮＳ句を含むクエリがデータベースに対して発行され得、検索文字列は従来のテキストクエリ文法に密着することを要しない。その代わりに、下記の例が示すように、検索文字列は、テキストクエリテンプレートフォーマットに密着することができ、クエリテンプレートはＣＯＮＴＡＩＮＳ演算子のためのクエリ式引数として用いられる。以下は、コンテキストインデックスタイプを用いてインデックス付けされるデータテーブルに格納されるテキストを検索するための、クエリの例を与える。
【００４７】
【数４】
2007535016.tif 000006
【００４８】
このように、この実施例によれば、上述のクエリにおいて「検索基準（search criteria）」として表されるクエリテンプレートが、ＣＯＮＴＡＩＮＳ句に引数として与えられる。このような実施例では、以下の例のようなマークアップドキュメントまたはクエリテンプレートが、ＣＯＮＴＡＩＮＳ句に引数として用いられることができる。すなわち、クエリテンプレートは検索基準を示すために用いられている。クエリテンプレートは、一連のサブクエリ、すなわち１つ以上のテーブルへのプローブと、テーブルの指定された列に対してサブクエリを実行するための、累進的な順序とを指定する。
【００４９】
【数５】
2007535016.tif 000007
【００５０】
上述のクエリおよびテンプレートはテキストの検索を示すが、ここに説明される手法を適用することによって、１つ以上のデータベースに記憶されるいかなるデータ値またはデータタイプも検索され得る。さらに、インターネット検索のコンテキストにおける場合のように、データベースは分散され得、複数の分散型サーバに関連付けられ得る。
【００５１】
代替的一実施例において、累進は、マークアップテンプレートの代わりにＳＱＬまたはＰＬ/ＳＱＬ拡張演算子によって実現される。たとえば、ＰＲＯＧＲＥＳＳＩＯＮ演算子はＳＱＬ演算子の既存の集合への拡張として規定され、したがって、ここに説明される手法による累進の仕様にネイティブデータベースサポートを与える。
【００５２】
テキストにＣＯＮＴＡＩＮＳ句などの句を含むか、または非テキストに同様の句を含むクエリの実行中、実行エンジンは、＜query＞タグを識別すると、クエリの関連する部分を典型的なクエリとして処理しない。むしろ、データベースサーバ１０６（図１）などのデータベースサーバが＜textquery＞タグ間の情報を抽出し、累進が指定されているか否か＜ＰＲＯＧＲＥＳＳＩＯＮ＞タグを介することなどによって判断して、累進に指定された順序で関連するサブクエリを実行する。
【００５３】
上記の例において、まず「cheap pen」のフレーズを含むドキュメントを検索するようサブクエリが実行される。次に、「cheap」と「pen」との両方の単語を含むドキュメントを検索するようサブクエリが実行され得る。最後に、「cheap」または「pen」のいずれかの単語を含むドキュメントを検索するようサブクエリが実行され得る。
【００５４】
一実施例において、３つのサブクエリの各々は、指定された累進に従って連続して自動的に実行されることができ、その結果は、サブクエリが所与の結果を生じた順序で順序付けられる。たとえば、第１のサブクエリから返されたヒットは、第２および第３のサブクエリから返されたヒットよりも高い適合率順位を伴って生成されるか、または表示される。
【００５５】
適合率順位が示される態様は限定されない。たとえば、結果の適合率順位は、検索要求者に対する提示順に単に特定され得るか、または、数字の順位、パーセンテージなどを割り当てられることができる。このような場合、クライアントとサーバとの間の複数の往復通信をなくし、かつその結果としてネットワークオーバーヘッドをなくす。
【００５６】
代替的な一実施例において、以前に実行されたサブクエリが情報検索要求を満たさなかったときにのみ、もしあるとすれば、サブクエリの各々が実行され得る。たとえば、第１のサブクエリのみを実行することで「cheap pen」のフレーズを含む何十または何百ものドキュメントが見付かった場合、残りのサブクエリの実行は停止されるかまたは完全になくされる。したがって、このような場合はクライアントとサーバとの間の複数の完全な往復通信をなくし、その結果としてのクエリ処理、ネットワークオーバーヘッド、および不必要な探査をなくす。しかしながら、ユーザが特に追加的な結果を要求する場合には、検索要求の特定の要件を満たすため、必要に応じて次に第２および／または第３のクエリが実行され得る。このような場合において、その後のクライアント−サーバ通信は、上記で完全な往復通信と呼ばれたものではなく、二次的な通信と考えられる。なぜならその通信は、解析、最適化などのクエリの「オーバーヘッド」処理を、ほとんど、または全く要しないからである。
【００５７】
情報検索−クライアントを管理するためのプロセス
図３は、情報検索を管理するためのプロセスを示すフロー図である。本発明の一局面によれば、このプロセスは、典型的にはユーザインターフェースを介して情報検索を要求している、エンドユーザによって実行される。
【００５８】
ブロック３０２において、検索されている情報に関係する１つ以上の情報値が指定される。ブロック３０４において、１つ以上の値に関連付けられたサブクエリを実行する順序が指定される。たとえば上述のように、ユーザはクエリテンプレートを提示するか、または上述のように、ルールからクエリが構成される、そのルールの集合を提示し得る。ブロック３０２および３０４は好ましくは同時に実行されるが、これらのステップは順番に実行されてもよい。一実施例においては値および順序はユーザインターフェースを介して指定され、一実施例においてはＸＭＬドキュメントの形式で指定される。
【００５９】
ブロック３０６において、指定された順序で１つ以上のサブクエリが実行されるよう、１つ以上の情報値および順序が提示される。この情報は、データベースサーバ１０６（図１）などのデータベースサーバに直接に提示され得るか、または検索エンジンもしくは関数などのミドルウェアアプリケーションを通して間接的に提示され得る。
【００６０】
一実施例において、ドキュメントの１つ以上の特定のセクションに関連付けられた情報値がブロック３０２で指定される。関連する一実施例では、ブロック３０２において、ドキュメントの少なくとも２つの特定のセクションに関連付けられた情報値が指定され、ブロック３０４において指定される順序は、前述したように、ドキュメントの少なくとも２つの特定のセクションに関して、その情報値に関連付けられたサブクエリを実行するための順序を含む。
【００６１】
情報検索−サーバを管理するためのプロセス
図４は、情報検索を管理するためのプロセスを示すフロー図である。本発明の一局面によれば、このプロセスはデータベースサーバによって実行される。
【００６２】
ブロック４０２において、一連のサブクエリとサブクエリを実行するための累進の仕様とを含むクエリが受け取られる。たとえば、テキストを問合せるためのＣＯＮＴＡＩＮＳ句を含むクエリが受け取られ、クエリは、上述のように、句の引数としてクエリテンプレートを含む。一実施例において、クエリはＸＭＬドキュメントの形式で受け取られる。受け取られたクエリは、たとえば、ドキュメントの特定のセクションに関連付けられたサブクエリを含み得る。
【００６３】
ブロック４０４において、累進に指定された順序で１つ以上のサブクエリが実行される。一実施例において、プロセスは、たとえば、ブロック４０２で受取られたか、またはエンドユーザから反復的に受取られたか、もしくは別の方法で受取られたクエリとともに、検索に特定の個数の結果を求める要求を受け取るステップを含む。反復プロセスの例として、逐次的な通信については、エンドユーザは一度に１０個のクエリ結果を要求することができる。このように、データベースサーバまたは検索機構は、それらの要求に応答して逐次的に、すなわち一度に１０個の結果を与える。さらに、１つ以上のサブクエリの各々のサブクエリは、以前に実行されたサブクエリが指定された個数の結果への要求を満たすのに十分な結果を生じなかった場合にのみ実行される。たとえば、最初に実行されたサブクエリが３０個の結果を生じ、ユーザが一度に１０個のヒットを反復的に要求している場合、ユーザが第３１から第４０のヒットを要求するまで、第２のサブクエリは実行されない。
【００６４】
連結クエリを用いる従来のアプローチとは反対に、必ずしもすべてのサブクエリが実行されるわけではない。さらに、各サブクエリが連続してデータベースサーバに提示される従来のアプローチとは反対に、本実施例は、クライアント１０２（図１）などの検索を要求しているエンドユーザと、データベースサーバ１０６（図１）などの情報を検索しているサーバとの間の、完全な往復通信を１つのみ用いて、データベースサーバに複数のサブクエリを提示することができる。どのサブクエリが実際に実行され、いかなる順序で実行されるかに関する制御は、ソフトウェアアプリケーションおよび／または検索エンジンもしくは関数によって仮定されるより、むしろエンドユーザによって与えられ、データベースサーバによって適用される。
【００６５】
一実施例において、すべてのサブクエリは、それぞれの特定の値の集合、すなわち検索基準に基づいてデータベースからデータを選択し、累進は検索基準の緩和に対応する。たとえば、オリジナルの検索語および検索語「cheap pen」の変形例の各々のために、（１）「cheap」および「pen」、（２）「cheap」および「pen」のステム、ならびに（３）「cheap」または「pen」、などの特定の値の集合を用いてサブクエリが構成される。したがって、検索基準「cheap pen」は、検索を拡張する、関連付けられたサブクエリを実行することによって、指定された累進に従って累進的に緩和される。
【００６６】
実現機構−ハードウェア概要
図５は、本発明の実施例を行うことができるコンピュータシステム５００を示すブロック図である。コンピュータシステム５００は、バス５０２または情報を通信するための他の通信機構と、情報を処理するためにバス５０２に結合されるプロセッサ５０４とを含む。コンピュータシステム５００はさらに、ランダムアクセスメモリ（ＲＡＭ）または他のダイナミック記憶装置などのメインメモリ５０６を含み、メインメモリは、情報およびプロセッサ５０４によって実行される命令を記憶するためにバス５０２に結合される。メインメモリ５０６もまた、プロセッサ５０４によって実行される命令の実行中に、一時的な変数または他の中間情報を記憶するために用いられ得る。コンピュータシステム５００は
、さらに、読取り専用メモリ（ＲＯＭ）５０８または他の静止記憶装置を含み、装置は静止情報およびプロセッサ５０４のための命令を記憶するためにバス５０２に結合される。磁気ディスク、光ディスクまたは光磁気ディスクなどの記憶装置５１０が与えられ、情報および命令を記憶するためにバス５０２に結合される。
【００６７】
コンピュータシステム５００は、コンピュータユーザに情報を表示するために、陰極線管（ＣＲＴ）または液晶表示（ＬＣＤ）などの表示部５１２に、バス５０２を介して結合され得る。英数字キーおよび他のキーを含む入力装置５１４は、情報および指令選択をプロセッサ５０４に通信するために、バス５０２に結合される。別の種類のユーザ入力装置は、方向情報および指令選択をプロセッサ５０４に通信するため、かつ、表示部５１２上でカーソル移動を制御するための、マウス、トラックボール、またはカーソル方向キーなどの、カーソル制御５１６である。この入力装置は、典型的には、第１の軸（たとえばｘ）および第２の軸（たとえばｙ）の２つの軸に２つの自由度を有し、そのため装置が平面上で位置を特定することが可能である。
【００６８】
本発明は、ここに説明される手法を実行するためのコンピュータシステム５００の使用に関する。本発明の一実施例によれば、それらの手法は、メインメモリ５０６に含まれる１つ以上の命令の１つ以上のシーケンスを実行するプロセッサ５０４に応答して、コンピュータシステム５００によって実行される。このような命令は、記憶装置５１０のような、別のコンピュータで読取可能な媒体からメインメモリ５０６に読取られ得る。メインメモリ５０６に含まれる命令のシーケンスも実行により、ここに説明されるプロセスステップがプロセッサ５０４より実行される。代替的な実施例において、本発明の実現のために、ソフトウェア命令の代わりに、またはそれと組合わせて、ハードワイヤードの回路が用いられ得る。従って、本発明の実施例は、ハードウェア回路およびソフトウェアのいかなる特定の組合せにも限定されない。
【００６９】
ここで用いられる「コンピュータで読取り可能な媒体」という用語は、実行のためにプロセッサ５０４に命令を与えることに寄与するいかなる媒体をも指す。このような媒体は、不揮発性媒体、揮発性媒体、および伝送媒体などを含む多くの形式をとることができるが、それらに制限されない。たとえば不揮発性媒体は、記憶装置５１０のような、光学的、磁気的、または光磁気ディスクを含む。揮発性媒体は、メインメモリ５０６などのダイナミックメモリを含む。伝送媒体は、同軸ケーブル、銅線、およびファイバーオプティクスを含み、バス５０２を構成するワイヤを含む。伝送媒体はさらに、電波通信および赤外線データ通信中に生成されるものなどの、音波または光波の形式をとることもできる。
【００７０】
コンピュータで読取可能な媒体の一般的な形式は、たとえば、フロッピーディスク（登録商標）、フレキシブルディスク、ハードディスク、磁気テープもしくは他のあらゆる磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤ、他のあらゆる光学的もしくは光磁気媒体、パンチカード、紙テープ、穴のパターンを有する他のあらゆる物理媒体、ＲＡＭ、ＰＲＯＭおよびＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、他のあらゆるメモリチップまたはカートリッジ、後述する搬送波、またはコンピュータが読取り得る他のあらゆる媒体を含む。
【００７１】
コンピュータで読取可能な媒体のさまざまな形式は、プロセッサ５０４に対する、実行のための１つ以上の命令の１つ以上のシーケンスを運ぶことに関係し得る。たとえば、命令は、最初はリモートコンピュータの磁気ディスク上で運ばれ得る。リモートコンピュータは、そのダイナミックメモリに命令をロードすることができ、モデムを用いて電話線上で命令を送ることができる。コンピュータシステム５００に対する局所的なモデムは電話線上でデータを受け取ることができ、赤外線送信機を用いてデータを赤外線信号に変換する。赤外線検出器は赤外線信号で運ばれるデータを受け取ることができ、適切な回路がデータをバス５０２に置くことができる。バス５０２はデータをメインメモリ５０６へ運び
、そこからプロセッサ５０４が命令を検索し、実行する。メインメモリ５０６によって受け取られた命令は、プロセッサ５０４による実行の前または後に、記憶装置５１０に任意に記憶され得る。
【００７２】
コンピュータシステム５００はさらに、バス５０２に結合される通信インターフェース５１８を含む。通信インターフェース５１８は、ローカルネットワーク５２２に接続されるネットワークリンク５２０に結合する、双方向データ通信をもたらす。たとえば、通信インターフェース５１８は総合サービスデジタルネットワーク（ＩＳＤＮ）カードまたはモデムであり得、対応する種類の電話線にデータ通信接続を与える。別の例として、通信インターフェース５１８はローカルエリアネットワーク（ＬＡＮ）カードであることができ、互換性があるＬＡＮにデータ通信接続を与える。無線リンクもまた実現され得る。このようないずれの実現例においても、通信インターフェース５１８は、さまざまな種類の情報を表すデジタルデータストリームを運ぶ、電気的、電磁的、または光学的信号を送受信する。
【００７３】
ネットワークリンク５２０は、典型的には、１つ以上のネットワークを通じて、他のデータ装置にデータ通信を与える。ネットワークリンク５２０は、ローカルネットワーク５２２を通じて、ホストコンピュータ５２４、または、インターネットサービスプロバイダ（ＩＳＰ）５２６によって動作されるデータ装置に接続を与えることができる。ＩＳＰ５２６は、現在では通常「インターネット」５２８と呼ばれる世界的なパケットデータ通信ネットワークを通じて、順にデータ通信サービスを提供する。ローカルネットワーク５２２およびインターネット５２８は両方とも、デジタルデータストリームを運ぶ、電気的、電磁的、または光学的信号を用いる。コンピュータシステム５００との間でデジタルデータを運ぶ、さまざまなネットワークを通じた信号、ネットワークリンク５２０上の信号、および通信インターフェース５１８を通じた信号は、情報を伝達する搬送波の例示的な形式である。
【００７４】
コンピュータシステム５００は、ネットワーク、ネットワークリンク５２０、および通信インターフェース５１８を通じて、プログラムコードを含む、メッセージを送ったりデータを受取ったりすることができる。インターネットの例において、サーバ５３０は、インターネット５２８、ＩＳＰ５２６、ローカルネットワーク５２２、および通信インターフェース５１８を通じて、アプリケーションプログラムに要求されたコードを伝送し得る。
【００７５】
受け取られたコードは、受取られるとプロセッサ５０４によって実行されることができ、および／または、後に実行されるように記憶装置５１０または他の不揮発性記憶装置に記憶され得る。この態様で、コンピュータシステム５００は、搬送波の形式でアプリケーションコードを得ることができる。
【００７６】
拡張および代替例
前述の説明の全体を通じて、および、実施例のコンテキストを理解するのを最も容易にする箇所で、本発明の代替的な実施例が説明される。さらに、本発明は、本発明の特定の実施例を参照して説明されてきた。しかしながら、本発明のより広範な精神と範囲とを逸脱することなく、さまざまな変形および変更がそこになされ得ることは明らかであろう。たとえば、実施例はデータベースクエリのコンテキストで説明されるが、一般に、説明される手法は情報の電子的検索に適用できる。別の例として、実施例はテキスト検索のコンテキストで説明されるが、この手法はテキスト以外の種類の情報の検索に適用できる。したがって、本明細書および図面は、このように、制限的な意味ではなくむしろ、例示的な意味で考慮されよう。
【００７７】
加えて、あるプロセスステップはこの説明において特定の順序に設定され、あるステップを特定するためにアルファベットラベルおよび英数字ラベルが用いられ得る。説明において特に述べられない限り、本発明の実施例は、このようなステップを実行するいかなる順序にも限定される必要はない。特に、ラベルは単にステップの便宜的識別のために用いられ、このようなステップを実行するいかなる特定の順序をも指定したり、または要求したりすることを意図しない。
【図面の簡単な説明】
【００７８】
【図１】一実施例が実現され得る動作環境の簡略化された例を示すブロック図である。
【図２】データベースサーバおよび検索機構に関連する機能コンポーネントを示すブロック図である。
【図３】情報検索を管理するためのプロセスを示すフロー図である。
【図４】情報検索を管理するためのプロセスを示すフロー図である。
【図５】本発明の一実施例が実現され得るコンピュータシステムを示すブロック図である。
【図１】
2007535016.tif 000008
【図２】
2007535016.tif 000009
【図３】
2007535016.tif 000010
【図４】
2007535016.tif 000011
【図５】
2007535016.tif 000012
【手続補正書】
【提出日】平成17年9月23日(2005.9.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
情報検索を管理するための方法であって、
データベースサーバでクエリを受取る、コンピュータで実現されるステップを含み、クエリは一連のサブクエリと前記サブクエリを実行する累進の仕様とを含み、さらに、
前記累進に指定された順序で１つ以上の前記サブクエリを実行する、コンピュータで実現されるステップとを含み、各サブクエリは、以前に実行されたサブクエリが検索要求を満たすのに十分でなかった場合にのみ実行される、方法。
【請求項２】
前記検索に特定の個数の結果を求める要求を受取る、コンピュータで実現されるステップをさらに含み、前記１つ以上のサブクエリの各サブクエリは、以前に実行されたサブクエリが前記特定の個数の結果を求める前記要求を満たさない場合にのみ実行される、請求項１に記載の方法。
【請求項３】
前記サブクエリのすべては、それぞれの検索基準に基づいてデータベースからデータを選択し、前記累進は、前記情報検索に関連付けられたオリジナルの検索基準の緩和に対応する、請求項１に記載の方法。
【請求項４】
前記累進は、前記情報検索を要求しているエンドユーザによって指定される、請求項１に記載の方法。
【請求項５】
前記累進は、ユーザインターフェースとの対話を通じて指定される、請求項１に記載の方法。
【請求項６】
１つ以上のサブクエリを実行する前記ステップは、
前記一連のサブクエリのうち、前記累進に従って、第１のサブクエリを実行するステップと、
前記第１のサブクエリの前記実行の結果を与えるステップと、
より多くの結果を与えるよう求める要求を受取るステップと、
前記要求を受取るステップに応答して、前記一連のサブクエリのうち、前記累進に従って、第２のサブクエリを実行するステップと、
前記第２のサブクエリの前記実行の結果を与えるステップとを含む、請求項１に記載の方法。
【請求項７】
前記受取るステップは、前記一連のサブクエリに関連付けられた検索基準および前記累進をＸＭＬドキュメントの形式で受取るステップを含む、請求項１に記載の方法。
【請求項８】
前記受取るステップは、１つ以上のルールの集合に基づいてクエリを構成するアプリケーションプログラムから前記クエリを受取るステップを含み、前記集合は情報を要求しているエンドユーザによって指定される、請求項１に記載の方法。
【請求項９】
前記アプリケーションプログラムは電子検索エンジンである、請求項８に記載の方法。
【請求項１０】
前記受取るステップは、エンドユーザによって指定される検索基準の集合と、前記検索基準に基づいてデータベースクエリを構成するよう求める要求とを受取るステップを含み、前記方法はさらに、
前記検索基準に基づいてデータベースクエリを構成する、コンピュータで実現されるステップを含む、請求項１に記載の方法。
【請求項１１】
クエリを受取る前記ステップは、ドキュメントの１つ以上のセクションに関連付けられた検索基準を指定するクエリを受取るステップと、前記ドキュメントの前記１つ以上のセクションに対して、前記検索基準に関連付けられたサブクエリを実行するための順序を指定する累進を受取るステップとを含む、請求項１に記載の方法。
【請求項１２】
情報検索を管理するための方法であって、
検索されている情報に関連する検索基準を指定するステップと、
前記検索基準に関連付けられたサブクエリを実行するための順序を指定するステップと、
前記指定された順序でデータベースサーバによって１つ以上の前記サブクエリを実行するために、前記検索基準および前記順序を含むクエリを伝達するステップとを含み、各サブクエリは、以前に実行されたサブクエリが検索要求を満たすのに十分でなかった場合にのみ実行される、方法。
【請求項１３】
前記指定するステップは、情報検索を要求しているエンドユーザによって開始される、請求項１２に記載の方法。
【請求項１４】
検索基準を指定する前記ステップは値の単一の集合を指定するステップを含み、順序を指定する前記ステップは、前記値の集合と関連付けられた１つ以上の順序付けられたルールを指定するステップを含む、請求項１２に記載の方法。
【請求項１５】
前記１つ以上の順序付けられたルールの集合は論理演算子を含む、請求項１４に記載の方法。
【請求項１６】
前記指定するステップは、ＸＭＬドキュメントの形式で指定するステップを含む、請求項１２に記載の方法。
【請求項１７】
検索基準を指定する前記ステップは、ドキュメントの１つ以上のセクションに関連付けられた検索基準を指定するステップを含み、順序を指定する前記ステップは、前記ドキュメントの前記１つ以上のセクションに対して、前記検索基準に関連付けられたサブクエリ
を実行するための順序を指定するステップを含む、請求項１２に記載の方法。
【請求項１８】
前記検索基準は、ドキュメントの少なくとも２つのセクションに関連して指定され、前記順序は、前記ドキュメントの前記少なくとも２つのセクションに対して、前記検索基準に関連付けられたサブクエリを特定の順序で実行するよう指定する、請求項１７に記載の方法。
【請求項１９】
命令の１つ以上のシーケンスを運ぶ、コンピュータで読取可能な媒体であって、命令は、１つ以上のプロセッサで実行されると、前記１つ以上のプロセッサに請求項１から１８のいずれかに記載の方法を実行させる、コンピュータで読取可能な媒体。
【請求項２０】
情報検索を管理するためのコンピュータ装置であって、
一連のサブクエリとサブクエリを実行するための累進の仕様とを含むクエリを受取るための手段と、
前記累進に指定された順序で１つ以上の前記サブクエリを実行するための手段とを含む、コンピュータ装置。
【国際調査報告】
2007535016.tif 000013
2007535016.tif 000014