問合せ緩和を使用すると、アプリケーションでは、最も制限されたバージョンの問合せを最初に実行して、必要なヒット数を得るまで、問合せを徐々に緩和できます。
たとえば、アプリケーションが最初にblack penを検索した後、より多くのヒットを得るため、問合せがblack NEAR penに緩和されます。
次の問合せテンプレートは、問合せ緩和の順序を定義します。問合せblack penは、次の順序で入力されます。
{black} {pen}
{black} NEAR {pen}
{black} AND {pen}
{black} ACCUM {pen}
select id from docs where CONTAINS (text, '<query> <textquery lang="ENGLISH" grammar="CONTEXT"> <progression> <seq>{black} {pen}</seq> <seq>{black} NEAR {pen}</seq> <seq>{black} AND {pen}</seq> <seq>{black} ACCUM {pen}</seq> </progression> </textquery> <score datatype="INTEGER" algorithm="COUNT"/> </query>')>0;
アプリケーションが結果を必要とするかぎり、問合せのヒットは、この順序で重複なしで戻されます。
アプリケーションが問合せの上位N個のヒット数を必要とする場合、問合せ緩和が最も効率的です。このヒット数は、DOMAIN_INDEX_SORT
またはPL/SQLカーソルで取得できます。
したがって、問合せテンプレートを使用した問合せの緩和は、問合せの再実行よりも効率的です。