solr中使用IKAnalysizer 基於配置的自定義詞典擴充

 

基於配置的詞典擴充

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,問題解決。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章