Analysis包中的源碼詳解

 
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
發佈了34 篇原創文章 · 獲贊 3 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章