针对Solr的分词器比较多,其中最常用的的两个是mmseg4j和ik-analyzer,至于他们的区别可以网上查找比较下,这两个分词器都挺好用。我搭建的Solr环境(上一篇 http://www.linuxidc.com/Linux/2015-01/112393.htm)是4.10.3的最新版本,以下将详细说下mmseg4j的配置。
1.首先下载对应的jar包。
版本号一定要对应上否则可能会报错,下载地址为:http://code.google.com/p/mmseg4j/ 但是这个网址好像需要翻墙,所以大家可以到我的上传资源下载:http://download.csdn.net/download/tjcyjd/8394095 。
2.将jar包拷贝到服务器solr的lib包下。
三个包:mmseg4j-solr-2.2.0.jar,mmseg4j-analysis-1.9.1.jar,mmseg4j-solr-2.2.0.jar
3.配置schema.xml。
schema.xml的配置也挺简单,首先需要在schema.xml文件中配置一个fieldType节点,如下:
<!-- mmseg4j --> <fieldType name="text_zh" class="solr.TextField" positionIncrementGap="100"> <span style="white-space:pre"> </span><analyzer> <span style="white-space:pre"> </span><tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" /> <span style="white-space:pre"> </span></analyzer> </fieldType>
然后就可以在field节点中引用该filedType了,假设你有个字段叫my_content需要支持中文分词,只需要定义示例filed节点如下:
<field name="my_content" type="text_zh" indexed="true" stored="false" multiValued="true"/>
4.重启Solr服务器。
5.测试。
浏览器输入地址:http://localhost:8080/solr/
解析“有什么好的电影推荐吗”的效果如下图: