针对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
由于存在版本兼容问题,根据官网提示需下载,如下版本:
- mmseg4j-solr-2.3.0.jar 要求 lucene/solr [5.0, ]
下载mmseg4j-solr:http://pan.baidu.com/s/1dD7qMFf#path=%252Fmmseg4j-solr
将下载的mmseg4j-core-1.10.0.jar和mmseg4j-solr-2.3.0.jar复制到tomcat/webapp/solr的工程的lib下面:
配置分词,修改schema.xml配置,末尾增加如下:
<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 的参数:
dicPath 参数 - 设置自定义的扩展词库,支持相对路径(相对于 solr_home).
mode 参数 - 分词模式。
配置field:
<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。
查看分词效果:
1.打开solr服务器主页, http://192.168.18.119:9080/solr/
2.选择test
3.选择Analysis
4.选择使用的字段,需要为应用了新类型的字段
5.点击右侧的Analyse Values提交即可查看分词效果
参考文章:
1.打开solr服务器主页, http://192.168.18.119:9080/solr/
2.选择test
3.选择Analysis
4.选择使用的字段,需要为应用了新类型的字段
5.点击右侧的Analyse Values提交即可查看分词效果
参考文章: