分詞和查詢都是以詞項為基本單位,詞項是詞條化的結果。在Lucene中分詞主要依靠Analyzer類解析實現。Analyzer類是一個抽象類,分詞的具體規則是由子類實現的,所以對於不同的語言規則,要有不同的分詞器
1. StopAnalyzer
停用詞分詞器:能過濾詞匯中的特定字符串和詞匯,並且完成大寫轉小寫的功能。
2. StandardAnalyzer
標准分詞器:根據空格和符號來完成分詞,還可以完成數字、字母、E-mail地址、IP地址以及中文字符的分析處理,還可以支持過濾詞表,用來代替StopAnalyzer能夠實現的過濾功能。
3. WhitespaceAnalyzer
空格分詞器:使用空格作為間隔符的詞匯分割分詞器。處理詞匯單元的時候,以空格字符作為分割符號。分詞器不做詞匯過濾,也不進行小寫字符轉換。實際中可以用來支持特定環境下的西文符號的處理。由於不完成單詞過濾和小寫字符轉換功能,也不需要過濾詞庫支持。詞匯分割策略上簡單使用非英文字符作為分割符,不需要分詞詞庫支持。
4. SimleAnalyzer
簡單分詞:具備基本西文字符詞匯分析的分詞器,處理詞匯單元時,以非字母字符作為分割符號。分詞器不能做詞匯的過濾,之進行詞匯的分析和分割。輸出地詞匯單元完成小寫字符轉換,去掉標點符號等分割符。
5. CJKAnalyzer
二分法分詞:內部調用CJKAnalyzer分詞器,對中文進行分詞,同時使用StopFilt過濾器完成過濾功能,可以實現中文的多元切分和停用詞過濾。
6. IKAnalyzer
IKAnalyzer實現了以詞典為基礎的正反向全切分,以及正反向最大匹配切分兩種方法。IKAnalyzer是第三方實現的分詞器,繼承自Lucene的Analyzer類,針對中文文本進行處理。
7. Paoding Analysis
Paoding Analysis中文分詞具有極 高效率 和 高擴展性。引入隱喻,采用完全的面向對象設計,構思先進。其效率比較高,在PIII 1G內存個人機器上,1秒可准確分詞100萬漢字。采用基於不限制個數的詞典文件對文章進行有效切分,使能夠將對詞匯分類定義。能夠對未知的詞匯進行合理解析。
8. MMSeg4J
mmseg4j 用 Chih-Hao Tsai 的 MMSeg 算法實現的中文分詞器(http://technology.chtsai.org/mmseg/ ),並實現 lucene 的 analyzer 和 solr 的TokenizerFactory 以方便在Lucene和Solr中使用。 MMSeg 算法有兩種分詞方法:Simple和Complex,都是基於正向最大匹配。Complex 加了四個規則過慮。官方說:詞語的正確識別率達到了 98.41%。mmseg4j 已經實現了這兩種分詞算法。
作者:柯之夢
來源:CSDN
原文:https://blog.csdn.net/yin4302008/article/details/86585946
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!