--建立全文索引oracle
grant execute on ctx_ddl to username;--使用其餘賬號對username受權
exec ctx_ddl.create_preference('my_lexer','chinese_lexer');--建立chinese_lexer詞法器(中文詞法分析器)
exec ctx_ddl.create_preference('my_filter','CHARSET_FILTER');--建立字符過濾器
exec ctx_ddl.set_attribute('my_filter','charset','ZHS16GBK');--設置過濾器字符編碼
create index idx_tablename_colname on tablename(colname) indextype is ctxsys.context parameters('lexer my_lexer');--在tablename上建立索引優化
--使用全文檢索:編碼
select * from tablename where contains(col,'北京');spa
--全文索引同步索引
例如: 同步索引myindex:Exec ctx_ddl.sync_index ('myindex'); 實施建議:建議經過oracle的job對索引進行同步
--全文索引優化文檔
常常的索引同步將會致使你的CONTEXT索引產生碎片。索引碎片嚴重的影響了查詢的反應速度。你能夠按期優化索引來減小碎片,減小索引大小,提升查詢效率。 當文本從表中刪除的時候,Oracle Text標記刪除的文檔,可是並不立刻修改索引。所以,就的文檔信息佔據了沒必要要的空間,致使了查詢額外的開銷。
你必須以FULL模式優化索引,從索引中刪除無效的舊的信息。這個過程叫作垃圾處理。當你常常的對錶文本數據進行更新,刪除操做的時候,垃圾處理是很必要的。