|
名称 |
文件后缀 |
描述 |
|
段文件(Segments File) |
segments.gen segments_N |
存储提交点信息 |
|
锁文件(Lock File) |
write.lock |
用来阻止多个indexWriter向同一个文件写数据 |
|
段信息(Segments Info) |
.si |
存储段的元数据信息 |
|
复合文件(Compound File) |
.cfs , .cfe |
一个可选的虚拟文件,包括所有其他索引文件系统频繁用完的文件句柄 |
|
字段信息(Fields) |
.fnm |
存储字段的信息 |
|
字段索引(Fields Index) |
.fdx |
包含指向字段值的指针 |
|
字段数据(Field Data) |
.fdt |
存储文档里面的字段信息 |
|
词典(Term Dictionary) |
.tim |
存储词信息 |
|
词索引(Term Index) |
.tip |
指向词典的索引 |
|
频率信息(Frequencies) |
.doc |
包含那些含有每一个词的频率的文档列表 |
|
位置信息(Positions) |
.pos |
存储词在索引中出现的位置信息 |
|
Payloads |
.pay |
额外存储每个位置的元数据信息,如字符偏移和用户负载 |
|
Norms |
.nvd , .nvm |
文档和字段的length和boost系数的编码 |
|
每个文档的值(Per-Document Values) |
.dvd , .dvm |
额外的得分系数或者每个文档的值信息编码 |
|
词向量索引(Term Vector Index) |
.tvx |
存储文档的偏移数据文件 |
|
词向量文件(Term Vector Documents) |
.tvd |
包含有词向量的文档信息 |
|
词向量字段(Term Vector Fields) |
.tvf |
关于词向量的字段级信息 |
|
删除文档(Deleted Documents) |
.del |
关于什么文件被删除的信息 |
lucene一个文件夹就是一个索引。
关系是:
索引(Index) –> 段(segment) –> 文档
(Document) –> 域(Field) –> 词(Term)
这些概念定义如下:
- 段(Segment):
一个索引可以包含多个段,段与段之间是独立的,添加新文档可以生成新的段,不
同的段可以合并。
如上图,具有相同前缀文件的属同一个段,图中共两个段 "_0" 和 "_1"。
segments.gen 和segments_5 是段的元数据文件,也即它们保存了段的属性信息。
- 文档(Document):
文档是我们建索引的基本单位,不同的文档是保存在不同的段中的,一个段可以包
含多篇文档。
新添加的文档是单独保存在一个新生成的段中,随着段的合并,不同的文档合并到
同一个段中。
- 域(Field):
一篇文档包含不同类型的信息,可以分开索引,比如标题,时间,正文,作者等,
都可以保存在不同的域里。
不同域的索引方式可以不同,在真正解析域的存储的时候,我们会详细解读。
- 词(Term):
词是索引的最小单位,是经过词法分析和语言处理后的字符串。