Oracle
為什麼 CTX_DDL.SYNC_INDEX 程序不起作用?
我正在按照Oracle 文件使用 Oracle Text 創建索引。問題是,當我更新我的數據並希望將我的索引與
CTX_DDL.SYNC_INDEX
過程同步時(根據文件的第 4 步),沒有任何變化。我不發布我的程式碼,因為它與文件完全相同。
關於這種行為的來源的想法?
要執行此操作,執行該
SYNC_INDEX
過程的使用者必須是索引的所有者。因此,就我而言,我必須向 CTXSYS 使用者授予對包的執行權限:GRANT EXECUTE ON CTXSYS.CTX_DDL TO myuser;
現在,我可以將我的索引與myuser同步:
EXEC CTX_DDL.SYNC_INDEX('idx_docs', '2M'); 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> 4 4 <HTML>Los Angeles is a city in California.</HTML> 4 5 <HTML>Mexico City is big.</HTML>