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

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

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

          這個語句的意思是在表szpoi中查詢unitname包含“規劃局”和“吳中分局”兩個關鍵字的記錄,并按匹配度從高到低排序。
          大功告成了嗎?沒有!
          接著我們還要建立兩個job來維護和優化索引。
          維護:
          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;
          優化:
          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;

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 黑水县| 安岳县| 闸北区| 宁河县| 西平县| 大理市| 沂南县| 南昌县| 大姚县| 榆社县| 镇康县| 石家庄市| 竹溪县| 赤壁市| 松潘县| 隆昌县| 泸水县| 全州县| 广昌县| 巫山县| 瑞昌市| 龙海市| 迁西县| 勐海县| 调兵山市| 碌曲县| 桓台县| 都昌县| 巍山| 方城县| 宣城市| 石棉县| 呼伦贝尔市| 札达县| 衡东县| 麟游县| 盈江县| 天津市| 修文县| 蕉岭县| 台北市|