ae832800dd | ||
---|---|---|
src/main | ||
.gitignore | ||
README.md | ||
pom.xml |
README.md
ik-analyzer-solr7
ik-analyzer for solr7.x
适配最新版solr7,并添加动态加载字典表功能; 在不需要重启solr服务的情况下加载新增的字典。
使用说明:
-
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" isMaxWordLength="false" useSmart="false" conf="ik.conf"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> <analyzer type="query"> <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" isMaxWordLength="true" useSmart="true" conf="ik.conf"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> </fieldType> -
4. 启动solr服务测试分词;
-
5. ik.conf文件说明:
files=dynamicdic.txt
files为动态字典列表,可以设置多个字典表,用逗号进行分隔,默认动态字典表为dynamicdic.txt;
lastupdate=0
lastupdate默认值为0,每次对动态字典表修改后请+1,不然不会将字典表中新的词语添加到内存中,lastupdate采用的是int类型,不支持时间戳,如果使用时间戳的朋友可以把源码中的int改成long即可;
-
5-dynamicdic.txt 为动态字典,在此文件配置的词语不需重启服务即可加载进内存中;
有问题可以联系作者邮箱magese@live.cn;
欢迎大家一起交流~