solr7 ik中文分词器 动态加载(热更新)扩展词字典表(词库)

本文内容:
最简单的配置solr+ik分词器,在不重启solr服务的情况下,动态加载扩展词字典表到内存中,以达到热更新扩展词字典的作用。

 

零、测试环境

测试系统:win7
solr版本:7.4.0
ik版本:7.4.0
ik分词器maven仓库地址:

<dependency>
    <groupId>com.github.magese</groupId>
    <artifactId>ik-analyzer</artifactId>
    <version>7.4.0</version>
</dependency>

Maven中央仓库jar包下载地址:IK Analyzer Solr7

 

一、solr环境搭建,配置IK中文分词器。

如何配置solr及ik分词器请参考我上一篇博客:solr7.3 环境搭建 配置中文分词器 ik-analyzer-solr7 详细步骤

 

二、准备配置文件

将之前下载好的jar包里的5个配置文件全部copy到solr服务的jetty或tomcat的webapp/WEB-INF/classes/目录下;

如果WEB-INF目录下没有classes目录,手动创建一个即可;

 

三、配置文件说明

IKAnalyzer.cfg.xml
ext.dic
stopword.dic

以上三个配置文件是IK分词器默认自带的;

IKAnalyzer.cfg.xml是配置扩展词字典表以及停用词字典表名称,ext.dic与stopword.dic分别就是扩展词和停用词字典表文件;

 

ik.conf
dynamicdic.txt

这两个配置文件是动态加载扩展词字典表的关键!!!

ik.conf文件说明:

files=dynamicdic.txt
lastupdate=0

files为动态字典列表,可以设置多个字典表,用逗号进行分隔,默认动态字典表为dynamicdic.txt;

lastupdate默认值为0,每次对动态字典表修改后请+1,不然不会将字典表中新的词语添加到内存中,lastupdate采用的是int类型,不支持时间戳,如果使用时间戳的朋友可以把源码中的int改成long即可;

dynamicdic.txt 为动态字典,在此文件配置的词语不需重启服务即可加载进内存中;

 

四、测试效果

到这配置已经完成了,接下来启动solr来测试一下效果;

启动solr到分析页面选择IK分词器,来测试一下未配置扩展词时"黑夜给了我黑色的眼睛"被分成了"黑夜", "给了我", "黑色", "眼睛"四个词;

接下来我们打开动态扩展词字典dynamicdic.txt,将"黑夜给了我黑色的眼睛"文件中保存;

这个时候扩展词还是没有生效的,不要忘了把ik.conf配置文件中的lastupdate+1;

大功告成,修改lastupdate值保存后刷新分析页面,就可以看到扩展词已经生效了!

 

https://github.com/magese/ik-analyzer-solr7
最后放一下github源码地址,有帮助到你的请给个star吧!
如果有想讨论或有任何疑问欢迎评论留言,up看到会第一时间回复的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值