このコマンドは、即時に索引付け処理を開始し、索引に関連付けられたテキスト列の現在の内容を反映し、索引を最新の状態に更新します。
更新の実行中も、CONTAINS 述部を使用した検索が可能です。アクティブ化されたキャッシュ結果表を持つ索引の場合、更新時にストアード・プロシージャーによる検索も可能です。ただし、変更されたテキストがフル・テキスト索引にまだコミットされていないにもかかわらず、キャッシュ表の列が新しい値を表示する可能性があります。
CREATE INDEX コマンドで RECREATE INDEX ON UPDATE オプションを使用すると、 再作成前に索引がクリアされます。 更新が完了するまで、空の結果が戻されます。
許可
DB2 カタログ・ビューによると、このコマンドのユーザー ID は、フル・テキスト索引が作成された表に対して CONTROL 特権が必要です。
コマンド構文
>>-UPDATE-INDEX--+------------------+--index-name--FOR-TEXT-----> '-index-schema-"."-' >--+------------+--+--------------------+-----------------------> '-REORGANIZE-' '-COMMITCOUNT--count-' >--+----------------------+--+----------------------+---------->< '-USING-UPDATE-MINIMUM-' '-|connection-options|-' connection-options: |--+--------------------------------------------------------------+--| '-CONNECT-TO--database-name--+-------------------------------+-' '-USER--userid--USING--password-'
コマンド・パラメーター
手動による索引のチェックおよび再編成を回避するには、CREATE INDEX コマンドの REORGANIZE AUTOMATIC オプションを使用します。
注 |
---|
再編成処理は、通常の更新の後に行われます。 |
分散データベースの場合、UPDATE MINIMUM は各ノードでチェックされます。
詳細については、CREATE INDEXを参照してください。
ただし、CREATE INDEX コマンドの後の最初の更新、または RECREATE INDEX ON UPDATE オプションによる更新などの初期更新の場合、COMMITCOUNT を無視する論理トランザクションが 1 つだけ存在します。これは、ALTER INDEX コマンドを使用して変更できます。
使用法
このコマンドは同期的に実行します。 分散 DB2 環境内のすべての必要な DB2 論理/物理ノード上で更新処理を開始します。 所要時間は、索引付けするファイル数およびすでに索引付けされた文書数によって異なります。更新の状況は、索引ごとに作成されるビューを介して表示することができます。このビューの名前は、列 EVENTVIEWNAME の DB2EXT.TEXTINDEXES から 検索できます。詳細に関しては 付録 C, Net Search Extender インフォメーション・カタログを参照してください。
処理済みのコミット文書の数を表示するには、2 つのオプションがあります。 更新が引き続き実行中であるか、どのくらいの文書が索引にコミット済みであるかを 判別するには、DB2EXT.TEXTINDEXES (NUMBER_DOCS) ビューを使用します。 変更の開始、コミット、および更新処理の完了に関する情報も、 索引に関連したイベント・ビューを使用します。
処理することになっている未コミット文書の数を表示するには、 CONTROL LIST ALL LOCKS FOR INDEX コマンドを使用します。
注 |
---|
接続したノードから情報を表示できるのは、これらのビューだけです。 物理ノードで基本表にインクリメンタル更新を行う場合、 各ノードの時刻が同期していなければなりません。 時刻が同期していないと、 更新が失われたり、まったく実行されなかったりする恐れがあります。 |
次のコマンドのいずれかが索引上で実行中の場合には、このコマンドを発行できないことに注意してください。
非アクティブ化された永続キャッシュ結果表を使用して索引を更新した後、永続キャッシュは削除され、次の ACTIVATE CACHE コマンドによって、データベースの内容に基づいて再作成されます。
ユーザーがこのコマンドに割り込んだ場合、更新機能に関係する処理はすべて停止します。 コミット・カウントがインクリメンタル更新で使用された場合は、一部の更新は索引内で見ることができるものの、他の更新は新たな更新コマンドが必要な場合があります。
索引の自動更新を停止するには、 更新サービスに使用されるパーティション上で索引更新コマンドを実行中の DB2 インスタンス所有者処理を検索します。 すべてのパーティション上でこの処理および更新処理を停止します。
注 |
---|
コマンドは、すべてのパーティションでの索引作成および初期の索引更新のために 2 つの別個のフェーズで 機能するため、db2text drop index コマンドを発行して、索引が一部しか利用できないことがないようにします。このコマンドが発行されない場合は、次の更新 (更新コマンドまたは更新頻度オプションによって 起動される可能性がある) は、一貫性のある状態を確保するために完全な再索引付けを実行します。 |
レプリケーション・キャプチャー表を使用する場合、 データベースに以下の変更が加えられます。