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;

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


          網站導航:
           
          主站蜘蛛池模板: 集安市| 丰城市| 会东县| 蒙山县| 明溪县| 自贡市| 庆阳市| 贡嘎县| 崇州市| 宣城市| 集安市| 秀山| 汉寿县| 尤溪县| 措美县| 成都市| 正蓝旗| 彩票| 巩义市| 乐东| 阿尔山市| 玉溪市| 杭锦旗| 建德市| 梅州市| 福泉市| 徐水县| 安义县| 腾冲县| 岳普湖县| 美姑县| 洛川县| 久治县| 涞水县| 班玛县| 砚山县| 上林县| 黑龙江省| 孙吴县| 鹿泉市| 平南县|