期间查看了该包的源码并作了一些分析,现在贴出来以供参.docVIP

  • 3
  • 0
  • 约4.81千字
  • 约 8页
  • 2018-08-27 发布于江苏
  • 举报

期间查看了该包的源码并作了一些分析,现在贴出来以供参.doc

期间查看了该包的源码并作了一些分析,现在贴出来以供参

我的毕业设计是基于全文检索引擎工具包Luncene的analysis包而实现的,期间查看了该包的源码并作了一些分析,现在贴出来以供参考。   注:这里分析的只是analysis包的一些基本类,而不是全部。   1、Token类:   package?org.apache.lucene.analysis;   public?final?class?Token{   String?termText;??//?词项文本(the?text?of?the?term)   int?startOffset;??//?Token在源文本中的起始位置(start?in?source?text)   int?endOffset;??//?Token在源文本中的结束位置(end?in?source?text)   String?type?=?word;?//~?Token的词类型,默认是word(lexical?type,?default?is?word)   //:?附:lexical?type:   //:?single?=?ASCII   //:?double?=?non-ASCII   //:?word???=?default   private?int?positionIncrement?=?1;?//?位移增量,即TokenStream里当前Token与   //??先前某一个Token之间的位移差,默认为1   //~?第一个构造器   public?Token(String?text,?int?start,?int?end){   termText?=?text;   startOffset?=?start;   endOffset?=?end;   }   //~?第二个构造器   public?Token(String?text,?int?start,?int?end,?String?type){   termText?=?text;   startOffset?=?start;   endOffset?=?end;   this.type?=?type;   }   //~?设置位移增量方法   public?void?setPositionIncrement(int?positionIncrement){   if(?positionIncrement??0?)   throw?new?IllegalArgumentException(   Increment?must?be?zero?or?greater:??+?positionIncrement);   this.positionIncrement?=?positionIncrement;   }   //~?获取位移增量   public?int?getPositionIncrement()?{?return?positionIncrement;?}   //~?获取词项文本   public?final?String?termText()?{?return?termText;?}   //~?获取Token的起始位置   public?final?int?startOffset()?{?return?startOffset;?}   //~?获取Token的结束位置   public?final?int?endOffset()?{?return?endOffset;?}   //~?获取Token的词类型   public?final?String?type()?{?return?type;?}   //~?重载基类(Object)的toString()方法   public?final?String?toString(){   StringBuffer?sb?=?new?StringBuffer();   sb.append((?+?termText?+?,??+?startOffset?+?,??+?endOffset);   if(?!type.equals(word)?)   sb.append(,?type=?+?type);   if(?positionIncrement?!=?1?)   sb.append(,?posIncr=?+?positionIncrement);   sb.append());   return?sb.toString();   }   }?///:~   2、TokenStream类:   package?org.apache.lucene.analysis;   import?java.io.IOException;   /**   *?一个TokenStream是枚举tokens的序列,或者从文档的字段、查询文本枚举的

文档评论(0)

1亿VIP精品文档

相关文档