solr4.x虽然提供了分词器,但不太适合对中文的分词,给大家推荐一个中文分词器mmseg4j

mmseg4j的下载地址:https://code.google.com/p/mmseg4j/

通过以下几步就可以把mmseg4j分词器集成到solr中:

1、解压mmseg4j-1.9.1.zip,把dist下面的所有jar文件拷贝到你应用服务器下的solr/WEB-INF/lib中(如果你的应用服务器下面没有solr,请参考《solr部署到tomcat》)。

2、拷贝data到solr_home/solr中(与core文件平级),并改名为dic(请参考《solr部署到tomcat》)

3、进入到你想使用mmseg4j分词器的core中(此处以solr自带的collection1为例),用编辑器打开collection1/conf/schema.xml配置文件,添加如下代码:

<!-- mmseg4j分词器 -->
 <fieldType name="text_mmseg4j" class="solr.TextField" >
 <analyzer type="index">
 <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="../dic" /><!--此处为分词器词典所处位置-->
 </analyzer>
 <analyzer type="query">
 <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="../dic" /><!--此处为分词器词典所处位置-->
 </analyzer>
 </fieldType>

4、引用mmseg4j分词器

上面我们已经定义了mmseg4j分词器,如何引用呢?

用编辑器打开collection1/conf/schema.xml配置文件,找到<fields>…</fields>,修改需要使用中文分词的字段,type=”text_mmseg4j”

<fields>
.......//省略
<field name="name" type="text_mmseg4j" indexed="true" stored="true" />
</fields>

通过以上步骤就可以成功配置mmseg4j分词器到solr中了。


本文转载:CSDN博客