IKAnalyzer词典扩充

IKAnalyzer词典扩充

  •  2019 年 3 月 28 日
  •  725
  •  Java Lucene IKAnalyzer 

最近做博客搜索功能的时候使用Lucene+IK进行实现,在使用的过程中发现`小程序`这三个字都无法搜索出来,于是就需要对Ik的词典进行扩充了。

IK扩充词典有两种方法:一种是通过配置文件的方式进行扩充,另一种是通过api进行扩充,这里只介绍第一种方式。

创建配置文件

笔者的框架使用的是SpringBoot,所以直接在resources目录下创建IKAnalyzer.cfg.xml文件,然后在启动类上使用@ImportResource注解导入即可,如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>

    <comment>IK Analyzer 扩展配置</comment>
    <!-- 用户可以在这里配置自己的扩展字典 -->
    <entry key="ext_dict">my.dic</entry>
    <!-- 用户可以在这里配置自己的扩展停止词字典    -->
    <!--<entry key="ext_stopwords">/dicdata/ext_stopword.dic</entry>-->

</properties>

其中my.dic就是我们自定义的词典文件了,需要注意的是词典文件必须是UTF-8无BOM格式的,否则词典也不会生效。词典内容类似下面:

小程序
其它自定义词

多个自定义词换行即可。另外笔者的my.dic也是在resources目录下创建。

启动类

@ImportResource("classpath:IKAnalyzer.cfg.xml")

到这里就完成了,为了偷懒测试demo就不放出来了:doge

扫一扫分享到微信

已有 条评论
写评论