注意:基于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.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全文搜索之三:生成索引字段,创建索引文档(给索引字段加权)基于lucene5.5.3
前言:上一章中我们已经实现了索引器的创建,但是我们没有索引文档,本章将会讲解如何生成字段.创建索引文档,给字段加权以及保存文档到索引器目录 luncene5.5.3集合jar包下载地址:http:// ...
lucene全文搜索之二:创建索引器(创建IKAnalyzer分词器和索引目录管理)基于lucene5.5.3
前言: lucene全文搜索之一中讲解了lucene开发搜索服务的基本结构,本章将会讲解如何创建索引器.管理索引目录和中文分词器的使用. 包括标准分词器,IKAnalyzer分词器以及两种索引目录的创 ...
lucene全文搜索之一:lucene的主要功能和基本结构(基于lucene5.5.3)
前言:lucene并不是像solr或elastic那样提供现成的.直接部署可用的系统,而是一套jar包,提供了一些常见语言分词.构建索引和创建搜索器等等功能的API,我们常用到的也就是分词器.索引目录 ...
lucene全文搜索之四:创建索引搜索器、6种文档搜索器实现以及搜索结果分析(结合IKAnalyzer分词器的搜索器)基于lucene5.5.3
前言: 前面几章已经很详细的讲解了如何创建索引器对索引进行增删查(没有更新操作).如何管理索引目录以及如何使用分词器,上一章讲解了如何生成索引字段和创建索引文档,并把创建的索引文档保存到索引目录,到这 ...
PHP+mysql数据库开发搜索功能:中英文分词+全文检索(MySQL全文检索+中文分词(SCWS))
PHP+mysql数据库开发类似百度的搜索功能:中英文分词+全文检索 中文分词: a) robbe PHP中文分词扩展: http://www.boyunjian.com/v/softd/robb ...
Win7下Solr4.10.1和IK Analyzer中文分词
1.下载IK中文分词压缩包IK Analyzer 2012FF_hf1,并解压到D:\IK Analyzer 2012FF_hf1: 2.将D:\IK Analyzer 2012FF_hf1\IKAn ...
Python分词模块推荐:jieba中文分词
一.结巴中文分词采用的算法 基于Trie树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG)采用了动态规划查找最大概率路径, 找出基于词频的最大切分组合对于未登录词,采 ...
Laravel5.8 使用结巴中文分词的简单教程_php中文分词
1.首先用composer加载结巴中文分词-PHP composer require fukuball/jieba-php:dev-master 2.在composer.json 中引用, 让他自动加 ...
iOS多种刷新样式、音乐播放器、仿抖音视频、旅游App等源码
iOS精选源码 企业级开源项目,模仿艺龙旅行App 3D立体相册,可以旋转的立方体 横竖屏切换工具,使用陀螺仪检测手机设备方向,锁屏状... Swift版Refresh(可以自定义多种样式)架构方面有 ...
随机推荐
Lesson 2 Breakfast or lunch?
Text It was Sunday. I never get up early on Sundays. I sometimes stay in bed until lunchtime. Last S ...
WPF 自定义ListBox
如题,要实现一个如下的列表,该如何实现? 在设计过程中,会遇到如下问题: 1.ListBox中ListBoxItem的模板设计 2.ListBox中ListBoxItem的模板容器设计 3.List ...
【Leafletjs】4.L.Map 中文API
L.Map API各种类中的核心部分,用来在页面中创建地图并操纵地图. 使用 example // initialize the map on the "map" div with ...
Jquery使select、radio某项选中
select $("#class").find("option[value='123']").attr("selected",true); ...
高级Magento模型 EAV
我们讲过Magento有两种模型,简单模型和EAV(Entity Attribute Value)模型.上一章我们讲过所有的Magento模型都是继承自Mage_Core_Model_Abstract ...
ROS探索总结(十二)——坐标系统
在机器人的控制中,坐标系统是非常重要的,在ROS使用tf软件库进行坐标转换. 相关链接:http://www.ros.org/wiki/tf/Tutorials#Learning_tf 一.tf简介 ...
centos中安装基础环境
进入到相关目录cd /usr/bin安装python3yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-dev ...
oracle 主键,非空,检查,唯一,默认,外键约束
--首先添加主键约束alter table studentadd constraint PK_student_sno primary key(sno) --删除约束alter table studen ...
windows7下的一个好玩的,你绝对不知道
今天学到了一个好东西,分享一下, windows7系统测试是可以的,其他系统暂时没测试,分享给大家玩玩: 在桌面新建一个文件夹: 文件夹重命名为:GodMode.{ED7BA470-8E54-465E ...
centos7防火墙使用方法
参考网站:https://blog.csdn.net/achang21/article/details/52538049 添加开放指定端口: [root@yao bin]# firewall-cmd ...