Go to file
magese 3c8bb2bb34 添加更新内容; 2018-08-23 09:57:24 +08:00
src/main 文档注释修改; 2018-08-23 09:44:57 +08:00
.gitignore Initial commit 2018-05-10 13:52:58 +08:00
README.md 添加更新内容; 2018-08-23 09:57:24 +08:00
pom.xml lucene version update 7.4.0; 2018-07-23 14:53:45 +08:00

README.md

ik-analyzer-solr7

ik-analyzer for solr7.x

IKAnalyzer的作者为林良益linliangyi2007@gmail.com项目网站为http://code.google.com/p/ik-analyzer/

适配最新版solr7并添加动态加载字典表功能

在不需要重启solr服务的情况下加载新增的字典。

更新说明

  • 2018-08-23:
      ⑴完善了动态更新词库代码注释;
      ⑵将ik.conf配置文件中的lastUpdate属性改为long类型现已支持时间戳形式
  • 2018-08-13: 更新maven仓库地址
  • 2018-08-01: 移除默认的扩展词与停用词
  • 2018-07-23: 升级lucene版本为7.4.0

使用说明:


<!-- Maven仓库地址 -->
<dependency>
    <groupId>com.github.magese</groupId>
    <artifactId>ik-analyzer</artifactId>
    <version>7.4.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即可

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


有问题可以联系作者邮箱magese@live.cn

欢迎大家一起交流~