3.4 KiB
3.4 KiB
ik-analyzer-solr7
ik-analyzer for solr7.x
IKAnalyzer的原作者为林良益(linliangyi2007@gmail.com),项目网站为http://code.google.com/p/ik-analyzer/
适配最新版solr7,并添加动态加载字典表功能;
在不需要重启solr服务的情况下加载新增的字典。
更新说明
- 2018-10-10: 升级lucene版本为7.5.0
- 2018-09-03: 优化注释与输出信息,取消部分中文输出避免不同字符集乱码,现会打印被调用inform方法的hashcode
- 2018-08-23:
⑴完善了动态更新词库代码注释;
⑵将ik.conf配置文件中的lastUpdate属性改为long类型,现已支持时间戳形式- 2018-08-13: 更新maven仓库地址
- 2018-08-01: 移除默认的扩展词与停用词
- 2018-07-23: 升级lucene版本为7.4.0
使用说明:
- jar包下载地址:ik-analyzer-7.5.0.jar
- 历史版本:Central Repository
<!-- Maven仓库地址 --> <dependency> <groupId>com.github.magese</groupId> <artifactId>ik-analyzer</artifactId> <version>7.5.0</version> </dependency>
-
1. 将jar包放入solr服务的jetty或tomcat的webapp/WEB-INF/lib/目录下;
-
2. 将resources目录下的5个配置文件放入solr服务的jetty或tomcat的webapp/WEB-INF/classes/目录下;
①IKAnalyzer.cfg.xml ②ext.dic ③stopword.dic ④ik.conf ⑤dynamicdic.txt
-
3. 配置solr的managed-schema,添加ik分词器,示例如下;
<!-- 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. ik.conf文件说明:
files=dynamicdic.txt lastupdate=0
files为动态字典列表,可以设置多个字典表,用逗号进行分隔,默认动态字典表为dynamicdic.txt;
lastupdate默认值为0,每次对动态字典表修改后请+1,不然不会将字典表中新的词语添加到内存中。
lastupdate采用的是int类型,不支持时间戳,如果使用时间戳的朋友可以把源码中的int改成long即可;2018-08-23 已将源码中lastUpdate改为long类型,现可以用时间戳了。
-
5-dynamicdic.txt 为动态字典,在此文件配置的词语不需重启服务即可加载进内存中;
有问题可以联系作者邮箱magese@live.cn;
欢迎大家一起交流~