一、环境
1、平台:MyEclipse8.5/JDK1.5
2、开源框架:Lucene3.6.1/IKAnalyzer2012
3、目的:测试IKAnalyzer的分词效果
二、开发调试
1、下载框架
1)IKAnalyzer:
2)Lucene:
2、添加依赖的库
1)添加Lucene:lucene-core-3.6.1.jar
2)添加IKAnalyzer:IKAnalyzer2012.jar
3、配置IKAnalyzer
1)添加配置文件IKAnalyzer.cfg.xml和StopWord词典库stopword.dic文件,把这两个文件放到src目录下,也就是classpath路径下
4、编写测试程序,测试代码如下
package org.cyxl.lucene.test;import java.io.StringReader;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;public class IKAnalyzerTest {public static void main(String[] args) {String keyWord = "IKAnalyzer的分词效果到底怎么样呢,我们来看一下吧";//创建IKAnalyzer中文分词对象IKAnalyzer analyzer = new IKAnalyzer();// 使用智能分词analyzer.setUseSmart(true);// 打印分词结果try {printAnalysisResult(analyzer, keyWord);} catch (Exception e) {e.printStackTrace();}}/** * 打印出给定分词器的分词结果 * * @param analyzer *分词器 * @param keyWord *关键词 * @throws Exception */private static void printAnalysisResult(Analyzer analyzer, String keyWord)throws Exception {System.out.println("["+keyWord+"]分词效果如下");TokenStream tokenStream = analyzer.tokenStream("content",new StringReader(keyWord));tokenStream.addAttribute(CharTermAttribute.class);while (tokenStream.incrementToken()) {CharTermAttribute charTermAttribute = tokenStream.getAttribute(CharTermAttribute.class);System.out.println(charTermAttribute.toString());}}}5、结果如下[IKAnalyzer的分词效果到底怎么样呢,,我们来看一下吧]分词效果如下加载扩展停止词典:stopword.dicikanalyzer的分词效果到底怎么样呢我们来看一下吧6、扩展自己的词典和StopWord
1)在src目录下,新建自身的词典文件ext.dic,输入词如下(注意第一行留空,不知道为什么)
分词效果
2)在src目录下,新建自身的StopWord文件chinese_stopword.dic(也是第一行留空,疑惑中)
吧呢来的
3)配置IKAnalyzer配置文件IKAnalyzer.cfg.xml,如下
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE properties SYSTEM ""> <properties> <comment>IK Analyzer 扩展配置</comment><!–用户可以在这里配置自己的扩展字典 –><entry key="ext_dict">ext.dic;</entry><!–用户可以在这里配置自己的扩展停止词字典–><entry key="ext_stopwords">stopword.dic;chinese_stopword.dic</entry> </properties> 4)配置好后测试结果如下[IKAnalyzer的分词效果到底怎么样呢,我们来看一下吧]分词效果如下加载扩展词典:ext.dic加载扩展停止词典:stopword.dic加载扩展停止词典:chinese_stopword.dicikanalyzer分词效果到底怎么样我们来看一下
三、总结
1、IKAnalyzer分词效果基本还是可以的,可以根据我们自身的项目业务扩展自己的词典和StopWord
2、下面就结果中文分词和Lucene将上一篇的搜索引擎雏形加以修改,让它适合中文网站
版权声明:本文为博主原创文章,未经博主允许不得转载。
人生就像一杯没有加糖的咖啡,喝起来是苦涩的,