問合せ緩和を使用すると、アプリケーションでは、最も制限されたバージョンの問合せを最初に実行して、必要なヒット数を得るまで、問合せを徐々に緩和できます。
たとえば、アプリケーションが最初に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カーソルで取得できます。
したがって、問合せテンプレートを使用した問合せの緩和は、問合せの再実行よりも効率的です。