Lucene索引文件結構速覽


Lucene的索引結構是有層次結構。
每個層次都保存了本層次的信息以及下一層次的元信息。


1) 索引Index
 在Lucene中,一個索引是放在一個文件夾中的

2) 段Segment
 一個索引可以包含多個段,段與段之間是獨立的。
 添加新文檔可以生成新的段,不同的段可以合併。

3) 文檔Doucument
 文檔是我們建索引的基本單位
 不同的是保存在不同的段中的
 一個段可以包含多篇文檔
 新加的文檔是單獨保存在一個新生成的段中的
 隨着段的合併,不同的文檔合併到同一個段中

4) 域Field
 一篇文檔包含不同類型的信息,可以分開索引
 不同域的索引方式可以不同

5) 詞Term
 詞是索引的最小單位
 是經過詞法分析和語言處理後的字符串


Lucene的索引結構,即保存了正向信息,也保存了反向信息。
正向信息:索引Index --> 段Segment --> 文檔Document --> 域Field --> 詞Term
反向信息:詞Term --> 文檔Document

 

1. 屬於整個索引index的文件


1.1. Generation of index【segments.gen】


segments.gen

 

1.2. 段的元數據 Segment metadata【segments_N】


segments_N

保存的是段segment的元數據
然後分多個segment保存數據信息
同一個segment有相同的前綴文件名

 

1.3. 寫鎖定文件 Write lock file【Write.lock】


Write.lock

 

1.4. 段數據 Segment data下節細講


 

 

2. 屬於某個段segment的文件


對於每個段,包含域信息、詞信息,以及其它信息,如標準化因子、刪除文檔

 

2.1. 域信息 Field Information (是正向信息)

 

2.1.1.域的元數據信息 Field metadata 【.fnm】


.fnm 保存了此段包含了多少個域,每個域的名稱及索引方式。

 

2.1.2.域的數據信息 Field data 【.fdt/.fdx】


.fdt、.fdx 保存了此段包含的所有文檔
.fdt是域數據文件: 保存存儲域信息
.fdx是域索引文件: 保存索引域信息

 


2.1.3. 詞向量Term Vector的數據信息【.tvx/.tvd/.tvf】


.tvx詞向量索引文件
.tvd詞向量文檔文件
.tvf詞向量域文件

 


2.2. 詞信息 Term Information (是反向信息)

 


2.2.1. 詞典 Term Dictionary 【.tis/.tii】


.tis詞典文件
.tii詞典索引文件

 

2.2.2. 文檔號及詞頻信息 Term Frequency 【.frq】


.frq: 文檔號及詞頻倒排表

 

2.2.3. 詞位置信息 Term Postion 【.prx】


.prx: 詞位置倒排表 Term Postion

 

 

2.3. 其它信息


2.3.1. 標準化因子文件 Normalization Info 【.nrm】


.nrm

 

2.3.2. 刪除文檔文件 Deleted Documents 【.del】


.del

 

發佈了49 篇原創文章 · 獲贊 25 · 訪問量 27萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章