IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁(yè)數(shù)據(jù)庫(kù)Oracle → oracle全文檢索

oracle全文檢索

時(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)閱讀

文章評(píng)論
發(fā)表評(píng)論

熱門文章 Oracle中使用alter table來(lái)增加,刪除,修改列的語(yǔ)法 Oracle中使用alter table來(lái)增加,刪除,修改列的語(yǔ)法 oracle中使用SQL語(yǔ)句修改字段類型-oracle修改SQL語(yǔ)句案例 oracle中使用SQL語(yǔ)句修改字段類型-oracle修改SQL語(yǔ)句案例 誤刪Oracle數(shù)據(jù)庫(kù)實(shí)例的控制文件 誤刪Oracle數(shù)據(jù)庫(kù)實(shí)例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索 為UNIX服務(wù)器設(shè)置Oracle全文檢索

相關(guān)下載

    人氣排行 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刪除表的幾種方法