分词器,对文本资源进行切分,将文本按规则切分为一个个可以进行索引的最小单位(关键词),下面来介绍几种常用分词
package com.lamp.lucene.analyzer;
import java.io.StringReader;
import jeasy.analysis.MMAnalyzer;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.Token;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.cjk.CJKAnalyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.junit.Test;
public class AnalyzerTest {
//单字分词器
public Analyzer analyzer = new StandardAnalyzer();
//二分法分词
public Analyzer analyzer2 = new CJKAnalyzer();
//词典分词
public Analyzer analyzer3 = new MMAnalyzer();
public String content = "不管你信不信,反正我是信了";
@Test
public void testAnalyzer() throws Exception{
analyzer(analyzer,content);
//analyzer(analyzer2,content);
//analyzer(analyzer3,content);
}
public void analyzer(Analyzer analyzer, String text) throws Exception {
TokenStream tokenStream = analyzer.tokenStream(null, new StringReader(text));
Token token = null;
while(null != (token=tokenStream.next())){
System.out.println(token);
}
}
}
单字分词器的结果为
(不,0,1,type=<CJ>)
(管,1,2,type=<CJ>)
(你,2,3,type=<CJ>)
(信,3,4,type=<CJ>)
(不,4,5,type=<CJ>)
(信,5,6,type=<CJ>)
(反,7,8,type=<CJ>)
(正,8,9,type=<CJ>)
(我,9,10,type=<CJ>)
(是,10,11,type=<CJ>)
(信,11,12,type=<CJ>)
(了,12,13,type=<CJ>)
二分法分词结果为
(不管,0,2,type=double)
(管你,1,3,type=double)
(你信,2,4,type=double)
(信不,3,5,type=double)
(不信,4,6,type=double)
(反正,7,9,type=double)
(正我,8,10,type=double)
(我是,9,11,type=double)
(是信,10,12,type=double)
(信了,11,13,type=double)
词典分词结果为
(管你,1,3)
(信不信,3,6)
(反正,7,9)
(我是,9,11)
(信,11,12)
分享到:
相关推荐
2. **配置与初始化**:根据项目需求,配置分词器的参数,如自定义词典、分词模式等,然后在Lucene的Analyzer中实例化该分词器。 3. **索引建立**:在创建索引时,使用配置好的分词器对中文文本进行分词,生成分词后...
来自“猎图网 www.richmap.cn”基于IKAnalyzer分词算法的准商业化Lucene中文分词器。 1. 正向全切分算法,42万汉字字符/每秒的处理能力(IBM ThinkPad 酷睿I 1.6G 1G内存 WinXP) 2. 对数量词、地名、路名的...
《Lucene中文分词器——Paoding解牛详解》 在中文信息检索领域,分词是至关重要的一环,它能够将连续的汉字序列切割成具有独立意义的词语,为后续的索引和查询提供基础。Lucene作为Java最著名的全文搜索引擎库,其...
lucene3.0 中文分词器, 庖丁解牛
2. **配置分词器**:在Lucene.NET的索引创建阶段,需要配置Analyzer类,指定使用特定的分词器。例如,使用IK Analyzer可以创建`IKAnalyzer analyzer = new IKAnalyzer();`。 3. **字段分析**:在创建Document对象时...
`lucene`目录很可能包含了Lucene的库文件,这些文件包含了Lucene的核心组件,如索引和搜索模块,以及各种分词器。在Java项目中,开发者通常会将这些库文件作为依赖引入,以便使用Lucene提供的API进行文本处理。 `...
3. **分词器分词**:这是核心步骤,IKAnalyzer采用动态调优算法,能够在运行时根据上下文调整分词策略,以达到更好的分词效果。它支持基于正向最大匹配(MMAX)和逆向最大匹配(RMMAX)等多种分词模式。 4. **歧义...
Lucene3.0分词系统的核心在于理解和应用其分词原理,无论是对于英文还是中文文本,这一...通过这些技术的应用,Lucene3.0能够支持全球范围内不同语言和文化背景下的文本处理需求,成为业界领先的全文搜索引擎技术之一。
用java写的图形分词测试的小东西,用的分词器是: 来自“猎图网 www.richmap.cn”基于IKAnalyzer分词算法的准商业化Lucene中文分词器,其使用“正向全切分算法”,42万汉字字符/每秒的处理能力(IBM ThinkPad 酷睿I...
《深入剖析:Lucene3与庖丁解牛中文分词器》 在信息技术飞速发展的今天,全文检索和搜索引擎已经成为日常开发中不可或缺的部分。Lucene作为一款强大的全文检索库,被广泛应用于各种信息检索系统中。然而,对于中文...
maven库中现有的ik分词器只支持低版本的Lucene,想要支持高版本的Lucene,需要重写老版本ik分词器里的部分代码. 下载代码片段后导入项目,在创建分词器的时候把new IKAnalyzer替换为 new IKAnalyzer5x即可。
**Lucene+中文IK分词器实例解析** Lucene是一个高性能、全文检索库,由Apache软件基金会开发。它提供了一个简单但功能强大的API,用于在各种应用中实现全文索引和搜索。在处理中文文本时,由于中文词汇的复杂性和无...
以《lucene-2.0.CHM》为例,这是一个Lucene 2.0版本的帮助文档,我们可以用这些工具对文档中的中文文本进行分词,观察不同分词器的效果,并根据结果调整分词策略。 七、总结 理解并熟练掌握Lucene中的中文分词技术...
《Lucene.NET中文分词器:深入解析与实践》 Lucene.NET是一个开源全文检索库,它是Apache Lucene项目在.NET平台上的实现。作为一个强大的信息检索工具,Lucene.NET广泛应用于搜索引擎开发、文档检索系统等领域。...
4. 分词处理:在索引文档时,先用庖丁分词器对中文文本进行分词,然后将分词结果转换成Lucene的Term对象,再添加到索引中。 5. 搜索优化:在搜索阶段,同样可以使用庖丁分词器对用户输入的查询进行预处理,提高搜索...
默认情况下,Lucene并不支持中文分词,因此我们需要引入专门的中文分词器。"je-analysis"是一个常见的中文分词插件,它为Lucene提供了对中文文本的分析能力。 "je-analysis" 是一套基于Java开发的中文分析工具,其...
**Lucene分词器资源包详解** Lucene是一款开源的全文搜索引擎库,广泛应用于Java开发中,用于构建高效、可扩展的信息检索应用。这个压缩包提供了Lucene分词时所必需的jar包,使得开发者能够方便地在项目中集成...
然而,对于中文文本,Lucene默认的分词器并不理想,因此我们需要引入专门针对中文的分词工具。 IK Analyzer(IK中文分词器)是为了解决这个问题而诞生的。它是开源的Java实现的中文分词组件,特别适合用于Java开发...
lucene中文分词器Jceseg和IK Analyzer使用示例,lucene5可以使用,本人亲测成功,大家放心用,喜欢lucene的人大家关注我的博客 http://blog.csdn.net/wuyinggui10000/article/category/3173543 大家共同交流,有需要...