Lucene6.0分析(一)——數據分析接口

   Analyer作爲數據分析的主要數據模型,他通過TokenStreams分析文本。也可以說它是從文本中提取索引字段的一種策略。爲了實現分析的目的,內部採用TokenStreamComponents組件進行實現。Analyzer本身集成自Closable接口,即調用Close方法,可以釋放資源。該對象通過tokenStream方法獲取TokenStream對象。

   TokenStream方法的處理流程先通過reuseStrategy獲取TokenStreamComponents對象。如果對象爲空,創建該對象,並根據字段設置Analyzer對象;如果對象不爲空,則直接將Reader直接寫入TokenStreamComponents。

   StandAnalyzer是作爲標準的一個文本分析器,其處理的流程包括字符小寫和停用詞處理。而其中的路程處理上採用流式的管道處理。即首先將字符按照字符的分割規範將其處理爲流式的字符流,根據字符處理流在進行大小寫和停用詞的處理。流程的處理需要StandardTokenizer和Tokenizer兩個對象。StandardTokenizer是將是將輸入字符轉換爲流式字符,其中具體的實施類爲StandardTokenizerImpl。管道處理類都繼承自TokenFilter,StandAnalyzer的流式處理採用LowerCaseFilter和StopFilter對象。處理完成後返回TokenStreamComponents,Lucene根據TokenStreamComponenets構造索引字段。

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