注意:基于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);

Lucene全文搜索之分词器:使用IK Analyzer中文分词器(修改IK Analyzer源码使其支持lucene5.5.x)的更多相关文章

  1. lucene全文搜索之三:生成索引字段,创建索引文档(给索引字段加权)基于lucene5.5.3

    前言:上一章中我们已经实现了索引器的创建,但是我们没有索引文档,本章将会讲解如何生成字段.创建索引文档,给字段加权以及保存文档到索引器目录 luncene5.5.3集合jar包下载地址:http:// ...

  2. lucene全文搜索之二:创建索引器(创建IKAnalyzer分词器和索引目录管理)基于lucene5.5.3

    前言: lucene全文搜索之一中讲解了lucene开发搜索服务的基本结构,本章将会讲解如何创建索引器.管理索引目录和中文分词器的使用. 包括标准分词器,IKAnalyzer分词器以及两种索引目录的创 ...

  3. lucene全文搜索之一:lucene的主要功能和基本结构(基于lucene5.5.3)

    前言:lucene并不是像solr或elastic那样提供现成的.直接部署可用的系统,而是一套jar包,提供了一些常见语言分词.构建索引和创建搜索器等等功能的API,我们常用到的也就是分词器.索引目录 ...

  4. lucene全文搜索之四:创建索引搜索器、6种文档搜索器实现以及搜索结果分析(结合IKAnalyzer分词器的搜索器)基于lucene5.5.3

    前言: 前面几章已经很详细的讲解了如何创建索引器对索引进行增删查(没有更新操作).如何管理索引目录以及如何使用分词器,上一章讲解了如何生成索引字段和创建索引文档,并把创建的索引文档保存到索引目录,到这 ...

  5. PHP+mysql数据库开发搜索功能:中英文分词+全文检索(MySQL全文检索+中文分词(SCWS))

    PHP+mysql数据库开发类似百度的搜索功能:中英文分词+全文检索 中文分词: a)   robbe PHP中文分词扩展: http://www.boyunjian.com/v/softd/robb ...

  6. Win7下Solr4.10.1和IK Analyzer中文分词

    1.下载IK中文分词压缩包IK Analyzer 2012FF_hf1,并解压到D:\IK Analyzer 2012FF_hf1: 2.将D:\IK Analyzer 2012FF_hf1\IKAn ...

  7. Python分词模块推荐:jieba中文分词

    一.结巴中文分词采用的算法 基于Trie树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG)采用了动态规划查找最大概率路径, 找出基于词频的最大切分组合对于未登录词,采 ...

  8. Laravel5.8 使用结巴中文分词的简单教程_php中文分词

    1.首先用composer加载结巴中文分词-PHP composer require fukuball/jieba-php:dev-master 2.在composer.json 中引用, 让他自动加 ...

  9. iOS多种刷新样式、音乐播放器、仿抖音视频、旅游App等源码

    iOS精选源码 企业级开源项目,模仿艺龙旅行App 3D立体相册,可以旋转的立方体 横竖屏切换工具,使用陀螺仪检测手机设备方向,锁屏状... Swift版Refresh(可以自定义多种样式)架构方面有 ...

随机推荐

  1. pwm最后的解释

    之前学东西总是模模糊糊,前几天看了pwm,虽然知道怎么配置,但是如果让我自己去写一个pwm的程序,我却不知如何下手. 不知道如何配置他的频率和占空比.今天痛定思痛,决定彻底搞懂pwm. 百度给 的答案 ...

  2. JAVAEE规范基础知识

    JavaEE规范基础知识 本人博客文章网址:https://www.peretang.com/basic-knowledge-of-javaee-standard/ JavaEE简介 JavaEE,J ...

  3. extjs4 前台导出grid数据 生成excel,数据量大后台无法接收到数据

    最近做的一个web项目使用的是extsj4 框架,需要一个导出excel功能,通过extjs4 自带的导出方法实现.在前台生成excel的代码,form提交传递到后台输出.前台grid数据超过1000 ...

  4. IIS发布mvc程序遇到的HTTP错误 403.14-Forbidden解决办法

    在IIS上发布MVC应用程序后,在浏览器查看时会报如下图的错误: 这时,我们首先检查一下“处理程序映射”,看一下里面是否有“ExtensionlessUrlHandler-Integrated-4.0 ...

  5. SVD之最小二乘【推导与证明】

    0.SLAM中SVD进行最小二乘的应用 在SLAM应用中,计算Homography Matrix,Fundamental Matrix,以及做三角化(Triangulation)时,都会用到最小二乘 ...

  6. Github--账号重新申请与配置

    2017-04-24 最近洗心革面痛下决心要好好再深入学习一番前端,正好加入了一个外包团队接了份单子,外包项目正在如火如荼地进行着,自己也打算趁这个机会来好好学习总结一番. 但是俗话说得好," ...

  7. Android 安卓实现页面相互跳转并相互传递参数

    一.对于两个页面之间相互传值,跳转的时候我们使用 startActivityForResult(intent,0),而不是startActivity(intent) 这个方法 第一个页面中在触发跳转的 ...

  8. Linux安装yum以及更新yum版本

    .使用RedHat系统不能正常使用yum安装 由于RedHat没有注册,所有不能使用它自身的资源更新,于是使用yum instatll gcc-c++的时候出现This system is not r ...

  9. vs2015c++/MFC入门知识全集/实例规范书籍视频下载孙鑫c++对话框计算器基础控件使用教程系列

    VIP教程可免费看.可免费下载前部分试看教程地址:http://dwz.cn/4PcfPk免费下载地址:http://dwz.cn/mfc888 本课程目录 67章 [MFC项目开发第01天]Wind ...

  10. Java7中的ForkJoin并发框架初探(中)——JDK中实现简要分析

    原文发表于 2013 年 8 月 28 日 由 三石 根据前文描述的Doug Lea的理论基础,在JDK1.7中已经给出了Fork Join的实现.在Java SE 7的API中,多了ForkJoin ...