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

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

oracle全文檢索

時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)

  本文簡要說明全文檢索功能的使用,不做太多的具體說明。

  僅供參考使用方法。

  1.授權(quán)

  對具體使用全文檢索的用戶授權(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.使用應用用戶連接

  創(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.檢索比較

  以下是一個全文檢索的示例,我們檢索'abc',那么全文檢索可以把包含'abc'的任何變化組合都查詢出來,包括大小寫、全半角,而如果用單純的SQL實現(xiàn)同樣的結(jié)果,則需要多次like之后union all,其性能差距是不可想象的。

  全文檢索在類似文本模糊查詢上具有極大的優(yōu)勢。當然也可能存在問題,即詞法分析器是否準確,會否漏掉部分內(nèi)容等。

  總的說來,滿足需求的技術就是好的技術,是否使用一項技術應該通過實踐來檢驗.
SQL> select subject from jivemessage where contains(subject,'abc') >0;

  SUBJECT

  --------------------------------------------------------------------------------

  【游戲】 把你的名字的首字母用智能ABC打出,看能出來什么?

  游戲——把你的名字首字母用智能ABC打出來

  智能ABC暗藏殺機

  ABC

  ABC

  ABC

  ABC

  ABC

  ABC

  哈哇abc

  abc

  SUBJECT

  --------------------------------------------------------------------------------

  abc

  ABC

  振奮愛的激情方案ABC

  智能ABC的錯嗎?

  ABC全選

  瓜果美容ABC

  經(jīng)典英文歌曲ABC,不好你拿版磚砍我,好就回帖頂一下!

  初夜abc

  Re: abc

  Re: abc

  Re: abc

  SUBJECT

  --------------------------------------------------------------------------------

  abc

  測試發(fā)貼""abc

  abc

  25 rows selected.

  Elapsed: 00:00:00.04

  3.定時優(yōu)化同步域索引

  創(chuàng)建定時任務,定期優(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>

關鍵詞標簽:oracle全文檢索

相關閱讀

文章評論
發(fā)表評論

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

相關下載

    人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權(quán)語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法