資源描述:
《3.3檢索oracle全文索引配置》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、全文索引配置全文索引配置:請(qǐng)依次創(chuàng)建索引、存儲(chǔ)過程和作業(yè),下述步驟缺一不可。1.字段類型用戶imamdb下的COM_BASICINFO表中,字段objectid的類型必須是VARCHAR2,字段content和content_hi的類型應(yīng)該是CLOB。如果不是,立即修改,否則全文索引無法建立。2.創(chuàng)建索引?方法1(推薦方法):請(qǐng)打開PL/Sql程序,執(zhí)行索引如下兩個(gè)腳本:A、createindexft_contentoncom_basicinfo(content)indextypeisctxsys.contextparameters(
2、'LEXERCTXSYS.DEFAULT_LEXER');commit;B、createindexft_content_hioncom_basicinfo(content_hi)indextypeisctxsys.contextparameters('LEXERCTXSYS.DEFAULT_LEXER');commit;?方法2:以imamdb32_chs/imamdb32_chs登陸Oracle:在oracletextmanage――索引――context――數(shù)據(jù)庫用戶下分別建立一個(gè)名叫ft_content和ft_content
3、_hi的索引。方案選擇要建立全文索引的數(shù)據(jù)庫用戶;表選擇COM_BASICINFO;文本列選擇content和content_hi,索引名一定要是ft_content,否則無法同步。如圖:注意:成功地創(chuàng)建了全文索引后,即可以在數(shù)據(jù)庫中查詢所有數(shù)據(jù),但是要想實(shí)時(shí)地(自動(dòng)更新)查詢到所有新導(dǎo)入到數(shù)據(jù)庫中的資源信息,需要?jiǎng)?chuàng)建存儲(chǔ)過程和作業(yè)。3.執(zhí)行存儲(chǔ)過程執(zhí)行sync_ft_program.prc(代碼如下)存儲(chǔ)過程,生成全文索引所需的存儲(chǔ)過程。在Pl/sql程序中打開新建窗口,New-->SqlWindow,輸入下述代碼即可為cont
4、ent字段創(chuàng)建存儲(chǔ)過程:createorreplaceproceduresync_ft_contentisbeginexecuteimmediate'alterindexft_contentrebuild'
5、
6、'parameters(''sync'')';executeimmediate'alterindexft_contentrebuild'
7、
8、'parameters(''optimizefullmaxtimeunlimited'')';endsync_ft_content;再次,請(qǐng)重新打開一個(gè)SqlWindow窗口,將上述代碼中的
9、content改成content_hi,再執(zhí)行一遍即為content_hi字段創(chuàng)建了存儲(chǔ)過程。4.創(chuàng)建作業(yè)方法1:請(qǐng)打開Oracle客戶端,在下圖中打開SQL*PlusWorksheet,執(zhí)行如下腳本【sysdate+1代表每一天執(zhí)行一次作業(yè)】:variable?job_num?number;?begin???????????dbms_job.submit(:job_num,'sync_ft_content;',sysdate,'sysdate+1');???????????commit;?end?;類似地,將sync_ft_cont
10、ent修改為sync_ft_content_hi,以此創(chuàng)建另外一個(gè)作業(yè)。方法2:在Pl/sql先后創(chuàng)建兩個(gè)作業(yè),單擊Jobs–>New,在what欄中填寫:beginsync_ft_content;end;在interval欄中填寫“sysdate+1”,然后單擊Apply按鈕即成功地創(chuàng)建了作業(yè);類似地,重復(fù)上述步驟,將sync_ft_content修改為sync_ft_content_hi,以此創(chuàng)建另一個(gè)作業(yè)!注意:另外,sysdate+1即代表每一天執(zhí)行一次;相應(yīng)的,如想更改作業(yè)執(zhí)行的調(diào)度,依此類推。建議:對(duì)于類似電影頻道那種大數(shù)
11、據(jù)量的數(shù)據(jù)庫,作業(yè)的調(diào)度周期可以稍微長一些。作業(yè)創(chuàng)建成功后,單擊右鍵–>Run,運(yùn)行一次即可。為了方便對(duì)作業(yè)周期進(jìn)行靈活地選擇,現(xiàn)提供如下多種作業(yè)周期:Sysdate+1/1440????????????????????????每1分鐘執(zhí)行一次此處的1440即代表24小時(shí)*60分鐘!Sysdate+5/1440????????????????????每5分鐘執(zhí)行一次SYSDATE+1/48????????????????????每30分鐘執(zhí)行一次SYSDATE+7?????????????????????最后一次執(zhí)行的7天之后執(zhí)行tr
12、unc(sysdate+1)+2/24???????????下一天的2點(diǎn)(凌晨)執(zhí)行一次類似電影頻道等大數(shù)據(jù)量的數(shù)據(jù)庫,可以應(yīng)用如下作業(yè)周期函數(shù),相應(yīng)地在Oracle客戶端的SQL*PlusWorksheet中,執(zhí)行下述