solr中mmseg4j自訂詞庫配置

來源:互聯網
上載者:User
  1. mmseg4j是一個比較流行的中文分詞,具體介紹見:http://code.google.com/p/mmseg4j/
  2. schema.xml 設定檔:
<fieldType name="textComplex" class="solr.TextField" positionIncrementGap="100" >         <analyzer>                 <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="/data/web/search_cores/multicore/dic"/>                         <filter class="solr.LowerCaseFilterFactory"/>                         <filter class="com.chenlb.mmseg4j.solr.CutLetterDigitFilterFactory"/>         </analyzer>    </fieldType>    <fieldType name="textMaxWord" class="solr.TextField" positionIncrementGap="100" >         <analyzer>                 <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" dicPath="dic"/>                         <filter class="solr.LowerCaseFilterFactory"/>         </analyzer>    </fieldType>    <fieldType name="textSimple" class="solr.TextField" positionIncrementGap="100" >         <analyzer>                 <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="dic"/>                         <filter class="solr.LowerCaseFilterFactory"/>         </analyzer>    </fieldType>     

         主要是紅色部分(dicPath="/data/web/search_cores/multicore/dic"/>),可以使用相對solr.home的地址,或者絕對位址。經過分析mmseg4j原始碼發現,如果不指定就是預設在 CWD/data 目錄(程式運行目前的目錄的data子目錄)下找.如果填的是相對位址,則是相對solr.home的路徑。當然,最好使用絕對位址,相對的容易出錯,不好debug。

  1. resin伺服器配置的solr.home:
                            <web-app id="/" document-directory="/data/web/projects/xiaozhao-solr">                                 <stdout-log path="/data/logs/zhaopin-resin_solr-stdout.log" timestamp="[%H:%M:%S.%s]" rollover-period="1D"/>                                 <stderr-log path="/data/logs/zhaopin-resin_solr-stderr.log" timestamp="[%H:%M:%S.%s]" rollover-period="1D"/>                                 <character-encoding>utf-8</character-encoding>                                 <env-entry>                                     <env-entry-name>solr/home</env-entry-name>                                     <env-entry-type>java.lang.String</env-entry-type>                                     <env-entry-value>/data/web/search_cores/multicore</env-entry-value>                                </env-entry>                        </web-app>
  1.  不加詞庫效果如下:

           

  1. 自訂詞庫只要放到/data/web/search_cores/multicore/dic目錄下,以words開頭,dic結尾,每行一個詞即可。如:words-my.dic    
白雲山IBM3二次修改

         加入自訂詞後分詞效果如下:

        

從可以看出,自訂詞庫已經生效。

          遺留問題:加入英文字母后,分詞效果仍沒有,目前只對中文分詞生效,英文如果想對單個字母分詞,需要進一步分析。有知道的朋友,歡迎留言~

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.