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>