今天繼續看《lucene in action》,將簡單地做一下筆記。
一、核心索引相關類
1)indexwriter
職責:建立索引或新增lucene結構的記錄(document)到索引中——建立/修改索引而不允許讀取索引。
2)directory
職責:lucene所建立的索引位置。此類是個抽象類,其子類有兩個fsdirectory和ramdirectory,表明了lucene所建立的索引只有兩個可能的位置:磁碟檔案儲存形式或記憶體儲存形式。其兩個子的繼承關係下圖(此圖是對lucene 1.4.3原始碼進行逆向工程得到,截圖去掉了fsdirectory類的兩個關聯關係,其它我沒有檢查其可靠性):
3)analyzer
職責:對被索引的檔案進行分析(分詞)便於建立精確的全文索引。這個類也是抽象類,其具體實現lucene接供文字分析器,具體如下圖示:
這些類具體作用有等進一步學習,重點是其擴充套件分詞:tokenizer類以適應新的字詞,語義切分。
4)document
職責:作為lucene的索引記錄(類似於資料庫的記錄,記錄由欄位構成)。
5)field
職責:作為lucene的document的字段。其與document類的關係圖如下圖示。
資料庫中表的字段有資料型別,lucene的字段也自己的資料型別,主要四種:keyword,unindexed,unstored,text其具體含義見 《luncene in action》,但要注意在lucene 2.4.0中已引入幾個新類,並且field類的用法有些變化,在建構函式中指定字段型別,有了termvertor型別。
先就寫到這兒吧,得吃飯去了。下午來再接著看,xp要持續開發部署,我來個持續學習lucene,呵呵,走了
Lucene 建立索引
public class indexer public static string indexdir d luceneindex public static void main string args system.out.println 被索引的文件個數 writer.numdocs catch ...
lucene建立索引並搜尋mysql資料庫
lucene結合資料庫步驟 1 寫一段傳統的jdbc程式,將每條的使用者資訊從資料庫讀取出來 2 針對每條使用者記錄,建立乙個lucene document document doc new document 並根據你的需要,將使用者資訊的各個字段對應luncene document中的field ...
lucene搜尋索引
官方demo,裡面思路也算清晰,也可以執行 lucene 6.3.0建立索引 public class searchfiles string index index string field contents string queries null int repeat 0 boolean raw ...