fnm的索引檔案格式的具體結構及資料型別

2021-09-02 17:10:47 字數 1244 閱讀 4907

介紹了.fnm的索引檔案格式的具體結構及資料型別,那麼本篇呢,將介紹另外兩種格式.fdx和fdt。

stored field values,代表著儲存欄位的具體的值,對於在索引裡的每乙個文件(document),本質上都是儲存著一系列的基於屬性名和值的k-v段,其實也就是欄位的名和字段的值,這一點和大多數nosql的儲存格式是非常相似的,都是非常靈活鬆散的。

儲存的字段一般都是關於這個文件的輔助資訊,例如:它的標題,url,或乙個識別符號是否訪問資料庫,另外需要在搜尋時並取出值的字段,是必須儲存的,如果這個字段不是必須儲存的,但是檢索時卻需要被檢索,那麼在索引時,可以設定索引,不儲存,因為索引的大小會影響檢索的效率,所以盡量不要浪費索引儲存的空間。

儲存的字段(stored fields)有2個核心的檔案。

1,索引欄位的資料在.fdx的檔案裡。

索引通常用於檢索特定的文件在字段裡,索引裡包含乙個固定長度的資料使這個檔案更加容易的支援隨機訪問,文件的位置儲存在8位的檔案裡。

每個索引文件都包含乙個它對應的儲存資料的指標,以便於能夠更加快速檢索。

fieldindex (.fdx) --> , segsize

header --> codecheader

fieldvaluesposition --> uint64

2,字段儲存的資料在.fdt的檔案裡

每個儲存的字段都包含如下資訊:

fielddata (.fdt) --> , segsize

header --> codecheader

docfielddata --> fieldcount, fieldcount

fieldcount --> vint

fieldnum --> vint

bits --> byte

(1)第乙個bit位被保留

(2)第二個是乙個包含著二進位制資料的字段

(3)第三個bit位被保留

(4)第四至第六位,(mask: 0x7<<3)定義乙個數字型別的字段

如果沒有數字字段儲存,所有的bit位將被清除

1<<3: 值是乙個int型別

2<<3: 值是乙個long型別

3<<3: 值是乙個float型別

4<<3: 值是乙個double型別

value 儲存的型別可以是字串,二進位制型別,整形,長整型(依賴bit)

binaryvalue 位元組型別的儲存

valuesize vint,變長格式的整形。

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...

lucene索引檔案格式

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