一.默認分詞器
默認使用的標準分析器StandardAnalyzer
二.查看分詞器的分詞效果
使用Analyzer對象的tokenStream方法返回一個tokenStream對象。該對象包含最終分詞結果。
1.實現步驟
(1)創建一個Analyzer對象,StandardAnalyzer對象。
(2)使用分析器的tokenStream方法返回一個tokenStream對象。
(3)向tokenStream對象中設置一個引用,相當於一個指針。
(4)調用tokenStream對象中的rest方法,如果不調用拋出異常。
(5)使用while循環遍歷tokenStream對象。
(6)關閉tokenStream對象。
2.範例
三.IKAnalyzer【中文解析器】
1.使用方法
- 把IKAnalyzer的jar包放入工程中。
- 把配置文件和擴展詞典添加到工程的classpath下。
注意事項:擴展詞典嚴禁使用windows的記事本進行編輯。需要保證擴展詞典的編碼格式爲utf-8。
擴展詞典的作用:可以添加新的詞。
停用詞典的作用:無意義的詞或者敏感詞典。
2.停用詞典和擴展詞典的圖解
3.範例
(1)代碼塊
(2)擴展詞典
(3)停用詞典
(4)停用詞典和擴展詞典的優先級
停用詞典比擴展詞典的優先級要高。所以,如果倆者同時存在,則優先選擇停用詞典。
四.中文解析器的實際應用
1.實現步驟
(1)創建索引
1.創建一個Director對象,指定索引庫的位置
2.基於Director對象創建一個IndexWriter對象。
2.1設置自定義的解析器【設置中文解析器】
2.2創建一個IndexWriter對象
3.讀取磁盤上的原始文件,對應每個文件創建一個文檔對象。
4.向文檔對象添加域。
5.把文檔對象寫到索引庫。
6.關閉indexwriter對象
(2)查詢索引
1.創建一個Director對象,指定索引庫的位置。
2.創建一個IndexReader對象。
3.創建一個IndexSearcher對象,構造方法參數中的參數IndexReader對象。
4.創建一個Query對象。TeamQuery。
5.執行查詢,得到一個TopDocs對象。
6.取出查詢結果的總記錄數。
7.取文檔列表。
8.打印文檔中的內容。
9.關閉IndexReader對象。