時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)
本文簡(jiǎn)要說(shuō)明全文檢索功能的使用,不做太多的具體說(shuō)明。
僅供參考使用方法。
1.授權(quán)
對(duì)具體使用全文檢索的用戶授權(quán).
$ sqlplus "/ as sysdba"
SQL*Plus: Release 9.2.0.4.0 - Production on Sun May 15 20:00:10 2005
Copyright (c) 1982, 2002, Oracle Corporation.? All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
SQL> grant ctxapp to club;
Grant succeeded.
SQL> connect ctxsys/password
Connected.
SQL> grant execute on ctx_ddl to club;
Grant succeeded.
2.使用應(yīng)用用戶連接
創(chuàng)建域索引
SQL> connect club/password
Connected.
SQL> begin ctx_ddl.create_preference('club_lexer','chinese_vgram_lexer'); end;
2? /
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.03
SQL> create index id_cont_msg
2? on jivemessage ( SUBJECT ) indextype is ctxsys.context parameters('lexer club_lexer');
Index created.
Elapsed: 00:01:22.42
SQL> select count(*) from jivemessage where contains(subject,'幸福')>0;
COUNT(*)
----------
1847
Elapsed: 00:00:00.17
SQL> select count(*) from jivemessage where subject like '%幸福%';
COUNT(*)
----------
1841
Elapsed: 00:00:02.89
3.檢索比較
以下是一個(gè)全文檢索的示例,我們檢索'abc',那么全文檢索可以把包含'abc'的任何變化組合都查詢出來(lái),包括大小寫、全半角,而如果用單純的SQL實(shí)現(xiàn)同樣的結(jié)果,則需要多次like之后union all,其性能差距是不可想象的。
全文檢索在類似文本模糊查詢上具有極大的優(yōu)勢(shì)。當(dāng)然也可能存在問(wèn)題,即詞法分析器是否準(zhǔn)確,會(huì)否漏掉部分內(nèi)容等。
總的說(shuō)來(lái),滿足需求的技術(shù)就是好的技術(shù),是否使用一項(xiàng)技術(shù)應(yīng)該通過(guò)實(shí)踐來(lái)檢驗(yàn).
SQL> select subject from jivemessage where contains(subject,'abc') >0;
SUBJECT
--------------------------------------------------------------------------------
【游戲】 把你的名字的首字母用智能ABC打出,看能出來(lái)什么?
游戲——把你的名字首字母用智能ABC打出來(lái)
智能ABC暗藏殺機(jī)
ABC
ABC
ABC
ABC
ABC
?。粒拢?/p>
哈哇abc
abc
SUBJECT
--------------------------------------------------------------------------------
abc
ABC
振奮愛(ài)的激情方案ABC
智能ABC的錯(cuò)嗎?
ABC全選
瓜果美容ABC
經(jīng)典英文歌曲ABC,不好你拿版磚砍我,好就回帖頂一下!
初夜abc
Re: abc
Re: abc
Re: abc
SUBJECT
--------------------------------------------------------------------------------
abc
測(cè)試發(fā)貼""abc
abc
25 rows selected.
Elapsed: 00:00:00.04
3.定時(shí)優(yōu)化同步域索引
創(chuàng)建定時(shí)任務(wù),定期優(yōu)化和同步域索引
SQL> create or replace procedure hsp_sync_index as
2? begin
3? ctx_ddl.sync_index('id_cont_msg');
4? end;
5? /
Procedure created.
Elapsed: 00:00:00.08
SQL> VARIABLE jobno number;
SQL> BEGIN
2 DBMS_JOB.SUBMIT(:jobno,'hsp_sync_index();',
3 SYSDATE, 'SYSDATE + (1/24/4)');
4 commit;
5 END;
6 /
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.27
SQL> create or replace procedure hsp_optimize_index as
2? begin
3? ctx_ddl.optimize_index('id_cont_msg','FULL');
4? end;
5? /
SQL> VARIABLE jobno number;
SQL> BEGIN
2 DBMS_JOB.SUBMIT(:jobno,'hsp_optimize_index();',
3 SYSDATE, 'SYSDATE + 1');
4 commit;
5 END;
6 /
Procedure created.
Elapsed: 00:00:00.03
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.02
SQL>
關(guān)鍵詞標(biāo)簽:oracle全文檢索
相關(guān)閱讀
熱門文章 Oracle中使用alter table來(lái)增加,刪除,修改列的語(yǔ)法 oracle中使用SQL語(yǔ)句修改字段類型-oracle修改SQL語(yǔ)句案例 誤刪Oracle數(shù)據(jù)庫(kù)實(shí)例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索
人氣排行 oracle中使用SQL語(yǔ)句修改字段類型-oracle修改SQL語(yǔ)句案例 Oracle中使用alter table來(lái)增加,刪除,修改列的語(yǔ)法 ORACLE SQL 判斷字符串是否為數(shù)字的語(yǔ)句 ORACLE和SQL語(yǔ)法區(qū)別歸納(1) oracle grant 授權(quán)語(yǔ)句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法