oracle 全文检索

该全文检索是建立在数据库层面的,只在企业级应用开发中使用过。

使用后,大数据量下会导致数据插入、变更的效率降低,而且涉及定时器同步、刷新索引,对资源的消耗较高,并可能影响数据库表同步操作。

所以,仅用作学习研究。

核心为oracle的about('xxx')函数,前期的操作及定时器,都是此函数做准备的。

 

更高效、有效、符合语言习惯的全文检索解决方案,推荐Lucene、solr。

 

--1.授权

grant ctxapp to rili
grant execute on ctx_ddl to rili

--2.使用应用用户连接,创建域索引

begin ctx_ddl.create_preference('club_lexer','chinese_vgram_lexer'); 
end;
--(1)项目名称索引
create index index_xmmc
 on rili.office_hitachi_yyxmdj   (xmdj_xmmc  ) 
 indextype is ctxsys.context; 
 --(2)用户名称索引
 create index index_yhmc
 on rili.office_hitachi_yyxmdj   (xmdj_yhmc ) 
 indextype is ctxsys.context ; 
 
--删除某个索引
DROP INDEX   index_xmmc

--查询格式
SELECT score(1) s ,  xmdj_xmmc d  from rili.office_hitachi_yyxmdj
 WHERE CONTAINS (xmdj_xmmc,'about(测试)',1)> 1 
 
 select score(1) s,xmdj_yhmc yh from rili.office_hitachi_yyxmdj 
 where contains (xmdj_yhmc,'about(测试)',1)>1
 
 select xiangmubianhao,xmdj_xmmc,xmdj_yhmc,xmdj_xmdz  from rili.office_hitachi_yyxmdj e where 
 xmdj_xmmc in
 (SELECT xmdj_xmmc d  from rili.office_hitachi_yyxmdj
 WHERE CONTAINS (xmdj_xmmc,'about(测试)',1)> 1 )
 and xmdj_yhmc in
 ( select xmdj_yhmc yh from rili.office_hitachi_yyxmdj 
 where contains (xmdj_yhmc,'about(测试)',1)>1)
 and xiangmubianhao is not null  
 order by e.xmdj_xmbhnian asc,e.xmdj_xmbhhao asc
 
--索引同步于优化(使用 job定时工作)需要在cmd 中 sqlplus 下执行。
--(1)   创建过程
--项目名称过程
 create or replace procedure pro_index_xmmc  as
      begin
      ctx_ddl.sync_index('index_xmmc');
      end;
     /
--用户名称过程
  create or replace procedure pro_index_yhmc  as
      begin
      ctx_ddl.sync_index('index_yhmc');
      end;
     /
--(2 )job定时工作
    VARIABLE jobno number;
   BEGIN
   DBMS_JOB.SUBMIT(:jobno,'pro_index_yhmc();',  
   SYSDATE, 'SYSDATE +1/(60*24*60)');  
   commit;  
   END;  
    /
--删除触发与定时工作
drop procedure hsp_sync_index

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值