SpringBoot + Solr8.5.1

环境信息

solr - solr-8.5.1

tomcat-tomcat-8.5.55

IKAnalyzer-ik-analyzer-8.3.0

安装solr

linux服务器搭载Solr,以及在Tomcat中部署Solr,参考:传送门

界面创建 Core Admin 时出现错误:

 Can't find resource 'solrconfig.xml' in classpath or '/usr/local/solr/solr-8.5.1/solr-home/new_core'

或者 Can't find resource 'schema.xml' in classpath or '/usr/local/solr/solr-8.5.1/solr-home/new_core

解决方法:先复制,然后重启tomcat

cp /usr/local/solr/solr-8.5.1/server/solr/configsets/_default/conf /usr/local/solr/solr-8.5.1/solr-home/new_core/ -r

集成IK分词器

1.下载分词jar包,github地址

官方教程:

单机版Solr

  1. 将jar包放入Solr服务的JettyTomcatwebapp/WEB-INF/lib/目录下;

  2. resources目录下的5个配置文件放入solr服务的JettyTomcatwebapp/WEB-INF/classes/目录下 (注1);

    ① IKAnalyzer.cfg.xml
    ② ext.dic
    ③ stopword.dic
    ④ ik.conf
    ⑤ dynamicdic.txt
  3. 配置Solr的managed-schema,添加ik分词器,示例如下(注2);

    <!-- ik分词器 -->
    <fieldType name="text_ik" class="solr.TextField">
      <analyzer type="index">
          <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" conf="ik.conf"/>
          <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
      <analyzer type="query">
          <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/>
          <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
    </fieldType>

     

  4. 启动Solr服务测试分词;

  5. IKAnalyzer.cfg.xml配置文件说明:

    名称类型描述默认
    use_main_dictboolean是否使用默认主词典true
    ext_dictString扩展词典文件名称,多个用分号隔开ext.dic;
    ext_stopwordsString停用词典文件名称,多个用分号隔开stopword.dic;
  6. ik.conf文件说明:

    files=dynamicdic.txt
    lastupdate=0
    1. files为动态词典列表,可以设置多个词典表,用逗号进行分隔,默认动态词典表为dynamicdic.txt
    2. lastupdate默认值为0,每次对动态词典表修改后请+1,不然不会将词典表中新的词语添加到内存中。lastupdate采用的是int类型,不支持时间戳,如果使用时间戳的朋友可以把源码中的int改成long即可; 2018-08-23 已将源码中lastUpdate改为long类型,现可以用时间戳了。
  7. dynamicdic.txt 为动态词典

    在此文件配置的词语不需重启服务即可加载进内存中。 以#开头的词语视为注释,将不会加载到内存中。

注1:此版本的jar种这个文件并没有在resource文件夹下,打开即可看到,如图:

注2:managed-schema文件的路径:/usr/local/solr/solr-8.5.1/solr-home/new_core/conf  

 

集成IK分词器

下载pinyin

下载地址:https://pan.baidu.com/s/1FVYwpBQ4UOu1X8kgTqDIhQ

提取码:yn2q

下载后将2个jar文件放置到  /usr/local/solr/apache-tomcat-8.5.55/webapps/solr8/WEB-INF/lib  目录下 ,

然后修改core的配置文件:managed-schema,添加:

<!--拼音分词-->
    <fieldType name="text_pinyin" class="solr.TextField" positionIncrementGap="0">
        <analyzer type="index">
            <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory"/>
            <filter class="com.shentong.search.analyzers.PinyinTransformTokenFilterFactory" minTermLenght="2" />
            <filter class="com.shentong.search.analyzers.PinyinNGramTokenFilterFactory" minGram="1" maxGram="20" />
        </analyzer>
        <analyzer type="query">
            <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory"/>
            <filter class="com.shentong.search.analyzers.PinyinTransformTokenFilterFactory" minTermLenght="2" />
            <filter class="com.shentong.search.analyzers.PinyinNGramTokenFilterFactory" minGram="1" maxGram="20" />
        </analyzer>
    </fieldType>

效果如图:

重启tomcat,访问solr,结果如图:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值