美文网首页
solr4 中文分词配置

solr4 中文分词配置

作者: 朝圣的路上 | 来源:发表于2016-08-06 13:02 被阅读411次

    关于solr的安装和配置不详述,网上都有。重点说下中文分词。
    初学者可直接使用solr自带的中文分词器,smartcn. 下面讲配置方法。我的版本是solr4.10.4

    1. 拷贝$SOLR_HOME/contrib/analysis-extras/lucene-libs/lucene-analyzers-smartcn-4.10.4.jar 到$SOLR_HOME/example/solr-webapp/webapp/WEB-INF/lib. 如果这里拷贝路径发生错误,启动的时候会提示你类似下面的错误;

    error loading Smart SmartChineseSentenceTokenizerFactory...

    1. 接下来配置$SOLR_HOME/example/solr/collection1/conf/schema.xml文件,主要添加两处地方;
    <fieldType name="text_smart" class="solr.TextField" positionIncrementGap="100">  
           <analyzer type="index">
    
            <tokenizer class="org.apache.lucene.analysis.cn.smart.SmartChineseSentenceTokenizerFactory"/>
    
            <filter class="org.apache.lucene.analysis.cn.smart.SmartChineseWordTokenFilterFactory"/>
    
          </analyzer>
    
          <analyzer type="query">
    
             <tokenizer class="org.apache.lucene.analysis.cn.smart.SmartChineseSentenceTokenizerFactory"/>
    
            <filter class="org.apache.lucene.analysis.cn.smart.SmartChineseWordTokenFilterFactory"/>
    
          </analyzer>
           
        </fieldType>
    

    这个是配置分词器

    <field name="text" type="text_smart" indexed="true" stored="true" multiValued="true"/>
    

    这里是配置field name. 注意,一定要搞清楚什么是field name. 当启动solr的时候,选中controller会有analysis选项。


    solr.png

    这里红色标记的就是field name. 所以,你可以随意标记你的field name. 如果你标记为text,或者和其他field name同名. 请注释掉其他同名的filed name设置。我就是开始设置了一个其他名字的filed name。然后用的时候没选择这个filed name。导致我一直以为没有设置成功。还以为是下面这个warning的问题,一直改配置。

    org.apache.solr.core.SolrResourceLoader; Solr loaded a deprecated plugin/analysis class [org.apache.lucene.analysis.cn.smart.SmartChineseSentenceTokenizerFactory]. Please consult documentation how to replace it accordingly.
    

    相关文章

      网友评论

          本文标题:solr4 中文分词配置

          本文链接:https://www.haomeiwen.com/subject/htpksttx.html