ITPub博客

oracle 全文索引的配置

原创 作者:itpub120 时间:2016-11-14 16:34:56 0 删除 编辑

分类: 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;
--删除索引

 

请登录后发表评论 登录
全部评论
  • 博文量
    59
  • 访问量
    566656