一、环境

1、平台:MyEclipse8.5/JDK1.5

2、开源框架:Lucene3.6.1/IKAnalyzer2012

3、目的:测试IKAnalyzer的分词效果

二、开发调试

1、下载框架

1)IKAnalyzer:http://code.google.com/p/ik-analyzer/downloads/list

2)Lucene:http://www.apache.org/dist/lucene/java/3.6.1/

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.dic
ikanalyzer
的
分词
效果
到底
怎么样
呢
我们
来看
一下
吧

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 "http://java.sun.com/dtd/properties.dtd">
<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.dic
ikanalyzer
分词效果
到底
怎么样
我们
来看
一下

三、总结

1、IKAnalyzer分词效果基本还是可以的,可以根据我们自身的项目业务扩展自己的词典和StopWord

2、下面就结果中文分词和Lucene将上一篇的搜索引擎雏形加以修改,让它适合中文网站

Lucene学习——IKAnalyzer中文分词(一)相关推荐

  1. Lucene学习——IKAnalyzer中文分词(二)

    一.环境 1.平台:MyEclipse8.5/JDK1.5 2.框架:Lucene3.6.1/IKAnalyzer2012/htmlparser 二.目标 1.整合前面连篇文章(Lucene学习--I ...

  2. Solr的学习使用之(三)IKAnalyzer中文分词器的配置

    1.为什么要配置? 1.我们知道要使用Solr进行搜索,肯定要对词语进行分词,但是由于Solr的analysis包并没有带支持中文的包或者对中文的分词效果不好,需要自己添加中文分词器:目前呼声较高的是 ...

  3. solr集成IKAnalyzer中文分词器

    如果想要知道如何安装solr,集成IKAnalyzer中文分词器,批量导入数据库数据,java使用参照以下本博主博文: 安装solr https://blog.csdn.net/u013294097/ ...

  4. IKAnalyzer中文分词分析内容目录

    IKAnalyzer中文分词的学习: Java开源分词系统IKAnalyzer学习(一) 大致简介 Java开源分词系统IKAnalyzer学习(二) 架构 Java开源分词系统IKAnalyzer学 ...

  5. IKAnalyzer 中文分词器

    IK Analyzer 2012 介绍 IK Analyzer 是一个开源的,基亍 java 语言开发的轻量级的中文分词工具包.从 2006 年 12 月推出 1.0 版开始, IKAnalyzer ...

  6. 基于垃圾短信与垃圾邮件的检测以及iphone中siri所使用的IKAnalyzer中文分词技术

    刚开始接触安卓开发,导师就让做了一个基于安卓的垃圾短信检测软件,其中中文分词让我搞了一天,我所使用的是IKAnalyzer中文分词技术,这个包已经很是成熟.因为新手在使用中可能会出现导入的工程包错误而 ...

  7. Java实现敏感词过滤 - IKAnalyzer中文分词工具

    IKAnalyzer 是一个开源的,基于java语言开发的轻量级的中文分词工具包. 官网: https://code.google.com/archive/p/ik-analyzer/ 本用例借助 I ...

  8. ACL 2021 | 基于全局字符关联机制联邦学习的中文分词

    作者 | 陈桂敏 来源 | QTrade AI研究中心 QTrade AI 研究中心是一支将近 30 人的团队,主要研究方向包括:预训练模型.信息抽取.对话机器人.内容推荐等.本文介绍的是一篇收录于 ...

  9. 发布IKAnalyzer中文分词器V3.1.3GA生日祝福版

    [size=large][b]生日祝福[/b][/size] 谨以此版本献给我的老婆,今天是她的生日,在这里,要祝福她生日快乐,天天无忧无虑. 感谢她一直以来对我从事开源项目的支持和鼓励,想对她说:谢 ...

最新文章

  1. Manifest merger failed with multiple errors, see logs
  2. 万字总结:学习MySQL优化原理,这一篇就够了!
  3. [大数据] zookeeper 安装和配置
  4. 读写配置文件app.config
  5. 服务器怎么可以维修荒野行动,荒野行动PC版 设置单独服务器让你尽情畅玩
  6. java程序并行机制_Java语言具有多种优点和特点,下列选项中,______反映了Java程序并行执行机制的特点。A.多线程B.健...
  7. datagridview实时更新数据_旭诺云盒|智能办公新趋势进出口数据自动提取,通关状态实时更新...
  8. c语言清空输入缓冲区函数,c语言:C语言清空输入缓冲区在标准输入(stdin)情况 -电脑资料...
  9. 粒子群算法tsp java_粒子群算法解决TSP问题
  10. python提取高频词_seo与python大数据结合给文本分词并提取高频词
  11. 深入解析Windows操作系统 第4版
  12. 在线教学试卷讲评利器——屏幕画笔
  13. JavaScript学习笔记
  14. 怎么用8uftp上传网站,利用8Uftp上传自己的网页只需8步
  15. Oracle 创建表详解(create table)
  16. 快速排序-C语言版(带图详细)
  17. 路由器配置双宽带,并相互备份使用
  18. Python中,使用正则表达式时,遇到的re.error:unbalanced parenthesis问题记录
  19. latex 首行不缩进,第二行开始缩进,悬挂缩进的LaTeX实现
  20. 国科大学习资料--人工智能原理与算法-第十四次作业解析(学长整理)

热门文章

  1. android onGenericMotionEvent(MotionEvent event)
  2. 怎么才能写出好的代码
  3. 代码审计之百家cms
  4. 使用python来保存win10的聚焦图片
  5. 对浏览器内核的理解和常见的浏览器内核
  6. 单片机定时问题:亮100ms、灭300ms
  7. lua 16进制转10 10转16进制
  8. 关注ERP项目中的隐含成本
  9. 点击复制以及长按识别图中二维码功能
  10. 题目:代码实现判断单链表是否有环