rgbnj 发表于 2014-3-19 11:23:05

Solr入门之(8)中文分词器配置

Solr中虽然提供了一个中文分词器,但是效果很差,可以使用IKAnalyzer或Mmseg4j 或其他中文分词器。

一、IKAnalyzer分词器配置:

  1、下载IKAnalyzer(IKAnalyzer2012_u6)包,当前使用版本IKAnalyzer2012_u6.jar

  2、将IKAnalyzer2012_u6包下的IKAnalyzer.cfg.xml和stopword.dic复制到solr应用/WEB-INF/classes下。

  3、在${solr_home}//conf/schema.xml中增加一个自定义fieldType:


<!-- 中文IK分词 -->
    <fieldType name="text_ik_analyzer" positionIncrementGap="100" class="solr.TextField">
      <analyzer type="index">
            <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory"/>
            <filter class="solr.StopFilterFactory" enablePositionIncrements="true" words="stopwords.txt" ignoreCase="true"/>
            <filter class="solr.WordDelimiterFilterFactory" splitOnCaseChange="1" catenateAll="0" catenateNumbers="1" catenateWords="1" generateNumberParts="1" generateWordParts="1"/>
            <filter class="solr.LowerCaseFilterFactory"/>
            <filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt"/>
            <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
      </analyzer>
      <analyzer type="query">
            <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory"/>
            <filter class="solr.SynonymFilterFactory" ignoreCase="true" expand="true" synonyms="synonyms.txt"/>
            <filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/>
            <filter class="solr.WordDelimiterFilterFactory" splitOnCaseChange="1" catenateAll="0" catenateNumbers="0" catenateWords="0" generateNumberParts="1" generateWordParts="1"/>
            <filter class="solr.LowerCaseFilterFactory"/>
            <filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt"/>
            <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
      </analyzer>
    </fieldType>



  4、在schema.xml中增加一个字段:

<field name="test_ik_field" type="text_ik_analyzer" indexed="true" stored="true" termVectors="true" termPositions="true" termOffsets="true" />


  5、启动solr应用,即可在客户端界面查看分词效果。



  



二、Mmseg4j分词器:

配置方式与上面类似,暂时未定义。

页: [1]
查看完整版本: Solr入门之(8)中文分词器配置