lucene索引檔案格式詳解

2021-09-01 03:45:08 字數 971 閱讀 2441

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

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

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

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

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

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

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

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

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

Lucene 索引檔案格式詳解

1.索引的segment 每個segment代表lucene的乙個完成的索引段,通常,在乙個索引中,會包含多個segment,每個segment都有統一的字首,這個字首是根據當前索引的document的數量而確立的。字首名是document轉成36進製後在前面加 組成。通常在以個完成的索引中,只有乙...

lucene 索引檔案格式

lucene索引檔案格式詳解本文介紹lucene中segment,fnm,fdx,fdt,tii,tis,deletable cfs等格式檔案的用途。1。索引的segment 每個segment代表lucene的乙個完整索引段。通常,在乙個索引中,會包含有多個segment。每個segment都有乙...

lucene 索引檔案格式

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