首页 > 代码库 > Lucene中TokenStream,Tokenizer,TokenFilter,TokenStreamComponents与Analyzer

Lucene中TokenStream,Tokenizer,TokenFilter,TokenStreamComponents与Analyzer

TokenStream extends AttributeSource implements Closeable:
incrementToken,end,reset,close
Tokenizer直接继承至TokenStream,其输入input是一个reader
TokenFilter也直接继承TokenStream,但input是一个TokenStream。
TokenStreamComponents其实是将tokenizer和tokenfilter包装起来的(也可以只是tokenizer,两个成员叫source和sink),可以setReader,getTokenStream方法返回sink。
Analyzer就是一个TokenStreamComponents的容器,因此需要确定ReuseStrategy,重写createComponents(fieldName,reader)方法,使用时调用tokenStream(fieldName,reader)方法获取TokenStream就可以了。