针对Solr的分词器比较多,其中最常用的的两个是mmseg4j和ik-analyzer,使用都很方便,关于分成器的比较参考:与Lucene 4.10配合的中文分词比较,ik-analyzer最新版本IKAnalyzer2012FF_u1与最新版本solr有兼容问题,由于我们使用的solr是5.2.1,下面外面以mmseg4j为例演示一下solr配置:
mmseg4j官网:https://github.com/chenlb/mmseg4j-solr
由于存在版本兼容问题,根据官网提示需下载,如下版本:
<fieldtype name="textComplex" class="solr.TextField" positionIncrementGap="100"> <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" /> </analyzer> </fieldtype> <fieldtype name="textMaxWord" class="solr.TextField" positionIncrementGap="100"> <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" /> </analyzer> </fieldtype> <fieldtype name="textSimple" class="solr.TextField" positionIncrementGap="100"> <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" /> </analyzer> </fieldtype>tokenizer 的参数:
<field name="name" type="textComplex" indexed="true" stored="true" /> <field name="age" type="int" indexed="false" stored="true" /> <field name="desc" type="textComplex" indexed="true" stored="true" /> <field name="context" type="textComplex" indexed="true" stored="false" multiValued="true"/>重启tomcat。