IKAnalyzer断更
由于林良益先生在2012之后,未对IKAnalyzer进行更新,后续lucene分词接口发生变化,导致 IKAnalyzer 中文分词器不可使用,林良益先生 IKAnalyzer 源码见码云:IK Analyzer 2012FF
使用IKAnalyzer中文分词器(常用版本IKAnalyzer2012_FF,这里是2012_u6,只能兼容到 Lucene版本4.4.0。使用更高版本Lucene 整合 IKAnalyzer,Analyzer.tokenStream方法,会报 org.apache.lucene.analysis.Analyzer.createComponents ,错误如下图所示:
Lucene 7.2.1 整合 IKAnalyzer:
1.添加Maven依赖
<!-- IKAnalyzer分词依赖 -->
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-core</artifactId>
<version>7.2.1</version>
</dependency>
2.下载 IK-Analyzer-7.2.1.jar包
点击下载 (提取码:yy9x )
3.将下载的 jar 包放置到项目 lib 包下(如果公司有私服的话,可以直接放到私服即可。3-5步即可省略)
4.将 jar 包导入项目
(IDEA流程:File---->Project Structure---->Modules---->Dependencies----> + 号 ---->1.JARS or directories)
5.选择lib 包下的 IK-Analyzer-7.2.1.jar,然后点击OK即可
6.添加IKAnalyzer.cfg.xml 配置文件到 resources 目录下。cfg.xml 文件配置自己的扩展词典和停用词,内容如下:
<?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">hotword.dic</entry>
<!--用户可以在这里配置自己的扩展停止词字典(可多个,通过分号分隔) -->
<entry key="ext_stopwords">stopword.dic</entry>
</properties>
扩展词典下载地址:点击下载 (提取码:zhvl )
禁用词下载地址: 点击下载 (提取码:dmqi )
7.附IKAnalyzer分词Demo
package com.ddky.persona.neo4j;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
import org.wltea.analyzer.lucene.IKAnalyzer;
import java.io.IOException;
import java.io.StringReader;
public class splitWordDemo {
public static void main(String[] args) throws IOException {
String text="我要买酒啊查询订单,我该买什么品牌的酒呢?你能给我一点参考吗,或者让我看看订单也行,或者我要查询订单";
//创建分词对象
Analyzer anal=new IKAnalyzer(true);
StringReader reader=new StringReader(text);
//分词
TokenStream ts=anal.tokenStream("", reader);
ts.reset();
CharTermAttribute term=ts.getAttribute(CharTermAttribute.class);
//遍历分词数据
while(ts.incrementToken()){
System.out.print(term.toString()+"|");
}
reader.close();
System.out.println();
}
}
Demo结果如下图所示:
Lucene 7.2.1 整合 IKAnalyzer,介绍到此为止
如果本文对你有所帮助,那就给我点个赞呗 ^_^
End