ik-analyzer-solr

ik-analyzer for solr 7.x-8.x

Github星跟蹤圖

ik-analyzer-solr

ik-analyzer for solr 7.x-8.x

GitHub version
Open Source Love
Crates.io
Build Status
HitCount

GitHub forks
GitHub stars

简介

适配最新版本solr 7&8;

扩展IK原有词库:, 分词工具, 词库中词的数量, 最后更新时间, :------:, :------:, :------:, ik, 27.5万, 2012年, mmseg, 15.7万, 2017年, word, 64.2万, 2014年, jieba, 58.4万, 2012年, jcesg, 16.6万, 2018年, sougou词库, 115.2万, 2019年, #### 将以上词库进行整理后约187.1万条词汇;

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

使用说明

  • jar包下载地址:GitHub version

  • 历史版本:GitHub version

    <!-- Maven仓库地址 -->
    <dependency>
        <groupId>com.github.magese</groupId>
        <artifactId>ik-analyzer</artifactId>
        <version>8.3.0</version>
    </dependency>
    

Solr-Cloud

单机版Solr

  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. IKAnalyzer.cfg.xml配置文件说明:, 名称, 类型, 描述, 默认, :------:, :------:, :------:, :------:, use_main_dict, boolean, 是否使用默认主词典, true, ext_dict, String, 扩展词典文件名称,多个用分号隔开, ext.dic;, ext_stopwords, String, 停用词典文件名称,多个用分号隔开, stopword.dic;, 6. 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 为动态词典

    在此文件配置的词语不需重启服务即可加载进内存中。
    #开头的词语视为注释,将不会加载到内存中。

更新说明

  • 2019-11-12:
    • 升级lucene版本为8.3.0
    • IKAnalyzer.cfg.xml增加配置项use_main_dict,用于配置是否启用默认主词典
  • 2019-09-27: 升级lucene版本为8.2.0
  • 2019-07-11: 升级lucene版本为8.1.1
  • 2019-05-27:
    • 升级lucene版本为8.1.0
    • 优化原词典部分重复词语
    • 更新搜狗2019最新流行词汇词典,约20k词汇量
  • 2019-05-15: 升级lucene版本为8.0.0,并支持Solr8使用
  • 2019-03-01: 升级lucene版本为7.7.1
  • 2019-02-15: 升级lucene版本为7.7.0
  • 2018-12-26:
    • 升级lucene版本为7.6.0
    • 兼容solr-cloud,动态词典配置文件及动态词典可交由zookeeper进行管理
    • 动态词典增加注释功能,以#开头的行将视为注释
  • 2018-12-04: 整理更新词库列表magese.dic
  • 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

感谢 Thanks

IDEA

forthebadge

BUG & 疑问 & 其它

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

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

主要指標

概覽
名稱與所有者magese/ik-analyzer-solr
主編程語言Java
編程語言Java (語言數: 1)
平台
許可證Other
所有者活动
創建於2018-05-10 05:53:09
推送於2024-02-19 01:29:26
最后一次提交2022-01-04 10:36:49
發布數11
最新版本名稱v8.5.0 (發布於 )
第一版名稱v7.5.0 (發布於 )
用户参与
星數1.2k
關注者數28
派生數175
提交數136
已啟用問題?
問題數21
打開的問題數13
拉請求數1
打開的拉請求數1
關閉的拉請求數3
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?