首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 教學

Oracle 全文索引自定義中文詞庫:ctxlc 工具導出/導入 zhs16gbk 詞典,新增業務關鍵詞

     編輯:Oracle 教學

Oracle 全文索引自定義中文詞庫

Oracle Text 中文分詞器 CHINESE_LEXER 內建詞典為加密二進制,需用 ctxlc 工具導出文本、編輯後再導入覆蓋,方可新增業務專有詞彙。

操作步驟(在 Oracle Server 機器上執行)

  1. 導出文本詞典:
    C:\Users\<用戶>> ctxlc -zht -ocs zhs16GBK > zhs16gbk_102.txt
  2. 編輯詞典文本:

    用記事本打開 zhs16gbk_102.txt,每行一個詞,追加業務關鍵詞(如「雙十一」、「雲計算」等)。

  3. 導入生成二進制文件:
    C:\Users\<用戶>> ctxlc -zht -ics zhs16gbk -n -i zhs16gbk_102.txt

    生成四個文件:drold.dat、droli.dat、drolk.dat、drolt.dat。

  4. 替換原有詞典:
    備份:%ORACLE_HOME%\ctx\data\zhlx\*.dat
    複製:將上述四個 .dat 文件覆蓋到 %ORACLE_HOME%\ctx\data\zhlx\
  5. 重建全文索引:
    DROP INDEX idx_fulltext;
    CREATE INDEX idx_fulltext ON docs(content) INDEXTYPE IS CTXSYS.CONTEXT
    PARAMETERS ('LEXER chinese_lexer');

注意事項

  • 務必先備份原詞典,防止導入失敗導致全文索引不可用。
  • 詞典編碼必須與數據庫字符集一致(示例為 ZHS16GBK),UTF8 環境請用 AL32UTF8 參數。
  • 修改生效後,新文檔索引將識別自定義詞,舊數據需重建索引。

參考來源:CSDN 博客整理

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved