2.Lucene基礎知識

分詞 analyzers

分詞比較好理解,我們可以理解爲把一個句子分成一個可能的詞組成的數組。

比如:“爲了保證用戶不受到騷擾” 這個句子可能組成的數組爲["爲了","保證","用戶","不受","到","騷擾"],這樣的操作就是分詞。

市場上已有現成的分詞工具類,不用我們去寫這個算法。

索引 index

Lucene 中最重要的對象,搜索就是基於它來操作的。

Lucene 的索引主要就是把我們需要搜索的內容進行分詞,然後根據這些分詞來建立索引文件。

Lucene 的索引就像我們mysql數據庫中的一個數據對象一樣。

Lucene 創建索引的步驟:

  • 指定一個存放索引的目錄
  • 創建一個索引寫入類,用於寫入索引和數據對象到索引目錄中
  • 創建存放數據的類型,指定是否需要存儲、是否分詞、是否建立索引等
  • 創建存放數據的文檔,把數據按照類型存放進去
  • 把文檔添加到到索引中
  • 保存索引和數據到索引目錄

文檔 document

文檔表示我們的一條條的數據對象,主要負責存儲數據。

索引最終也是指向這些文檔的,因爲我們最終目標就是找到這些數據。

搜索就是根據指定的語法去 Lucene 的索引中搜索數據的一個過程。

Lucene 搜索的步驟:

  • 獲取搜索的關鍵字
  • 根據傳入的字段和關鍵字進行組裝搜索語法
  • 根據搜索語法到索引中查詢得到索引指向的文檔編號
  • 根據文檔編號的信息查詢出文檔數據對象
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章