zoukankan      html  css  js  c++  java
  • Solr入门之(8)中文分词器配置

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

    一、IKAnalyzer分词器配置

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

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

      3、在${solr_home}/[core路径下]/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分词器: 

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

     

     

     

  • 相关阅读:
    js的BOM对象完全解析
    转:JavaScript中的this陷阱的最全收集
    转载:冷门js技巧
    MVVM的架构设计与团队协作 with StoryBoard
    ReactiveCocoa & FRP & MVVM
    ReactiveCocoa的冷信号与热信号 探讨
    Git本地项目上传 & SourceTree & GitHub 简单使用
    Monad / Functor / Applicative 浅析
    map & flatMap 浅析
    Swift -> Let & Var 背后编程模式 探讨
  • 原文地址:https://www.cnblogs.com/tq03/p/3607964.html
Copyright © 2011-2022 走看看