lucene 索引檔案格式

2021-05-22 14:49:42 字數 1118 閱讀 7557

lucene索引檔案格式詳解本文介紹lucene中segment,.fnm,.fdx,.fdt,.tii,.tis,deletable ,.cfs等格式檔案的用途。

1。索引的segment

每個segment代表lucene的乙個完整索引段。通常,在乙個索引中,會包含有多個segment。每個segment都有乙個統一的字首,這個字首是根據當前索引的document數量而確立的。字首名是document數量轉為36進製後,在前面加上下劃線「_」而構成的。

通常,在乙個完整的索引中,有且只有乙個「segments」檔案,這個檔案沒有字尾,它記錄了當前索引中所有segment的資訊。

2..fnm格式

.fnm格式的檔案包含了document中的所有field名稱。可以清楚地看到,所有加入的field名稱都在其中進行了儲存。

3..fdx和.fdt格式

.fdx和.fdt是綜合使用的兩類檔案,其中.fdt型別檔案用於儲存具有store.yes屬性的field資料。而.fdx型別檔案則是乙個索引,用於儲存document在下面**就是建立索引的**。

4..tii和.tis格式

.tis檔案用於儲存分詞後的詞條(term),而.tii就是它的所有檔案,它標明了每個.tis檔案中詞條的位置.

5.deletable格式

在lucene的索引中,所有的文件被刪除後並不是立刻從索引中去除,而是留待下次合併索引或對索引進行優化時菜真正刪除,這有點類似windows的**站原理。這種功能是通過deletable檔案實現的。所有的文件在被刪除後,會首先在deletable檔案中留乙個記錄,要真正刪除時,才將索引除去。

6.復合索引格式.cfs

在indexwriter中有乙個屬性:usecompoundfile,它的預設值為true,這個屬性的含義是:是否使用復合索引格式儲存索引。索引的內容可能非常大,檔案數量可能非常的多,如果遇到這種情況,系統開啟檔案的數量巨大將會極大地耗費系統資源。因此,lucene提供了乙個單檔案索引格式,也就是所謂的復合索引格式。

使用復合索引格式儲存document內容時,只需要在初始化完成乙個indexwriter物件後,使用setusecompoundfile(boolean)方法,將usercompoundfile的屬性值設定為true就可以了。

lucene 索引檔案格式

下圖是乙個典型的lucene4.x的索引結構圖 lucene4.x之後的所有索引格式如下所示 檔名字尾描述 segments file segments.gen,segments n 儲存段檔案的提交點資訊 lock file write.lock 檔案鎖,保證任何時刻只有乙個執行緒可以寫入索引 s...

lucene索引檔案格式

學習lucene索引檔案格式的目的是通過對lucene資料結構的理解,從而為lucene索引實現打下基礎。索引檔案的整體結構 如下圖,這是整個索引檔案的整體結構,可以看到,實際上lucene索引儲存下了相當多的東西 但是,單從上面的檔案羅列,很難看出來乙個整體的結構,那麼,接下來這張圖就向我們展示這...

lucene索引檔案格式

學習lucene索引檔案格式的目的是通過對lucene資料結構的理解,從而為lucene索引實現打下基礎。索引檔案的整體結構 如下圖,這是整個索引檔案的整體結構,可以看到,實際上lucene索引儲存下了相當多的東西 但是,單從上面的檔案羅列,很難看出來乙個整體的結構,那麼,接下來這張圖就向我們展示這...