Go to file
magese 9403ef6dd7 UPDATE README.md 2018-12-04 15:35:27 +08:00
img UPDATE README.md 2018-11-15 14:23:33 +08:00
src/main Update LICENSE 2018-11-15 11:05:24 +08:00
.gitignore Initial commit 2018-05-10 13:52:58 +08:00
.travis.yml Add Travis CI properties 2018-11-15 11:22:23 +08:00
LICENSE Update LICENSE 2018-11-15 11:05:24 +08:00
README.md UPDATE README.md 2018-12-04 15:35:27 +08:00
pom.xml Upgrade lucene version to 7.5.0 2018-10-10 08:51:33 +08:00

README.md

ik-analyzer-solr7

ik-analyzer for solr7.x

GitHub version Open Source Love

Crates.io Build Status

GitHub forks GitHub stars

简介

适配最新版本solr7

扩展IK原有词库

分词工具 词库中词的数量 最后更新时间
ik 27.5万 2012年
mmseg 15.7万 2017年
word 64.2万 2014年
jieba 58.4万 2012年
jcesg 16.6万 2018年
sougou词库 115.2万 2018年

将以上词库进行整理后约188.5万条词汇;

添加动态加载字典表功能在不需要重启solr服务的情况下加载新增的字典。

使用说明

  • jar包下载地址GitHub version

  • 历史版本:Central Repository

    <!-- Maven仓库地址 -->
    <dependency>
        <groupId>com.github.magese</groupId>
        <artifactId>ik-analyzer</artifactId>
        <version>7.5.0</version>
    </dependency>
    
  1. 将jar包放入Solr服务的JettyTomcatwebapp/WEB-INF/lib/目录下;

  2. resources目录下的5个配置文件放入solr服务的JettyTomcatwebapp/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服务测试分词

    analyzer

  5. ik.conf文件说明:

    files=dynamicdic.txt
    lastupdate=0
    
    1. files为动态字典列表,可以设置多个字典表,用逗号进行分隔,默认动态字典表为dynamicdic.txt
    2. lastupdate默认值为0,每次对动态字典表修改后请+1不然不会将字典表中新的词语添加到内存中。lastupdate采用的是int类型,不支持时间戳,如果使用时间戳的朋友可以把源码中的int改成long即可; 2018-08-23 已将源码中lastUpdate改为long类型,现可以用时间戳了。
  6. dynamicdic.txt 为动态字典

    在此文件配置的词语不需重启服务即可加载进内存中;

更新说明

  • 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

BUG & 疑问 & 其它

如果您在使用过程中遇到了BUG或者有不清楚的地方请挂ISSUE或者联系作者magese@live.cn

如果您觉得该项目对您有帮助,请别忘记给这个项目一个star

forthebadge