关于Tokenizer与TokenFilter的区别

Lucene Analyzer包含两个核心组件,Tokenizer以及TokenFilter。两者的区别在于,前者在字符级别处理流,而后者则在词语级别处理流。Tokenizer是Analyzer的第一步,其构造函数接收一个Reader作为参数,而TokenFilter则是一个类似拦截器的东东,其参数可以使TokenStream、Tokenizer,甚至是另一个TokenFilter。整个Lucene Analyzer的过程如下图所示: 

  

  

  上图中的一些名词的解释如下表所示: 

说明
Token 表示文中出现的一个词,它包含了词在文本中的位置信息
Analyzer 将文本转化为TokenStream的工具
TokenStream 文本符号的流
Tokenizer 在字符级别处理输入符号流
TokenFilter 在字符级别处理输入符号流,其输入可以是TokenStream、Tokenizer或者TokenFilter
posted @ 2018-01-23 15:03  車輪の唄  阅读(17)  评论(0)    收藏  举报  来源