• Solr5.0配置中文分词包


    Solr中默认的中文分词是用Lucene的一元分词包。 现在说明在Solr5.0中配置Lucene的SmartCN中文分词包。

    1,进入Solr的安装目录,我这里是:/root/nutch/solr-5.0.0 
    把contrib/analysis-extras/lucene-libs/lucene-analyzers-smartcn-5.0.0.jar包复制到solr的启动目录的lib目录下。

    1. # cp ./contrib/analysis-extras/lucene-libs/lucene-analyzers-smartcn-5.0.0.jar ./server/solr-webapp/webapp/WEB-INF/lib/

    2,修改managed-schema配置文件。此文件在/root/nutch/solr-5.0.0/server/solr/mycore1/conf目录下,其中mycore1是建立的core名称。 
    在/root/nutch/solr-5.0.0/server/solr/mycore1/conf/managed-schema配置文件中添加如下信息:#vi managed-schema 

    在schema.xml 文件的接近末尾的地方增加我们的字段类型的

    1. <fieldType name="text_smart" class="solr.TextField" positionIncrementGap="100">
    2. <analyzer type="index">
    3. <!-- 此处需要配置主要的分词类 -->
    4. <tokenizer class="solr.SmartChineseSentenceTokenizerFactory"/>
    5. <!--
    6. <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
    7. <filter class="solr.LowerCaseFilterFactory"/>
    8. -->
    9. <!-- in this example, we will only use synonyms at query time
    10. <filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
    11. -->
    12.  
    13. <filter class="solr.SmartChineseWordTokenFilterFactory"/>
    14.  
    15. </analyzer>
    16. <analyzer type="query">
    17. <!-- 此处配置同上 -->
    18. <tokenizer class="solr.SmartChineseSentenceTokenizerFactory"/>
    19. <!--
    20. <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
    21. <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
    22. <filter class="solr.LowerCaseFilterFactory"/>
    23. -->
    24. <filter class="solr.SmartChineseWordTokenFilterFactory"/>
    25.  
    26. </analyzer>
    27. </fieldType>

    字段需要使用text_smartcn的 就是用下面的语句,比如我的是content字段


    <field name="content" type="text_smartcn" indexed="true" stored="true"/>

    3,重启solr服务 

    1. # ./bin/solr restart
    2. Sending stop command to Solr running on port 8983 ... waiting 5 seconds to allow Jetty process 50325 to stop gracefully.
    3. Waiting to see Solr listening on port 8983 []
    4. Started Solr server on port 8983 (pid=50745). Happy searching!


    4,验证 
    用SmartCN的分词。 
    Solr5.0配置中文分词包,by 5lulu.com

    Solr默认的分词。 
    Solr5.0配置中文分词包,by 5lulu.com

  • 相关阅读:
    Java多线程初学者指南(5):join方法的使用
    Java多线程初学者指南(4):线程的生命周期
    使用Runnable接口创建线程-3
    用Thread类创建线程-2
    线程简介-1
    Struts, Namespace用法
    多线程编程
    算法实例
    java 堆与栈的区别
    Spring AOP EXPRESSION
  • 原文地址:https://www.cnblogs.com/hyl8218/p/5595025.html
Copyright © 2020-2023  润新知