solr建立中文分詞
背景,solr 帶有一個默認的分詞,但是對中文支撐不好 ,比如:你好 自帶的話,是拆成 你,和 好 兩個字,但是實際對中國人,中文的含義 應該是 你好,因此為了對中文更好的支撐,引用第三方 庫支撐 現在第三方庫,支撐比較多的,有 庖丁,mmseg4j 等,
我目前使用的是 mmseg4j ,配置方法,入下,很簡單
1:首先要下載 mmseg4j 的jar, google一下,很多,將下載下來的jar,解壓,里面dist里面有三個mmseg4j jar 拷貝到 solr服務端的web-info 目錄下的lib目錄下面
2:配置solr-schame.xml
一:配置fieldType 字段類型 ,表示這個字段類型引用那種分詞
<fieldType name="textComplex" class="solr.TextField" positionIncrementGap="100" >
<analyzer>
<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="dic"/>
<filter class="solr.LowerCaseFilterFactory"/>
</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" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
二:有了字段類型,自然,就是 配置字段,字段是某個字段類型,
<field name="picDesc" type="textSimple" indexed="true" stored="true"/>
<field name="picUrl" type="textComplex" indexed="true" stored="true"/>
三:可以配置copyField 也可以不配置
這樣,就支撐了 對picDesc,picUrl兩個字段的中文分詞