IBM Books
(C) IBM Corp. 2000

Net Search Extender 管理およびユーザーズ・ガイド


ストアード・プロシージャー検索を使用するテキスト検索

アプリケーションがテキスト検索結果のサブセットを、 ハイパフォーマンスで必要とする場合には、 ストアード・プロシージャー検索インターフェースを使用します。 すべての結果が必要な場合、 または大量の文書の索引を作成する必要がある場合には、 ストアード・プロシージャーを使用しないでください。 主な理由は、ユーザー表の一部がメモリーにコピーされるため、 大量の実メモリーが使用可能でなければならなくなるというものです。

ストアード・プロシージャーでは、まず 0 から 20 の結果を要求し、 次に 21 から 40 という具合に、カーソル・ナビゲーションと類似の方法をとることができます。 このカーソル機能とキャッシュ (索引作成中に計算される) の使用を組み合わせると、 検索は極めて高速となります。 これは特に、結合が不要になるためです。

ストアード・プロシージャーを使用する場合は、 以下のオプションを確認してください。

以下は、ストアード・プロシージャー検索の例です。

db2 "call  db2ext.textSearch('¥"book¥"','DB2EXT','COMMENT',0,2,1,1,?,?)"

最初のパラメーターは、検索語です。 構文は、SQL 関数の場合と全く同じです。 それから索引名と索引スキーマを指定します。 名前をマスクしない場合は、英大文字に変換されます。 続く 2 つの数字は、結果をスライスで受け取る確率の指定です。 次の 2 つの整数値は、スコアとヒット情報を要求するかどうかを指定します。 最後の 2 つの値は出力値です。

パラメーターの詳細については、ストアード・プロシージャー検索関数を参照してください。

より大きな結果セットを要求する場合は、 ユーザー表スペースが必要です。 使用できるものがない場合は、表スペースを作成してください。 以下の例は、UNIX プラットフォーム上で表スペースを作成しています。

db2 "create user temporary tablespace tempts managed by system 
            using ('/work/tempts.ts')"

分散 DB2 環境では、 ストアード・プロシージャーのために単一ノード上の管理表の表スペースを明示的に指定し、 明示的にこのノードに接続しなければなりません。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]