ヘッダーをスキップ
Oracle® Textアプリケーション開発者ガイド
12cリリース1 (12.1)
B71317-04
  目次へ移動
目次
索引へ移動
索引

前
次
 

手順4 データ操作後の索引の同期化

CONTEXT索引を作成する場合、索引を明示的に同期化して、テキスト表に対する挿入、更新または削除にあわせて索引を最新の状態にしておく必要があります。

Oracle Textでは、CTX_DDL.SYNC_INDEXプロシージャを使用して索引を同期化できます。

docs表に行を追加します。

INSERT INTO docs VALUES(4, '<HTML>Los Angeles is a city in California.</HTML>');
INSERT INTO docs VALUES(5, '<HTML>Mexico City is big.</HTML>');

索引は同期化されていないため、これらの新しい行は、cityを問い合せても戻りません。

SELECT SCORE(1), id, text FROM docs WHERE CONTAINS(text, 'city', 1) > 0;

  SCORE(1)         ID TEXT
---------- ---------- --------------------------------------------------
         4          2 <HTML>Paris is a city in France.</HTML>

したがって、2MBのメモリーを使用して索引を同期化し、問合せを再実行します。

EXEC CTX_DDL.SYNC_INDEX('idx_docs', '2M');

PL/SQL procedure successfully completed.

COLUMN text FORMAT a50;
SELECT SCORE(1), id, text FROM docs WHERE CONTAINS(text, 'city', 1) > 0;

  SCORE(1)         ID TEXT
---------- ---------- --------------------------------------------------
         4          5 <HTML>Mexico City is big.</HTML>
         4          4 <HTML>Los Angeles is a city in California.</HTML>
         4          2 <HTML>Paris is a city in France.</HTML>