1. 程式人生 > >SolrCloud-5.5.1配置中文分詞ansj-3.4.6

SolrCloud-5.5.1配置中文分詞ansj-3.4.6

今天分享一下這兩天倒持的給solr5.5.1配置中文分詞的一些事項,本人剛剛開始研究SolrCloud,比照網上的教程與自己親身試驗的總結一下,通過這兩天的折騰覺得找對匹配的版本是頂頂重要的一件事。
首先按照網上的教程來:
第一步,下載ansj的最新原始碼以及jar包,最新的是ansj-5.0.4-all-in-one.jar
第二步,plugin下重新編譯ansj_lucene5_plugin外掛,這個地方網上大多編譯的是ansj_lucene4_plugin,本人windows上試了下,沒有編譯成功,然後solr基於lucene,所以覺得兩者版本應該對應的,又選擇了ansj_lucene5_plugin進行編譯打包,然後還是沒成功。
果斷放棄了最新版,根據網上資料,看到ansj-3.7.5有成功的,於是又下載了ansj-3.7.5這個版本的分詞包與原始碼,linux系統下編譯了ansj_lucene5_plugin成功。
具體步驟:
1. 下載ansj的jar包,選擇ansj_seg-3.4.5-all-in-one.jar
2. github下載.zip的原始碼,解壓,編譯ansj_lucene5_plug(對應solr5)
進入解壓目錄:ansj_seg-master\plug\ansj_lucene5_plug,執行指令mvn clean install -DskipTests=true ,生成jar包ansj_lucene5_plug-3.4.5.jar
3. 新建一個工程,重寫TokenizerFactory,網上有現成的,最新版的ansj-5.0.4-all-in-one.jar的plugin檔案下,有關於solr4的一個外掛,裡面也有寫好的TokenizerFactory,這個時候需要倒匯入剛剛生成的jar包ansj_lucene5_plug-3.4.5.jar,除此還需要solrJ的一些jar,然後匯出jar—TokenizerFactor.jar
將分詞外掛及依賴的jar包放到/solr5.5.1/server/solr-webapp/webapp/WEB-INF/lib目錄下:
ansj_lucene5_plug-3.7.5.jar
ansj_seg-3.4.5-all-in-one.jar
ansj_lucene5_plug-3.4.5.jar

  1. 更改配置檔案

    在schema中配置擴充套件分詞的fieldType:







  2. 拷貝ansj分詞相關檔案到server/resource下面:主要是library.properties,當然,library與train_file本人也拷貝進去了,也有將這些拷貝到WEB-INF/classes目錄下的,暫時沒研究之間的影響。

經過上述的配置,重啟了solr,然後測試了下,確實可以分詞了。