solr7.7配置中文分词

由于solr原生包对中文分词时会把每个字分成一个词,如下图:
在这里插入图片描述在关键字查询时分词很不适用,所以需要我们手动添加分词jar包。solr有两种中文分词jar包,一种是solr自带的,一种是IKAnalyzer

solr自带分词

将下载的solr目录下的\solr-7.7.2\contrib\analysis-extras\lucene-libs\lucene-analyzers-smartcn-7.7.2.jar文件复制到\solr\WEB-INF\lib下;
修改solrhome文件\solrhome\myCore\conf\managed-schema,这个是你创建的集合的配置文件,路径可能不同,但文件名是相同的,修改如下:

    <!-- solr 自带中文分词 -->
    <fieldType name="text_so" 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>

修改后重启solr,选择你修改的集合,输入测试中文,选刚创建分词类型即可在这里插入图片描述
可以看到上面已经成功把每个词都提取出来了。

IKAnalyzer分词

  1. 首先下载IKAnalyzer分词包

    整理好的分词包
    github

  2. 安装配置

    将下载好的jar包复制到\solr\WEB-INF\lib下
    修改solrhome文件\solrhome\myCore\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>

修改后重启solr,选择你修改的集合,输入测试中文,选刚创建分词类型即可在这里插入图片描述

  1. 配置自己的中文分词规则
    将上步中下载的zip包解压,将除了jar包的三个文件复制到solr的classes目录下
    在这里插入图片描述
    你可以通过修改ext.dic或者stopword.dic文件来配置你想要的分词规则,或者你也可以添加自己的分词文件,把你自己的分词文件加入到配置配置文件IKAnalyzer.cfg.xml中即可在这里插入图片描述
    如你可以把一些游戏名添加分词规则,如上古卷轴,流放者柯南
    配置前
    在这里插入图片描述
    配置后在这里插入图片描述
    你若是从github上下载jar包,要用解压软件打开,把上面说的配置文件复制过去即可在这里插入图片描述
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值