注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

陈钟鸣的博客

独立之精神,自由之思想.

 
 
 

日志

 
 

给同事写的Oracle全文检索的sample  

2008-05-29 10:38:17|  分类: oracle |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
--
sqlplus "/ as sysdba"
grant ctxapp to cocodev;                            
GRANT EXECUTE ON CTXSYS.CTX_CLS TO cocodev;         
GRANT EXECUTE ON CTXSYS.CTX_DDL TO cocodev;         
GRANT EXECUTE ON CTXSYS.CTX_DOC TO cocodev;         
GRANT EXECUTE ON CTXSYS.CTX_OUTPUT TO cocodev;      
GRANT EXECUTE ON CTXSYS.CTX_QUERY TO cocodev;       
GRANT EXECUTE ON CTXSYS.CTX_REPORT TO cocodev;      
GRANT EXECUTE ON CTXSYS.CTX_THES TO cocodev;        
GRANT EXECUTE ON CTXSYS.CTX_ULEXER TO cocodev;

sqlplus "cocodev/coco@coconet"

--create analyzer
begin
    ctx_ddl.create_preference('japanese_lexer','japanese_vgram_lexer');
end;

--create ctx_sys.context index

drop index ARTICLE_LIST_KEYWORD_INDX;

create index ARTICLE_LIST_KEYWORD_INDX on ARTICLE_LIST(article_text)
indextype is ctxsys.context
parameters ('lexer japanese_lexer memory 16m sync(on commit)') parallel 2 online;

--search keyword using this index

SQL> select count(*) from ARTICLE_LIST where article_text is not null;

  COUNT(*)
----------
      2807
      
SQL>select score(1),a.article_text from article_list a where contains(article_text,'電気通信 or 松下電器',1)>0 and score(1) > 20;

経過: 00:00:00.07

実行計画
----------------------------------------------------------
   0      SELECT STATEMENT Optimizer=ALL_ROWS (Cost=10 Card=1 Bytes=2014)
   1    0   TABLE ACCESS (BY INDEX ROWID) OF 'ARTICLE_LIST' (TABLE) (Cost=10 Card=1 Bytes=2014)
   2    1     DOMAIN INDEX OF 'ARTICLE_LIST_KEYWORD_INDX' (INDEX (DOMAIN)) (Cost=4)

統計
----------------------------------------------------------
      21901  recursive calls
          0  db block gets
       8307  consistent gets
         63  physical reads
          0  redo size
     312117  bytes sent via SQL*Net to client
        562  bytes received via SQL*Net from client
          8  SQL*Net roundtrips to/from client
        620  sorts (memory)
          0  sorts (disk)
         92  rows processed

select SEGMENT_TYPE,SEGMENT_NAME,BYTES/1024/1024,BLOCKS from user_segments where SEGMENT_NAME='DR$ARTICLE_LIST_KEYWORD_INDX$X' or  SEGMENT_NAME='ARTICLE_LIST';

SEGMENT_TYPE                         SEGMENT_NAME                   BYTES/1024/1024     BLOCKS
------------------------------------ ------------------------------ --------------- ----------
TABLE                                ARTICLE_LIST                                17       2176
INDEX                                DR$ARTICLE_LIST_KEYWORD_INDX$X              15       1920

  评论这张
 
阅读(72)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017