solr7.4 配置ikanalyzer和自带的中文分词器

一般解决分词问题会选择ikanalyzer,因为相对来说ikanalyzer更新的比较的好, solr7 本身提供中文的分词jar包,在此一并讲一下。solr7.4安装请移步 solr7.4安装
使用ikanalyzer分词
1、先下载solr7版本的ik分词器,下载地址:http://search.maven.org/#search%7Cga%7C1%7Ccom.github.magese
分词器GitHub源码地址:https://github.com/magese/ik-analyzer-solr7

这里写图片描述

将下载好的jar包放入solr-7.4.0/server/solr-webapp/webapp/WEB-INF/lib目录中

2、复制新项目的配置文件

cd /root/tar/solr-7.4.0
mkdir server/solr/ik
cp -r server/solr/configsets/_default/conf  server/solr/ik/

3、 然后到server/solr/ik/conf目录中打开managed-schema文件,增加如下代码

<!-- 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

bin/solr restart -force

5、新增项目ik
访问项目 http://192.168.3.150:8983
这里写图片描述

solr7自带分词中文分词器
1、复制jar包

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

2、复制新项目的配置文件

cd /root/tar/solr-7.4.0
mkdir server/solr/test
cp -r server/solr/configsets/_default/conf  server/solr/test/

3、 然后到server/solr/test/conf目录中打开managed-schema文件,增加如下代码

<fieldType name="text_hmm_chinese" class="solr.TextField" positionIncrementGap="100">
        <analyzer type="index">
            <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
        </analyzer>
        <analyzer type="query">
            <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
        </analyzer>
    </fieldType>

4、重启solr

扫描二维码关注公众号,回复: 2393721 查看本文章
bin/solr restart -force

5、新增项目test
访问项目 http://192.168.3.150:8983

这里写图片描述

对比两个分词的效果
IK分词器

这里写图片描述

自带分词

这里写图片描述

个人感觉IK的语义分析更好些,如有不同意见或建议,欢迎回复。

猜你喜欢

转载自blog.csdn.net/guyan0319/article/details/81188977