为solr添加中文分词器

来源:互联网 发布:慢走丝编程软件 编辑:程序博客网 时间:2024/05/17 23:06

上一篇文章介绍了怎么在windows系统中配置solr,下面为solrt添加中文分词器

  1. 下载
    由于中文分词器的jar包官网已经不再发布,可以从maven 库中下载
    maven 中下载的jar包不知道是不适合solr4.7.2还是配置方式不对,一直没有配置成功。后来自己从csdn上下载和mmseg4j-1.9.1后配置成功。
    中文分词器的jar包 百度云下载地址 http://pan.baidu.com/s/1jGpFBPs

  2. 配置

    1.将下载好的mmseg4j-1.9.1的jar包放到tomcat下的webapps\lsolr\WEB-INF\lib下面
    注: 这个版本的mmseg4j-analysis-1.9.1.jar有bug需要从这里http://pan.baidu.com/s/1pJHpK2B后替换掉原有的jar包

    1. 修改solr\home\collection1\conf下的schema.xml
      在 标签内加入
  <fieldType name="text_mmseg4j_complex" class="solr.TextField" positionIncrementGap="100" >      <analyzer>        <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="dic"/>      </analyzer>    </fieldType>    <fieldType name="text_mmseg4j_maxword" class="solr.TextField" positionIncrementGap="100" >      <analyzer>        <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" dicPath="dic"/>      </analyzer>    </fieldType>    <fieldType name="text_mmseg4j_simple" class="solr.TextField" positionIncrementGap="100" >      <analyzer>        <!--      <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="n:/OpenSource/apache-solr-1.3.0/example/solr/my_dic"/>       -->      <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="dic"/>         </analyzer>    </fieldType>

其中 text_mmseg4j_complex 就是中文分词器的名字如果想让那个field使用中文分词器可以这个做
在标签中有许多子标签例如

<field name="title" type="text_general" indexed="true" stored="true" multiValued="true"/>

把type=”text_general”改为type=”text_mmseg4j_complex”后这个field就会使用中文分词器
这里写图片描述

0 0