基於配置的詞典擴充
IK 分詞器還支持通過配置IKAnalyzer.cfg.xml 文件來擴充您的專有詞典以及停止詞典(過濾詞典)。
步驟如下:
1. 部署IKAnalyzer.cfg.xml
IKAnalyzer.cfg.xml 部署在代碼根目錄下( 對於web 項目, 通常是WEBINF/classes 目錄)同hibernate、log4j 等配置文件相同。
2. 詞典文件的編輯與部署
分詞器的詞典文件格式是無BOM 的UTF-8 編碼的中文文本文件,文件擴展名不限。詞典中,每個中文詞彙獨立佔一行,使用\r\n 的DOS 方式換行。
(備註,如果您不瞭解什麼是無BOM 的UTF-8 格式, 請保證您的詞典使用UTF-8 存儲,並在文件的頭部添加一空行)。
您可以參考分詞器源碼org.wltea.analyzer.dic 包下的.dic 文件。
詞典文件應部署在Java 的資源路徑下,即ClassLoader 能夠加載的路徑中。(推薦同IKAnalyzer.cfg.xml 放在一起)
3. IKAnalyzer.cfg.xml 文件的配置
在配置文件中,用戶可一次配置多個詞典文件。文件名使用“;”號分隔。文件路徑爲相對java 包的起始根路徑。
參考:IKAnalyzer中文分詞器V3.2.3使用手冊.pdf (見附件)
4. 同義詞擴展
直接在solr_應用 下 \conf\synonyms.txt
備註: 添加中文在synonyms.txt後,Tomcat啓動報錯,不能讀取文件。
原因:使用SOLR加入中文同義詞需要把synonyms.txt的默認編碼改成與自己系統使用的編碼一致。
例如:你整個系統的編碼都是用UTF-8,那麼你就要把synonyms.txt這個文件的編碼格式轉換成UTF-8。原因是,對某個詞進行同義的時候找到的詞是亂碼,而亂碼在對於的索引中是沒有存在的。這也就導致了中文不可以使用的原因。
解決方法:在eclipse裏把synonyms.txt文件編碼格式轉成UTF-8(系統默認UTF-8),然後再輸入中文同義詞,保存,重啓tomcat,問題解決。