`
eimhee
  • 浏览: 2115859 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

lucene3 分词器的使用

阅读更多

lucene3 中分词的一个例子

 

 

import java.io.IOException;
import java.io.StringReader;

import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.analysis.tokenattributes.TermAttribute;
import org.apache.lucene.util.Version;

public class AnalyzerTest {

	public static void main(String[] args) throws IOException {
		String content  = "Dan O'Sullivan - Wikipedia: A New Community of Practice?http://www.1ju.org/";
		StringReader reader = new StringReader(content);
		Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_20);
		TokenStream ts = analyzer.tokenStream("", reader);
		ts.addAttribute(TermAttribute.class);
		
	
		while (ts.incrementToken()) {
			TermAttribute ta = ts.getAttribute(TermAttribute.class);
			System.out.println(ta.term());
		}
	}
}
 

 

 

dan
o'sullivan
wikipedia
new
community
practice
http
www.1ju.org

 

 

 

lucene3提供了下面几种分词器:

1、 StopAnalyzer

StopAnalyzer 能过滤词汇中的特定字符串和词汇,并且完成大写转小写的功能。

2、 StandardAnalyzer

StandardAnalyzer 根据空格和符号来完成分词,还可以完成数字、字母、E-mail 地址、IP 地址以及中文字符的分析处理,还可以支持过滤词表,用来代替StopAnalyzer 能够实现的过滤功能。

3、 SimpleAnalyzer

SimpleAnalyzer 具备基本西文字符词汇分析的分词器,处理词汇单元时,以非字母字符作为分割符号。分词器不能做词汇的过滤,之进行词汇的分析和分割。输出地词汇单元完成小写字符转换,去掉标点符号等分割符。

在全文检索系统开发中,通常用来支持西文符号的处理,不支持中文。由于不完成单词过滤功能,所以不需要过滤词库支持。词汇分割策略上简单,使用非英文字符作为分割符,不需要分词词库的支持。

4、 WhitespaceAnalyzer

WhitespaceAnalyzer 使用空格作为间隔符的词汇分割分词器。处理词汇单元的时候,以空格字符作为分割符号。分词器不做词汇过滤,也不进行小写字符转换。

实际中可以用来支持特定环境下的西文符号的处理。由于不完成单词过滤和小写字符转换功能,也不需要过滤词库支持。词汇分割策略上简单使用非英文字符作为分割符,不需要分词词库支持。

5、 KeywordAnalyzer

KeywordAnalyzer 把整个输入作为一个单独词汇单元,方便特殊类型的文本进行索引和检索。针对邮政编码,地址等文本信息使用关键词分词器进行索引项建立非常方便。

6、 CJKAnalyzer

CJKAnalyzer 内部调用CJKTokenizer 分词器,对中文进行分词,同时使用StopFilter 过滤器完成过滤功能,可以实现中文的多元切分和停用词过滤。在Lucene3.0 版本中已经弃用。

7、 ChineseAnalyzer

ChineseAnalyzer 功能与StandardAnalyzer 分析器在处理中文是基本一致,都是切分成单个的双字节中文字符。在Lucene3.0 版本中已经弃用。

8、 PerFieldAnalyzerWrapper

PerFieldAnalyzerWrapper 功能主要用在针对不同的Field 采用不同的Analyzer 的场合。比如对于文件名,需要使用KeywordAnalyzer ,而对于文件内容只使用StandardAnalyzer 就可以了。通过addAnalyzer() 可以添加分类器。

9、 IKAnalyzer

实现了以词典为基础的正反向全切分,以及正反向最大匹配切分两种方法。IKAnalyzer 是第三方实现的分词器,继承自LuceneAnalyzer 类,针对中文文本进行处理。

10、 JE-Analysis

JE-AnalysisLucene 的中文分词组件,需要下载。

11、 ICTCLAS4J

ictclas4j 中文分词系统是sinboy 在中科院张华平和刘群老师的研制的FreeICTCLAS 的基础上完成的一个java 开源分词项目,简化了原分词程序的复杂度,旨在为广大的中文分词爱好者一个更好的学习机会。

12、 Imdict-Chinese-Analyzer

imdict-chinese-analyzerimdict 智能词典 的智能中文分词模块,算法基于隐马尔科夫模型(Hidden Markov Model, HMM) ,是中国科学院计算技术研究所的ictclas 中文分词程序的重新实现(基于Java ),可以直接为lucene 搜索引擎提供简体中文分词支持。

13、 Paoding Analysis

Paoding Analysis 中文分词具有极 高效率 和 高扩展性。引入隐喻,采用完全的面向对象设计,构思先进。其效率比较高,在PIII 1G 内存个人机器上,1 秒可准确分词100 万汉字。采用基于不限制个数的词典文件对文章进行有效切分,使能够将对词汇分类定义。能够对未知的词汇进行合理解析。

14、 MMSeg4J

mmseg4jChih-Hao TsaiMMSeg 算法(http://technology.chtsai.org/mmseg/ ) 实现的中文分词器,并实现 luceneanalyzersolrTokenizerFactory 以方便在LuceneSolr 中使用。 MMSeg 算法有两种分词方法:SimpleComplex ,都是基于正向最大匹配。Complex 加了四个规则过虑。官方说:词语的正确识别率达到了 98.41%mmseg4j 已经实现了这两种分词算法

 

 

 

4
1
分享到:
评论

相关推荐

    Lucene中文分词器包

    来自“猎图网 www.richmap.cn”基于IKAnalyzer分词算法的准商业化Lucene中文分词器。 1. 正向全切分算法,42万汉字字符/每秒的处理能力(IBM ThinkPad 酷睿I 1.6G 1G内存 WinXP) 2. 对数量词、地名、路名的...

    Lucene中文分词器组件

    Lucene中文分词器组件,不错的。

    lucene3.0 分词器

    lucene3.0 中文分词器, 庖丁解牛

    lucene中文分词器(paoding解牛)

    lucene搜索引擎中文分词器,版本2.0.4,强大的中文分词效果在其它中文分词器当中独领风骚

    Lucene4.0 IK分词器使用pdf

    Ik中分分词器介绍,可用于lucene4.0

    lucene.NET 中文分词

    lucene.NET 中文分词 高亮 lucene.NET 中文分词 高亮 lucene.NET 中文分词 高亮 lucene.NET 中文分词 高亮

    lucene分词测试代码

    用java写的图形分词测试的小东西,用的分词器是: 来自“猎图网 www.richmap.cn”基于IKAnalyzer分词算法的准商业化Lucene中文分词器,其使用“正向全切分算法”,42万汉字字符/每秒的处理能力(IBM ThinkPad 酷睿I...

    Lucene3.0分词系统.doc

    Lucene3.0分词系统.doc

    Lucene-Demo.rar Lucene分词的demo

    本压缩包的主要内容是Lucene分词器的demo版本,可以导入到程序中直接使用,包含Lucene分词使用的pom文件,使用前请注意修改存储地址。

    Jcseg支持lucene3的分词器

    在网上找了好半天也没找到jcseg分词器对lucene 3的支持,自己参考这对lucene4的支持写的,希望对大家有用。

    lucene3庖丁解牛中文分词器

    支持lucene3的庖丁解牛分词器和字典,可直接调用

    lucene中文分词器Jceseg和IK Analyzer使用示例

    lucene中文分词器Jceseg和IK Analyzer使用示例,lucene5可以使用,本人亲测成功,大家放心用,喜欢lucene的人大家关注我的博客 http://blog.csdn.net/wuyinggui10000/article/category/3173543 大家共同交流,有需要...

    高版本Lucene的IK分词器

    maven库中现有的ik分词器只支持低版本的Lucene,想要支持高版本的Lucene,需要重写老版本ik分词器里的部分代码. 下载代码片段后导入项目,在创建分词器的时候把new IKAnalyzer替换为 new IKAnalyzer5x即可。

    lucene中文分词工具包

    IKAnalyzer 是一个开源的,基于java语言开发的轻量级的中文分词工具包,将一段文字进行IK分词处理一般经过:词典加载、预处理、分词器分词、歧义处理、善后结尾 五个部分

    简单的LUCENE分词

    在JAVA下,用lucene的内置分词功能对XML文件进行分词,并取消无用词

    Lucene中文分词组件 JE-Analysis 1.5.1

    全面支持Lucene 2.0 增强了词典维护的API 增加了商品编码的匹配 增加了Mail地址的匹配 实现了词尾消歧算法第二层的过滤 整理优化了词库 1.4.0 —— 2006-08-21 增加词典的动态扩展能力 1.3.3 ...

    适合Lucene5.x的IKAnalyzer-5.0分词器的jar包

    适合Lucene5.x的IKAnalyzer-5.0分词器的jar包,重写了前面版本的IKAnalyzer,我已经试过,可以使用。

    Lucene中文分词源码详解

    Lucene,作为一种全文搜索的辅助工具,为我们进行条件搜索,无论是像Google,Baidu之类的搜索引 擎,还是论坛中的搜索功能,还是其它C/S架构的搜索,都带来了极大的便利和比较高的效率。本文主要是利用Lucene对MS Sql...

    分词lucene

    中文分词器: 1. http://code.google.com/p/ik-analyzer/ (IK_Analyzer_2012FF_hf1.zip) 2. https://code.google.com/p/mmseg4j/ (mmseg4j-1.9.1.v20130120-SNAPSHOT.zip) 查看分词库: ...

    基于lucene的分词

    java代码,基于Lucene和mysql的简单的字符串匹配分词系统

Global site tag (gtag.js) - Google Analytics