posts - 119, comments - 62, trackbacks - 0, articles - 0
          我的開(kāi)發(fā)環(huán)境:Oracle 9i,Window Server 2003
          (1)正確安裝Oracle 9i企業(yè)版,Oracle9i企業(yè)版在安裝的時(shí)候就已經(jīng)默認(rèn)提供了全文索引支持。如果你的Oracle還沒(méi)有安裝,請(qǐng)先安裝一下,至于怎樣安裝,這里不做討論,請(qǐng)Google一下。
          (2)Oracle9i默認(rèn)情況下會(huì)把ctxsys用戶鎖定,請(qǐng)以DBA身份登陸Oracle,把用戶ctxsys解鎖,并修改其密碼為ctxsys,以便于我們后面登陸Text Manager
          (3)進(jìn)入Oracle的text manager,點(diǎn)程序->Oracle-OracleHome92->Enterprise Manager Console。選獨(dú)立啟動(dòng),然后選工具欄最下面的應(yīng)用程序->text Manager,這時(shí)會(huì)要求您輸入用戶名和密碼,用戶名ctxsys,密碼ctxsys
          (4)選擇首選項(xiàng)——〉語(yǔ)言指定器——〉CTXSYS,選一個(gè)點(diǎn)類似創(chuàng)建,輸入指示器的名字如chinese_lexer,選擇lexer下的chinese_vgrnm_lexer 。
          (5)建立索引,在索引上點(diǎn)右鍵,然后選創(chuàng)建CONTEXT索引,這里要注意方案要選擇您自己的表空間,如我有個(gè)表SZPOI在表空間SUZHOU中,現(xiàn)在我要對(duì)該表的UNITNAME字段建立全文索引,那么方案選suzhou,表選szpoi,字段選unitname,首選項(xiàng)中選擇chinese_lexer 。

            這樣全文檢索就建好了,并用chinese_vgram_lexer作為分析器。

          (6)如何查詢數(shù)據(jù)。索引建立以后,我們就可以對(duì)該表進(jìn)行全文索引查詢了,查詢語(yǔ)句如下:
          SELECT score(1),t.unitname,t.objectid,t.eminx,t.eminy,t.mpfullname,t.dianhua FROM szpoi t WHERE contains (unitname, '規(guī)劃局,吳中分局', 1) > 0 order by score(1) desc

          這個(gè)語(yǔ)句的意思是在表szpoi中查詢unitname包含“規(guī)劃局”和“吳中分局”兩個(gè)關(guān)鍵字的記錄,并按匹配度從高到低排序。
          大功告成了嗎?沒(méi)有!
          接著我們還要建立兩個(gè)job來(lái)維護(hù)和優(yōu)化索引。
          維護(hù):
          begin
            sys.dbms_job.submit(job => :job,
                                what => 'ctx_ddl.sync_index(''SZPOI_UNITNAME_INDEX'');',
                                next_date => to_date('23-05-2008 13:54:57', 'dd-mm-yyyy hh24:mi:ss'),
                                interval => 'SYSDATE + (1/24/4)');
            commit;
          end;
          優(yōu)化:
          begin
            sys.dbms_job.submit(job => :job,
                                what => 'ctx_ddl.optimize_index(''SZPOI_UNITNAME_INDEX'',''FULL'');',
                                next_date => to_date('23-05-2008 14:03:02', 'dd-mm-yyyy hh24:mi:ss'),
                                interval => 'SYSDATE + 1');
            commit;
          end;

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 洪洞县| 渝北区| 静乐县| 溧水县| 林芝县| 莆田市| 牙克石市| 陕西省| 云和县| 林周县| 和林格尔县| 阿拉善左旗| 子长县| 武陟县| 清涧县| 新民市| 新建县| 年辖:市辖区| 平潭县| 宿松县| 崇义县| 麻城市| 广宁县| 江西省| 鲁山县| 平顺县| 葫芦岛市| 准格尔旗| 曲阳县| 密云县| 桐梓县| 亳州市| 东港市| 墨竹工卡县| 桂平市| 霸州市| 芦溪县| 普宁市| 神木县| 天津市| 焦作市|