基于Lucene3.5.0如何从TokenStream获得Token lucene3.5下载

基于Lucene3.5.0如何从TokenStream获得Token

分类: 编程练习 2012-02-01 17:36 268人阅读 评论(0) 收藏 举报

通过学习Lucene3.5.0的doc文档,对不同release版本 lucene版本的API改动做分析。最后找到了有价值的改动信息。 LUCENE-2302: Deprecated TermAttribute and replaced by a new CharTermAttribute. The change is backwards compatible, so mixed new/old TokenStreams all work on the same char[] buffer independent of which interface they use. CharTermAttribute has shorter method names and implements CharSequence and Appendable. This allows usage like Java's StringBuilder in addition to direct char[] access. Also terms can directly be used in places where CharSequence is allowed (e.g. regular expressions).(Uwe Schindler, Robert Muir)

以上信息可以知道,原来的通过的方法已经不能够提取响应的Token了 [java] view plaincopy?

StringReaderreader=newStringReader(s);

TokenStreamts=analyzer.tokenStream(s,reader);

TermAttributeta=ts.getAttribute(TermAttribute.class);

通过分析Api文档信息 可知,CharTermAttribute已经成为替换TermAttribute的接口

基于Lucene3.5.0如何从TokenStream获得Token lucene3.5下载
因此我编写了一个例子来更好的从TokenStream中提取Token

[html] view plaincopy?

packagecom.segment;

importjava.io.StringReader;

importorg.apache.lucene.analysis.Analyzer;

importorg.apache.lucene.analysis.Token;

importorg.apache.lucene.analysis.TokenStream;

importorg.apache.lucene.analysis.tokenattributes.CharTermAttribute;

importorg.apache.lucene.analysis.tokenattributes.TermAttribute;

importorg.apache.lucene.util.AttributeImpl;

importorg.wltea.analyzer.lucene.IKAnalyzer;

publicclassSegment{

publicstaticStringshow(Analyzera,Strings)throwsException{

StringReaderreader=newStringReader(s);

TokenStreamts=a.tokenStream(s,reader);

Strings1="",s2="";

booleanhasnext=ts.incrementToken();

//Tokent=ts.next();

while(hasnext){

//AttributeImplta=newAttributeImpl();

CharTermAttributeta=ts.getAttribute(CharTermAttribute.class);

//TermAttributeta=ts.getAttribute(TermAttribute.class);

s2=ta.toString()+"";

s1+=s2;

hasnext=ts.incrementToken();

}

returns1;

}

publicStringsegment(Strings)throwsException{

Analyzera=newIKAnalyzer();

returnshow(a,s);

}

publicstaticvoidmain(Stringargs[])

{

Stringname="我是俊杰,我爱编程,我的测试用例";

Segments=newSegment();

Stringtest="";

try{

System.out.println(test+s.segment(name));

}catch(Exceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

  

爱华网本文地址 » http://www.aihuau.com/a/25101014/200737.html

更多阅读

如何从淘宝网首页进入规则频道 淘宝网网站首页

如何从淘宝网首页进入规则频道——简介现在淘宝做的是越来越大了,很多的人在淘宝上开店,在别人的地盘上就要守人家的规矩,那么淘宝的规则频道怎么进呢?如何从淘宝网首页进入规则频道——方法/步骤如何从淘宝网首页进入规则频道 1、先打

比特币中国如何挖矿获得比特币 怎样购买比特币

比特币中国如何挖矿获得比特币——简介特币是一种资源极其有限的数字货币,可以流通和使用,因为数量有限,所以受到众多投资者的追捧,所以价钱一直很高,那么想要拥有比特币的朋友不妨试一试挖矿,挖矿很简单和我们平常玩游戏差不多,今天平常心

如何调整ClearType获得更美观的结果 cleartype设置

如何调整ClearType获得更美观的结果——简介xp系统中的ClearType技术将显示字体时使用的每个像素拆分为3个亚像素,并按照字符内容对亚像素进行填充,以便获得更加平滑、更加美观的文字。  不过取决于具体的硬件设备(包括显卡和显示

如何从毛色毛量骨量辨别哈士奇的优异 哈士奇骨量

如何从毛色毛量骨量辨别哈士奇的优异——简介  西伯利亚雪橇犬属于中型工作犬,脚步轻快,动作优美。身体紧凑,有着很厚的被毛,耳朵直立,尾巴象刷子,显示出北方地区的遗传特征。步态很有特点:平滑、不费力。他最早的作用就是拉小车,现在仍十

Word如何从正文开始起插入页码 word目录正文页码

Word如何从正文开始起插入页码——简介在正文中插入页码可以方便使用阅读Word如何从正文开始起插入页码——工具/原料电脑一台Word如何从正文开始起插入页码——方法/步骤Word如何从正文开始起插入页码 1、,打开Word软件,将光标放到

声明:《基于Lucene3.5.0如何从TokenStream获得Token lucene3.5下载》为网友杀死庸碌分享!如侵犯到您的合法权益请联系我们删除