Analysis包中的源码详解

来源:互联网 发布:戴尔笔记本连不上网络 编辑:程序博客网 时间:2024/06/03 05:43
 
Analyzer.java 上文已经讲过。
CharTokenizer.java 此类为简单一个抽象类,用来对基于字符的进行简单分词(tokenizer)
LetterTokenizer.java两个非字符之间的字符串定义为token(举例来说英文单词由空白隔开,那个两个空白之间的字符串即被定义为一个token。备注:对于绝大多数欧洲语言来说,这个类工作效能很好。当时对于不用空白符分割的亚洲语言,效能极差(譬如中日韩)。)
LowerCaseFilter.java is-a TokenFilter用于将字母小写化
LowerCaseTokenizer is-a Tokenizer功能上等价于LetterTokenizer+LowerCaseFilter
PerFieldAnalyzerWrapper是一个Analyzer,因为继承自Analyzer当不同的域(Field)需要不同的语言分析器(Analyzer)时,这个Analyzer就派上了用场。使用成员函数addAnalyzer可以增加一个非缺省的基于某个Field的analyzer。很少使用。
PorterStemFilter.java使用词干抽取算法对每一个token流进行词干抽取。
PorterStemmer.java 有名的P-stemming算法
SimpleAnalyzer.java
StopAnalyzer.java   具有过滤停用词的功能
StopFilter.java     StopFilter为一个Filter,主要用于从token流中去除StopWords
原创粉丝点击