lucene的分詞器

一.默認分詞器

默認使用的標準分析器StandardAnalyzer

二.查看分詞器的分詞效果

使用Analyzer對象的tokenStream方法返回一個tokenStream對象。該對象包含最終分詞結果。

1.實現步驟

(1)創建一個Analyzer對象,StandardAnalyzer對象。

(2)使用分析器的tokenStream方法返回一個tokenStream對象。

(3)向tokenStream對象中設置一個引用,相當於一個指針。

(4)調用tokenStream對象中的rest方法,如果不調用拋出異常。

(5)使用while循環遍歷tokenStream對象。

(6)關閉tokenStream對象。

2.範例

圖片

三.IKAnalyzer【中文解析器】

1.使用方法

  1. 把IKAnalyzer的jar包放入工程中。
  2. 把配置文件和擴展詞典添加到工程的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對象。

2.範例

(1)創建索引

圖片

圖片

(2)查詢索引

圖片

五.源碼

lucene.rar

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章