lucene初探(一):IKAnalyzer2012中文分词扩展初探


 1、到google下载IKAnalyzer2012

http://code.google.com/p/ik-analyzer/downloads/list
 
lucene初探(一):IKAnalyzer2012中文分词扩展初探_第1张图片
 

2、如果有maven本地服务仓库,直接把IKAnalyzer2012上传到本地maven仓库,无的话直接拷贝到项目lib目录


lucene初探(一):IKAnalyzer2012中文分词扩展初探_第2张图片
 

3、测试还需要使用到lucene的几个包,这边使用3.6.0版本

maven配置

<dependencies>
		<dependency>
			<groupId>org.apache.lucene</groupId>
			<artifactId>lucene-core</artifactId>
			<version>3.6.0</version>
		</dependency>
		<dependency>
			<groupId>org.apache.lucene</groupId>
			<artifactId>lucene-highlighter</artifactId>
			<version>3.6.0</version>
		</dependency>
		<dependency>
			<groupId>org.apache.lucene</groupId>
			<artifactId>lucene-memory</artifactId>
			<version>3.6.0</version>
		</dependency>
		<dependency>
			<groupId>org.apache.lucene</groupId>
			<artifactId>lucene-analyzers</artifactId>
			<version>3.6.0</version>
		</dependency>
		
		<dependency>
			<groupId>IKAnalyzer</groupId>
			<artifactId>IKAnalyzer</artifactId>
			<version>IKAnalyzer2012</version>
			<type>jar</type>
		</dependency>
	</dependencies>

 
lucene初探(一):IKAnalyzer2012中文分词扩展初探_第3张图片

4、好了,直接上测试例子,

4.1、建立一个java测试项目scmsplitkw 

4.2、拷贝下载包里面的stopword.dic、IKAnalyzer.cfg.xml到项目源码根目录

4.3、因为要测试自定义中文分词,在源码根目录创建文件ext.dic

4.4、配置IKAnalyzer.cfg.xml,在properties内添加

写道
<!--用户可以在这里配置自己的扩展停止词字典-->
<entry key="ext_dict">ext.dic;</entry>
<!--用户可以在这里配置自己的扩展停止词字典-->
<entry key="ext_stopwords">stopword.dic;stopword_chinese.dic</entry>

4.5、特别提醒,以上文件内容格式全部必须是utf-8,用记事本打开,另存为utf-8格式


lucene初探(一):IKAnalyzer2012中文分词扩展初探_第4张图片
 

4.6、既然是测试自定义关键词拆分, 就必须添加一些自定义关键词到ext.dic文件中,注意添加的文字必须是全部小写

yag晶体
集成化文件管理体系
量子点太阳电池
游客满意度指数
血清药理学
硅热法
建筑幕墙
共振腔
蛋白质粒子
行星逃逸层
可靠性建模
空隙模型
基因挖掘
细粒赤铁矿
磁性液晶
wnt分泌
游离甲醛
河鲀毒素
自由表面
磷酸银
多元标记
aire基因
群速度
带3蛋白
可信度
推力轴承
超光谱荧光
锚定性能
嗜铬粒蛋白a衍生多肽
ip电路
雌雄异体生殖
旋翼转速
珍稀物种
元过程

 

4.7、代码测试

package com.iris.scm.lucene.test;

import java.io.StringReader;

import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
import org.wltea.analyzer.lucene.IKAnalyzer;

public class IKAnalyzerTest {

	public static void main(String[] args) throws Exception {

		String keyWord = "YAG晶体采用过滤阴极真空电弧技术制备非晶金刚石薄膜,细粒赤铁矿.
		IKAnalyzer analyzer = new IKAnalyzer();

		// 使用智能分词
		analyzer.setUseSmart(true);

		System.out.println("当前使用的分词器:" + analyzer.getClass().getSimpleName());
		TokenStream tokenStream = analyzer.tokenStream("content", new StringReader(keyWord));
		tokenStream.addAttribute(CharTermAttribute.class);
		while (tokenStream.incrementToken()) {
			CharTermAttribute charTermAttribute = tokenStream.getAttribute(CharTermAttribute.class);
			System.out.println(new String(charTermAttribute.buffer()));
		}
	}

}

 

4.8、结果


lucene初探(一):IKAnalyzer2012中文分词扩展初探_第5张图片
  

你可能感兴趣的:(IKAnalyzer)