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
是第三方实现的分词器,继承自Lucene
的Analyzer
类,针对中文文本进行处理。
10、
JE-Analysis
JE-Analysis
是Lucene
的中文分词组件,需要下载。
11、
ICTCLAS4J
ictclas4j
中文分词系统是sinboy
在中科院张华平和刘群老师的研制的FreeICTCLAS
的基础上完成的一个java
开源分词项目,简化了原分词程序的复杂度,旨在为广大的中文分词爱好者一个更好的学习机会。
12、
Imdict-Chinese-Analyzer
imdict-chinese-analyzer
是 imdict
智能词典 的智能中文分词模块,算法基于隐马尔科夫模型(Hidden Markov Model, HMM)
,是中国科学院计算技术研究所的ictclas
中文分词程序的重新实现(基于Java
),可以直接为lucene
搜索引擎提供简体中文分词支持。
13、
Paoding Analysis
Paoding Analysis
中文分词具有极 高效率 和 高扩展性。引入隐喻,采用完全的面向对象设计,构思先进。其效率比较高,在PIII 1G
内存个人机器上,1
秒可准确分词100
万汉字。采用基于不限制个数的词典文件对文章进行有效切分,使能够将对词汇分类定义。能够对未知的词汇进行合理解析。
14、
MMSeg4J
mmseg4j
用 Chih-Hao Tsai
的 MMSeg
算法(http://technology.chtsai.org/mmseg/ )
实现的中文分词器,并实现 lucene
的 analyzer
和 solr
的TokenizerFactory
以方便在Lucene
和Solr
中使用。 MMSeg
算法有两种分词方法:Simple
和Complex
,都是基于正向最大匹配。Complex
加了四个规则过虑。官方说:词语的正确识别率达到了 98.41%
。mmseg4j
已经实现了这两种分词算法
分享到:
相关推荐
来自“猎图网 www.richmap.cn”基于IKAnalyzer分词算法的准商业化Lucene中文分词器。 1. 正向全切分算法,42万汉字字符/每秒的处理能力(IBM ThinkPad 酷睿I 1.6G 1G内存 WinXP) 2. 对数量词、地名、路名的...
Lucene中文分词器组件,不错的。
lucene3.0 中文分词器, 庖丁解牛
lucene搜索引擎中文分词器,版本2.0.4,强大的中文分词效果在其它中文分词器当中独领风骚
Ik中分分词器介绍,可用于lucene4.0
lucene.NET 中文分词 高亮 lucene.NET 中文分词 高亮 lucene.NET 中文分词 高亮 lucene.NET 中文分词 高亮
用java写的图形分词测试的小东西,用的分词器是: 来自“猎图网 www.richmap.cn”基于IKAnalyzer分词算法的准商业化Lucene中文分词器,其使用“正向全切分算法”,42万汉字字符/每秒的处理能力(IBM ThinkPad 酷睿I...
Lucene3.0分词系统.doc
本压缩包的主要内容是Lucene分词器的demo版本,可以导入到程序中直接使用,包含Lucene分词使用的pom文件,使用前请注意修改存储地址。
在网上找了好半天也没找到jcseg分词器对lucene 3的支持,自己参考这对lucene4的支持写的,希望对大家有用。
支持lucene3的庖丁解牛分词器和字典,可直接调用
lucene中文分词器Jceseg和IK Analyzer使用示例,lucene5可以使用,本人亲测成功,大家放心用,喜欢lucene的人大家关注我的博客 http://blog.csdn.net/wuyinggui10000/article/category/3173543 大家共同交流,有需要...
maven库中现有的ik分词器只支持低版本的Lucene,想要支持高版本的Lucene,需要重写老版本ik分词器里的部分代码. 下载代码片段后导入项目,在创建分词器的时候把new IKAnalyzer替换为 new IKAnalyzer5x即可。
IKAnalyzer 是一个开源的,基于java语言开发的轻量级的中文分词工具包,将一段文字进行IK分词处理一般经过:词典加载、预处理、分词器分词、歧义处理、善后结尾 五个部分
在JAVA下,用lucene的内置分词功能对XML文件进行分词,并取消无用词
全面支持Lucene 2.0 增强了词典维护的API 增加了商品编码的匹配 增加了Mail地址的匹配 实现了词尾消歧算法第二层的过滤 整理优化了词库 1.4.0 —— 2006-08-21 增加词典的动态扩展能力 1.3.3 ...
适合Lucene5.x的IKAnalyzer-5.0分词器的jar包,重写了前面版本的IKAnalyzer,我已经试过,可以使用。
Lucene,作为一种全文搜索的辅助工具,为我们进行条件搜索,无论是像Google,Baidu之类的搜索引 擎,还是论坛中的搜索功能,还是其它C/S架构的搜索,都带来了极大的便利和比较高的效率。本文主要是利用Lucene对MS Sql...
中文分词器: 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) 查看分词库: ...
java代码,基于Lucene和mysql的简单的字符串匹配分词系统