Skip to content

yourmake/ik-analyzer-solr7

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ik-analyzer-solr7

ik-analyzer for solr7.x

IKAnalyzer的作者为林良益([email protected]),项目网站为http://code.google.com/p/ik-analyzer/

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

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

更新说明

  • 2018-08-01: 移除默认的扩展词与停用词
  • 2018-07-23: 升级lucene版本为7.4.0

使用说明:


<!-- 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 为动态字典,在此文件配置的词语不需重启服务即可加载进内存中;


有问题可以联系作者邮箱[email protected]

欢迎大家一起交流~

About

ik-analyzer for solr7.x

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%