Lucene分词器及高亮 分词器 在lucene中我们按照分词方式把文档进行索引,不同的分词器索引的效果不太一样,之前的例子使用的都是标准分词器,对于英文的效果很好,但是中文分词效果就不怎么样,他会按照汉字的字直接分词,没有词语的概念. 使用分词的地方只需要把Analyzer实例化成我们第三方的分词器即可 中文分词有很多,这里使用IKAnalyzer 为例, 下载地址 https://git.oschina.net/wltea/IK-Analyzer-2012FF 现在下来后里面有一篇教程. 高…
前面总结的都是使用Lucene的标准分词器,这是针对英文的,但是中文的话就不顶用了,因为中文的语汇与英文是不同的,所以一般我们开发的时候,有中文的话肯定要使用中文分词了,这一篇博文主要介绍一下如何使用smartcn中文分词器以及对结果的高亮显示. 1. 中文分词 使用中文分词的话,首先到添加中文分词的jar包. <!-- lucene中文分词器 --> <dependency> <groupId>org.apache.lucene</groupId> <…
中文分词:即换个分词器 Analyzer analyzer = new StandardAnalyzer();// 标准分词器     换成  SmartChineseAnalyzer analyzer = new SmartChineseAnalyzer();//要加入lucene-analyzers-common-5.3.1.jar package com.wp.lucene; import java.nio.file.Paths; import org.apache.lucene.anal…
对几种中文分析器,从分词准确性和效率两方面进行比较.分析器依次为:StandardAnalyzer.ChineseAnalyzer.CJKAnalyzer.IK_CAnalyzer.MIK_CAnalyzer.MMAnalyzer(JE分词).PaodingAnalyzer.单纯的中文分词的实现一般为按字索引或者按词索引.按字索引顾名思义,就是按单个字建立索引.按词索引就是按词喽,根据词库中的词,将文字进行切分.车东的交叉双字分割或者叫二元分词我觉得应该算是按字索引的改进,应该还是属于字索引的范…
一.环境 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-co…
参考:http://www.cnblogs.com/lirenzhujiu/p/5914174.html http://www.cnblogs.com/xing901022/p/3933675.html…
http://blog.csdn.net/yerenyuan_pku/article/details/72591778 分析器(Analyzer)的执行过程 如下图是语汇单元的生成过程:  从一个Reader字符流开始,创建一个基于Reader的Tokenizer分词器,经过三个TokenFilter生成语汇单元Token. 要看分析器的分析效果,只需要看TokenStream中的内容就可以了.每个分析器都有一个方法tokenStream,返回的是一个TokenStream对象. 标准分析器的分…
一.Lucene提供的分词器StandardAnalyzer和SmartChineseAnalyzer 1.新建一个测试Lucene提供的分词器的maven项目LuceneAnalyzer 2. 在pom.xml里面引入如下依赖 <!-- lucene 核心模块 --> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-core</artifactId&…
目录 1 分词器概述 1.1 分词器简介 1.2 分词器的使用 1.3 中文分词器 1.3.1 中文分词器简介 1.3.2 Lucene提供的中文分词器 1.3.3 第三方中文分词器 2 IK分词器的使用 2.1 配置pom.xml文件, 加入IK分词器的依赖 2.2 修改索引流程的分词器 2.3 修改检索流程的分词器 2.4 重新创建索引 3 扩展中文词库 3.1 加入IK分词器的配置文件 3.2 增加扩展词演示(扩展: 人民邮电出版社) 3.3 增加停用词演示(增加: 的.和) 1 分词器概…
1. 学习计划 第一天:Lucene的基础知识 1.案例分析:什么是全文检索,如何实现全文检索 2.Lucene实现全文检索的流程 a) 创建索引 b) 查询索引 3.配置开发环境 4.创建索引库 5.查询索引库 6.分析器的分析过程 a) 测试分析器的分词效果 b) 第三方中文分析器 7.索引库的维护 a) 添加文档 b) 删除文档 c) 修改文档 8.Lucene的高级查询Lucene的查询 a) 使用Query的子类查询 MatchAllDocsQuery TermQuery Numeri…
Solr中默认的中文分词是用Lucene的一元分词包. 现在说明在Solr5.0中配置Lucene的SmartCN中文分词包. 1,进入Solr的安装目录,我这里是:/root/nutch/solr-5.0.0  把contrib/analysis-extras/lucene-libs/lucene-analyzers-smartcn-5.0.0.jar包复制到solr的启动目录的lib目录下. # cp ./contrib/analysis-extras/lucene-libs/lucene-…
由于elasticsearch基于lucene,所以天然地就多了许多lucene上的中文分词的支持,比如 IK, Paoding, MMSEG4J等lucene中文分词原理上都能在elasticsearch上使用.当然前提是有elasticsearch的插件. 至于插件怎么开发,这里有一片文章介绍:http://log.medcl.net/item/2011/07/diving-into-elasticsearch-3-custom-analysis-plugin/暂时还没时间看,留在以后仔细研…
1 Lucene简介 Lucene是apache下的一个开源的全文检索引擎工具包. 1.1 全文检索(Full-text Search)  1.1.1 定义 全文检索就是先分词创建索引,再执行搜索的过程. 分词:就是将一段文字分成一个个单词 全文检索就将一段文字分成一个个单词去查询数据!!! 1.1.2 应用场景 1.1.2.1 搜索引擎(了解) 搜索引擎是一个基于全文检索.能独立运行.提供搜索服务的软件系统. 1.1.2.2 电商站内搜索(重点) 思考:电商网站内,我们都是通过输入关键词来搜索…
前提:本章节使用lucene5.3.0版本,luke也是此版本的. 1.1  生成索引 package com.shyroke.lucene; import java.io.IOException; import java.nio.file.Paths; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.cn.smart.SmartChineseAnalyzer; import org.ap…
本文的目标有两个: 1.学会使用11大Java开源中文分词器 2.对比分析11大Java开源中文分词器的分词效果 本文给出了11大Java开源中文分词的使用方法以及分词结果对比代码,至于效果哪个好,那要用的人结合自己的应用场景自己来判断. 11大Java开源中文分词器,不同的分词器有不同的用法,定义的接口也不一样,我们先定义一个统一的接口: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 /**  * 获取文本的所有分词结果, 对比不同分…
删除索引(文档) 需求 某些图书不再出版销售了,我们需要从索引库中移除该图书. 1 @Test 2 public void deleteIndex() throws Exception { 3 // 1.指定索引库目录 4 Directory directory = FSDirectory.open(new File("F:\\lucene\\0719")); 5 // 2.创建IndexWriterConfig 6 IndexWriterConfig cfg = new IndexW…
分词器对英文的支持是非常好的. 一般分词经过的流程: 1)切分关键词 2)去除停用词 3)把英文单词转为小写 但是老外写的分词器对中文分词一般都是单字分词,分词的效果不好. 国人林良益写的IK Analyzer应该是最好的Lucene中文分词器之一,而且随着Lucene的版本更新而不断更新,目前已更新到IK Analyzer 2012版本. IK Analyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包.到现在,IK发展为面向Java的公用分词组件,独立于Lucene项目,同时…
Ansj是由孙健(ansjsun)开源的一个中文分词器,为ICTLAS的Java版本,也采用了Bigram + HMM分词模型(可参考我之前写的文章):在Bigram分词的基础上,识别未登录词,以提高分词准确度.虽然基本分词原理与ICTLAS的一样,但是Ansj做了一些工程上的优化,比如:用DAT高效地实现检索词典.array + linked-list方式实现分词DAG.支持自定义词典与自定义消歧义规则等. 1. 前言 Ansj支持多种分词方式,其中ToAnalysis为店长推荐款: 它在易用…
注意:基于lucene5.5.x版本 一.简单介绍下IK Analyzer IK Analyzer是linliangyi2007的作品,再此表示感谢,他的博客地址:http://linliangyi2007.iteye.com/ IK Analyzer支持两种分词,一种是最细粒度分词(推荐使用,Ik默认采用最细粒度),还有一种的智能分词(测试了一下智能分词还没有lucene自带的分词准确,呵呵了). 二.IK Analyzer兼容性问题解决办法 IKanalyzer目前最新版本只支持到lucen…
1.分析器的执行过程:…
转自:http://lies-joker.iteye.com/blog/2173086 选手:IKanalyzer.ansj_seg.jcseg 硬件:i5-3470 3.2GHz 8GB win7 x64 比赛项目:1.搜索:2.自然语言分析 选手介绍: 1,IKanalyzer IKanalyzer采用的是“正向迭代最细粒度切分算法”,是比较常见而且很容易上手的分词器了.一般新手上路学习lucene或者solr都会用这个.优点是开源(其实java分词器多是开源的,毕竟算法都是业内熟知的).轻…
1.准备工作下载lucene 3.6.1 : http://lucene.apache.org/下载中文分词IK Analyzer: http://code.google.com/p/ik-analyzer/downloads/list (注意下载的是IK Analyzer 2012_u5_source.zip,其他版本有bug)下载solr 3.6.1:  http://lucene.apache.org/solr/(编译IK Analyzer时需引用包)OK,将lucene .solr 相关…
  ElasticSearch系列学习 ElasticSearch第一步-环境配置 ElasticSearch第二步-CRUD之Sense ElasticSearch第三步-中文分词 ElasticSearch第四步-查询详解 ElasticSearch第五步-.net平台下c#操作ElasticSearch详解 elasticsearch官方只提供smartcn这个中文分词插件,效果不是很好,好在国内有medcl大神(国内最早研究es的人之一)写的两个中文分词插件,一个是ik的,一个是mmse…
package lia.meetlucene; import java.io.IOException; import java.io.Reader; import java.io.StringReader; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.cjk.CJKAnalyzer; impo…
1.基本介绍 随着分词在信息检索领域应用的越来越广泛,分词这门技术对大家并不陌生.对于英文分词处理相对简单,经过拆分单词.排斥停止词.提取词干的过程基本就能实现英文分词,单对于中文分词而言,由于语义的复杂导致分词并没英文分词那么简单,一般都是通过相关的分词工具来实现,目前比较常用的有庖丁分词以及IKAnalyzer等.这里我们主要通过一个简单的Demo聊聊IKAnalyzer的基本使用.IKAnalyzer是一个开源的,基于java开发的分词工具包,它独立于Lucene项目,同时提供了Lucen…
1 什么是中文分词器 学过英文的都知道,英文是以单词为单位的,单词与单词之间以空格或者逗号句号隔开. 而中文的语义比较特殊,很难像英文那样,一个汉字一个汉字来划分. 所以需要一个能自动识别中文语义的分词器. 2. Lucene自带的中文分词器 StandardAnalyzer 单字分词:就是按照中文一个字一个字地进行分词.如:“我爱中国”, 效果:“我”.“爱”.“中”.“国”. CJKAnalyzer 二分法分词:按两个字进行切分.如:“我是中国人”,效果:“我是”.“是中”.“中国”“国人”…
基于HanLP,支持包括Solr(7.x)在内的任何基于Lucene(7.x)的系统. Maven <dependency> <groupId>com.hankcs.nlp</groupId> <artifactId>hanlp-lucene-plugin</artifactId> <version>1.1.6</version> </dependency> Solr快速上手 1.将hanlp-portable…
首先将下载解压后的solr-4.9.0的目录里面F:\tools\开发工具\Lucene\solr-4.9.0\contrib\analysis-extras\lucene-libs找到lucene-analyzers-smartcn-4.9.0.jar文件, 将它复制到solr的Web应用程序里面D:\apache-tomcat-7.0.54\webapps\solr\WEB-INF\lib, 备注:网上很多文章使用IK中文分词器(IK_Analyzer2012_u6.jar)但是在solr-…
1. 什么是中文分词器 对于英文,是安装空格.标点符号进行分词 对于中文,应该安装具体的词来分,中文分词就是将词,切分成一个个有意义的词. 比如:“我的中国人”,分词:我.的.中国.中国人.国人. 2. Lucene自带的中文分词器 StandardAnalyzer: 单字分词:就是按照中文一个字一个字地进行分词.如:“我爱中国”, 效果:“我”.“爱”.“中”.“国”. CJKAnalyzer 二分法分词:按两个字进行切分.如:“我是中国人”,效果:“我是”.“是中”.“中国”“国人”. 上边…
很多时候,我们需要在ElasticSearch中启用中文分词,本文这里简单的介绍一下方法.首先安装中文分词插件.这里使用的是 ik,也可以考虑其他插件(比如 smartcn). $ ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.2.0/elasti csearch-analysis-ik-7.2.0.zip 上面代码安装的是7.2…