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

您當(dāng)前所在位置:首頁數(shù)據(jù)庫Oracle → 創(chuàng)建并使用oracle全文搜索

創(chuàng)建并使用oracle全文搜索

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

  說明:使用全文索引需要使用詞法分析器,什么叫詞法分析器呢,如:你想搜索"中國人",那么數(shù)據(jù)庫的底層就會給你以"中國"、"國人"等等進(jìn)行解析去搜索,大概就是這樣,oracle有幾個可供選擇的分析器,默認(rèn)創(chuàng)建全文搜索時會默認(rèn)有一個分析器,不過對中文搜索支持的不是太好,其中'chinese_vgram_lexer'分析器是對中文支持最好的,所以呢在創(chuàng)建全文搜索時應(yīng)該要制定一個索引的解析器,之后就可以利用sql語句去根據(jù)建立的索引字段并利用contains(字段名稱,'關(guān)鍵字')0 的函數(shù)去查詢了,很簡單,下面上代碼:

  --定義詞法分析器BEGIN ctx_ddl.create_preference ('joblexer', 'chinese_vgram_lexer');、END;

  說明:'joblexer'代表你使用的定義的分析器的名稱,名字可以隨便寫,便于創(chuàng)建索引時使用

  --創(chuàng)建全文索引并制定分析器CREATE INDEX 索引的名稱 ON 表名(表字段) indextype is ctxsys.context parameters('lexer 自定義的分析器的代指名稱');

  如:CREATE INDEX jobindex ON mr_job(name) indextype is ctxsys.context parameters('lexer joblexer');

  --刪除索引(不想要了,可以執(zhí)行這條語句刪除)drop index jobindex force

  --sql查詢語句select j.name from mr_job j where contains(j.name,'服務(wù)員')0

  --同步索引BEGINctx_ddl.sync_index('jobindex');END;

  (當(dāng)我們對表執(zhí)行了刪除、修改、增加的操作的話,就要對搜因進(jìn)行一下跟新了,不更新的話,索引對以前的信息有效,搜索的還是以前的信息,更改的或者添加的就永遠(yuǎn)也搜不到,所以修改了或者添加了就需要更新下索引了)

關(guān)鍵詞標(biāo)簽:oracle

相關(guān)閱讀

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

熱門文章 Oracle中使用alter table來增加,刪除,修改列Oracle中使用alter table來增加,刪除,修改列oracle中使用SQL語句修改字段類型-oracle修oracle中使用SQL語句修改字段類型-oracle修使用低權(quán)限Oracle數(shù)據(jù)庫賬戶得到管理員權(quán)限使用低權(quán)限Oracle數(shù)據(jù)庫賬戶得到管理員權(quán)限Oracle對user的訪問控制Oracle對user的訪問控制

相關(guān)下載

人氣排行 ORACLE SQL 判斷字符串是否為數(shù)字的語句Oracle中使用alter table來增加,刪除,修改列的語法ORACLE和SQL語法區(qū)別歸納(1)oracle grant 授權(quán)語句如何加速Oracle大批量數(shù)據(jù)處理Oracle刪除表的幾種方法ORACLE修改IP地址后如何能夠使用Oracle 10g創(chuàng)建表空間和用戶并指定權(quán)限