中文(中国)更改
 
powered by
Hawk Search
Hawk Search

 
分类

 
文章

 
日历

二月 2010
« 四    
1234567
891011121314
15161718192021
22232425262728
 
 
Javen-Studio Thinking of Life, Imagination of Future.
NEWS

Annotated Lucene:第三节 索引文件结构(3)

3.2.3.2 Field数据(.fdx和.fdt)

存储的fields(stored fields)通过两个文件来呈现(represented by two files),即field索引文件(.fdx)和field数据文件(.fdt)。

文件

包含的项

父项

数目

类型

版本

描述

Fields Index

(.fdx)

对每个文档来说,存储指向它的fields数据的指针(pointer

FieldValuesPosition

 

SegSize

UInt64

 

用于找详细文档(a particular document)的所有fieldsfield数据文件中的位置(position),因为它包含的(contains)是固定长度的数据(fixed-length data),这个文件可以很容易地进行随机访问(randomly accessed)。

 

文档nfield数据的位置是在该文件中n*8的位置中(UInt64类型)。

Fields Data

.fdt

这个文件存储每个文档的field数据

DocFieldData

 

SegSize

 

 

 

FieldCount

DocFieldData

1

VInt

 

 

FieldNum

DocFieldData

FieldCount

VInt

 

 

Bits

DocFieldData

FieldCount

Byte

<=1.4

只有最低阶的bit位(low-order bits of Bits)被使用,值为1表示tokenized field(分解过的field),0表示non-tokenized field

Byte

>=1.9

最低阶的bit位表示tokenized field

>=1.9

第二个bitsecond bit)用于表示该field存储binary数据。

>=1.9

第三个bitthird bit)表示该field的压缩选项被开启(field with compression enabled),如果压缩选项开启,采用的压缩算法(algorithm)是ZLIB

Value

DocFieldData

FieldCount

String

<=1.4

 

String | BinaryValue

>=1.9

依赖于Bits的值

BinaryValue

>=1.9

ValueSize,<Byte>^ValueSize

ValueSize

Value

1

VInt

>=1.9

 

 
结构如下图所示:

发表评论