solr8.9.0添加、配置中文分词器IKAnalyzer


一,IKAnalyzer简介

  IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。说白了就是把一句很长的话分成一个一个的词或字以便我们搜索。

二、相关特性:

  1.采用了特有的“正向迭代最细粒度切分算法“,具有60万字/秒的高速处理能力。
  2.采用了多子处理器分析模式,支持:英文字母(IP地址、Email、URL)、数字(日期,常用中文数量词,罗马数字,科学计数法),中文词汇(姓名、地名处理)等分词处理。
  3.对中英联合支持不是很好,在这方面的处理比较麻烦.需再做一次查询,同时是支持个人词条的优化的词典存储,更小的内存占用。
  4.支持用户词典扩展定义。
  5.针对Lucene全文检索优化的查询分析器IKQueryParser;采用歧义分析算法优化查询关键字的搜索排列组合,能极大的提高Lucene检索的命中率。

三、如果之前没添加过Core或者第一次进入此页面要首先添加Core,如下图所示

点击添加后出出错说solrcobfig.xml不存在,打开solrhome后发现里面多了一个collection1的文件夹,这时打开solr安装包下solr(用来当solrhome那个文件夹或者直接去你复制来的本地solrhome里的configsets下就能找到)找到conf文件夹将其整个整个复制到collection1里面。

from:

 to:

然后来到浏览器点击Add Core按钮就可以创建成功了。

四、先来看看不配置中文分词时的效果,它是一个字一个字的分,这样是没有意义的简单说就是分了个寂寞。

五、去maven直接下载相关的ik-analyzer-8.3.0.jar包。

1.网上有很多方法说直接去给个链接去下载,下载后里面有一个jar包一个配置文件xml,两个分词相关dic文件,现在solr已经更新到了版本8,版本9已发布在即,这种方式早已失去了作用。

2.maven下载地址:https://mvnrepository.com/artifact/com.github.magese/ik-analyzer/8.3.0

3.下载后直接复制到tomcat里对应的WEB-INF>lib下

六、添加扩展包(不做此步骤会报ClassNotFoundException)

继续去solr安装包找,在下找到lucene-analyzers-smartcn-8.9.0.jar复制到tomcat里对应的WEB-INF>lib(上图)下。

 七、配置中文分词器,每个ik-analyzer-xxx.jar对应的配置方式不一样,我上面从maven下载的是ik-analyzer-8.3.0.jar版本,这里提供8.3.0版本的配置方式,如果不对应启动tomcat会报异常ClassNotFoundException。

在solrhome>collection1>conf里面找到managed-schema打开配置(之前的旧版本的solr是在schema.xml里面进行配置,新版本8.9.0你会发现并没有这个文件)

 在文件managed-schema里最后面(</schema>标签里面)添加如下代码:

<!-- ik分词器 -->
<!-- ChineseAnalyzer 自带的中文分词器 -->
<fieldType name="text_ik" 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>

八、启动tomcat可以看到分词成功了,不再是之前一个字一个字的分了,出现了词汇。

 

 solr8.9.0的安装部署可查看:https://www.cnblogs.com/smiles365/articles/15269607.html


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM