oracle 全文索引的配置

itpub120發表於2016-11-14

分類: Linux


1 建立資料儲存定義(Datastore),使用多列資料儲存在多列上建立全文索引

BEGIN
     CTX_DDL.CREATE_PREFERENCE(
'INFOGRID_COM_DATASTORE','MULTI_COLUMN_DATASTORE');

CTX_DDL.SET_ATTRIBUTE('INFOGRID_COM_DATASTORE','columns','NAME,ADDRESS,BUSINESS_ZONE,FAREN,FUND,INTRODUCTION');

END;

2.建立詞法分析器(Lexer

BEGIN
    CTX_DDL.CREATE_PREFERENCE(
'INFOGRID_LEXER', 'CHINESE_LEXER');
END;

 

3.建立全文索引(索引在DML提交後自動同步更新)

CREATE INDEX INFOGRID_COM_FULL_IDX ON g2b_com(NAME)
INDEXTYPE  IS  CTXSYS.CONTEXT
PARAMETERS (
   
'LEXER INFOGRID_LEXER
    DATASTORE INFOGRID_COM_DATASTORE
    SYNC (ON COMMIT)' 
--使用實時同步(DML提交時同步全文索引)
)

--手工同步索引(如果使用自動同步,這步可省略)

begin
ctx_ddl.sync_index(
'INFOGRID_COM_FULL_IDX');
end;

 

4.使用全文索引查詢(按照出現頻率排序)

select score(0),t.* from g2b_com t where contains(NAME,'條件一,條件二',0)>0 order by score(0) desc

 

5.刪除全文索引(刪除詞法分析器,刪除資料儲存定義,刪除索引)

begin
ctx_ddl.drop_preference(
'INFOGRID_COM_DATASTORE');--刪除資料儲存定義DataStore

ctx_ddl.drop_preference('INFOGRID_LEXER');--刪除詞法分析器
end;
drop index INFOGRID_COM_FULL_IDX;
--刪除索引

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8109090/viewspace-2128417/,如需轉載,請註明出處,否則將追究法律責任。

相關文章