IBM Books
(C) IBM Corp. 2000

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

テキスト索引の更新と再編成

テキスト索引を最初に作成し、更新した後は、 テキスト索引を最新のものに保持する必要があります。 たとえば、テキスト文書をデータベースに追加する際、 またはデータベース内の既存の文書を変更する際は、 索引の内容とデータベースの内容の同期をとるために、 文書に索引を付ける必要があります。 同様に、データベースからテキスト文書を削除する場合、 その用語を索引から除去する必要があります。

RECREATE INDEX ON UPDATE オプションなしでテキスト索引が作成された場合、 トリガーは自動的に、新規文書、変更文書、および削除文書に関する情報を内部ログ表に保管します。 よって、次回索引が更新されるときは、ログ表で参照される文書の索引が作成されます。 ビューに基づくテキスト索引についての詳細は、 ビューに基づくテキスト索引を参照してください。

CREATE INDEX コマンドで RECREATE オプションを指定すると、 更新ごとに索引全体が再作成されます。 このオプションは、ログ表もトリガーも作成しません。

一般に、索引はときどき更新されます。 既存の索引の更新頻度は、ALTER INDEX コマンドを使用して変更できます。

索引更新の頻度は、更新を行う時期、およびキューに入れられる、 テキスト変更の最小数に関して指定します。 指定した日時に、ログ表内の変更の数が指定した数より少なければ、索引は更新されません。

定期的な索引作成を注意深く計画してください。 テキスト文書の索引作成は、多くの時間とリソースが必要なタスクです。 必要な時間は、多くの要因によって変わります。 たとえば、文書のサイズ、 最後の索引更新以後に追加または変更したテキスト文書の数、 およびプロセッサーの能力などです。

次のような場合、DB2 表でロールバックおよびデッドロック状態が起こり得ます。

  • 更新頻度が高い場合
  • 変更トランザクションが頻繁に起こる場合
  • トランザクションが長い場合

UPDATE INDEX コマンドを使用すれば、索引を要求時に即時に更新できます。

サマリー

時期
定期的な索引作成の実行を待たないで、索引を即時に更新する時。

コマンド
UPDATE INDEX

権限
表に対する CONTROL

次のコマンドは、索引を更新します。

db2text UPDATE INDEX comment FOR TEXT

このコマンドは、複数のテキスト文書をデータベースに追加済みであり、 これらの文書を直ちに検索する必要がある場合に便利です。

手動の再編成が必要かどうかを判別するには、 次のコマンドを使用して、 db2ext.textindexes ビューを照会してください。

db2 "select reorg_suggested from db2ext.textindexes where INDNAME = 'comment'"
MANUAL REORGANIZATION を指定して列をしばしば更新する場合、 更新処理は遅くなります。 手動で再編成するには、次のコマンドを使用してください。
db2text UPDATE INDEX comment FOR TEXT reorganize

ただし、CREATE INDEX 時に AUTOMATIC REORGANIZE を指定する場合には、 必要なときに索引は自動的に再編成されます。


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