注意:基于lucene5.5.x版本

一、简单介绍下IK Analyzer

IK Analyzer是linliangyi2007的作品,再此表示感谢,他的博客地址:http://linliangyi2007.iteye.com/

IK Analyzer支持两种分词,一种是最细粒度分词(推荐使用,Ik默认采用最细粒度),还有一种的智能分词(测试了一下智能分词还没有lucene自带的分词准确,呵呵了)。

二、IK Analyzer兼容性问题解决办法

IKanalyzer目前最新版本只支持到lucene4.x、solr4.x,所以我们需要修改一下IKanalyzer的源码,让它支持lucene5.5版本。

这里提供由本人修改的兼容lucene5.x的IK Analyzer版本,下载地址:http://download.csdn.net/detail/eguid_1/9576005

注意:基于lucene5.5.2版本,采用jdk1.7环境,lucene6.x请使用jdk1.8,lucene5.5.x的API与之前的版本有些微的改变。

三、为什么要使用中文分析器

那么回归标题,为什么要使用中文分词器,原因就是lucene自带的分析器StandardAnalyzer虽然支持中文,但是分词分的不够细,对于某些明显的中文词语没有进行分词。

四、如何使用中文分析器

我将Analyzer分析器单独拿了出来进行独立处理(这么做有很多好处,就是我可以很轻松的扩展使用新的分词器)

其他源码完全不变,只需要改变AnalyzerServ的代码即可。

IK分词器默认有三个相关配置文件:

ext.dic(扩展词库);

IKAnalyzer.cfg.xml(扩展词库及停词库配置);

stopword.dic(停词)

(1)建立索引时使用:

//false-最细粒度分词;true - 智能分词

Analyzer analyzer=new IKAnalyzer(false);

indexWriterConfig = new IndexWriterConfig(analyzer);

(2)搜索时使用:

//false-最细粒度分词;true - 智能分词

Analyzer analyzer=new IKAnalyzer(false);

QueryBuilder parser = new QueryBuilder(analyzer);

最新文章

  1. HTML标签的嵌套
  2. IIS发布WCF遇到的问题总结
  3. CodeForces 299A Ksusha and Array
  4. maven + selenium + jenkins 教程收集
  5. mabatis mapper开发规范
  6. qsort函数辅助函数compare函数的编写
  7. python内建函数isinstance基础用法
  8. 十大经典排序算法的 JavaScript 实现
  9. 共识算法之POW
  10. 关于python中的module
  11. 让ubuntu下的eclipse支持GBK编码
  12. 网络编程 -- RPC实现原理 -- Netty -- 迭代版本V4 -- 粘包拆包
  13. linux中安装oracle数据库
  14. enlarge your dataset
  15. 数据库实例: STOREBOOK > 用户 > 编辑 用户: SYSMAN
  16. sql 数据库显示 正在恢复
  17. OKHttp概览
  18. Linux高级权限管理
  19. linux memory dump--http://www.forensicswiki.org/wiki/Tools:Memory_Imaging
  20. sqlite性能优化

热门文章

  1. 蓝桥杯-有理数类-java
  2. webUI自动化测试框架---”pyswat“介绍
  3. python中从文件中读取数据2
  4. Jedis连接池使用
  5. 欲练JS,必先攻CSS——前端修行之路(码易直播)
  6. 使用MyEclipse生成实体类和Hibernate映射文件
  7. 转:Maven项目编译后classes文件中没有dao的xml文件以及没有resources中的配置文件的问题解决
  8. 如何使用.bas文件
  9. 关于ie的h5 刷新和ctrl+5刷新 以及图标刷新的问题
  10. 2.从AbstractQueuedSynchronizer(AQS)说起(1)——独占模式的锁获取与释放