Go to file
magese 64b1f576f4 Deploy release artifacts into the staging repository 2018-05-11 16:44:44 +08:00
src/main Deploy release artifacts into the staging repository 2018-05-11 13:54:01 +08:00
.gitignore Initial commit 2018-05-10 13:52:58 +08:00
README.md Deploy release artifacts into the staging repository 2018-05-11 16:44:44 +08:00
pom.xml Deploy release artifacts into the staging repository 2018-05-11 13:54:01 +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服务的情况下加载新增的字典。


使用说明:


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

欢迎大家一起交流~