呼延十

还记得年少时的梦吗

Lucene系列(13)索引格式之nvd文件

本文使用 Lucene 代码版本:8.7.0 前言 本文学习一下。nvd 文件的格式与内容。 nvm 与 nvd 文件配合存储了索引中的标准化相关信息。其中 nvd 存储了真实的数据,比如当前 field 有值的所有 docId,以及他们的标准化值。 .nvd 文件整体结构 字段解释: Field: 一个 field 的所有标准化信息 DocIDWIth...

Lucene系列(12)索引格式之nvm文件

本文使用 Lucene 代码版本:8.7.0 前言 本文学习一下。nvm 文件的格式与内容。 nvm 与 nvd 文件配合存储了索引中的标准化相关信息。其中 nvm 存储了元数据,nvd 文件存储了标准化后的值及相关 docId 信息。 .nvm 文件整体结构 字段解释: Entry: 一个 field 的标准化信息 FileNumber: 域的编号 ...

Lucene系列(11)索引格式之pay文件

本文使用Lucene代码版本: 8.7.0 前言 本文学习一下.pay文件的格式与内容。 pos文件中存储了每个term对应的payload信息,还有offset信息. 可以发现, 从文件内容,及文件复杂度上来讲. doc > pos > pay. doc: doc文件中存储了term的所有docId及词频。此外还存储了跳跃信息,跳跃信息不仅帮助读取docId及...

Lucene系列(十)索引格式之pos文件

本文使用Lucene代码版本: 8.7.0 前言 本文学习一下.pos文件的格式与内容。 pos文件中存储了每个term对应的位置信息. 与doc文件在同一模块进行写入. 因此文件格式与doc总体上讲也是基本相同的,因为不用存储跳跃数据(doc文件中的跳跃数据包含了pos文件的文件位置,可以协助查找),文件反而简单了许多. .pos文件整体结构 其中的字段解释: In...

Lucene系列(九)索引格式之doc文件

本文使用Lucene代码版本: 8.7.0 前言 本文学习一下.doc文件的格式与内容。 doc文件中存储了每个term对应的所有docId,及词频信息. .doc文件整体结构 图片好像有点大,看不清,分块的图片放在文章最后 其中的字段解释: IndexHeader: 索引头 ‘L’/’B’: ByteOrder是Big_ENDIAN还是Little_ENDIAN...

Lucene系列(八)索引格式之fnm文件

本文使用Lucene代码版本: 8.7.0 前言 本文学习一下.fnm文件的格式与内容。 fnm文件主要存储域的基础信息,前面我们知道了,在fdt,fdm,fdx三个文件中,配合存储了域的值信息,其中在fdt文件中,存储域的值信息时,为了将每个值与域名能对应起来,存储了FieldNumberAndType.  详情可查看 [lucene索引文件之fdt文件]http://huyan.c...

Lucene系列(七)索引格式之fdx文件

前言 这篇文章介绍。fdx 文件格式。 .fdx 文件整体格式 看起来比较简单,实际写入代码是 fdt,fdm,fdx 三个文件中最复杂的。 其中内容包括: IndexHeader. 索引文件头,前面说过,就不细说了。 Footer: 索引文件脚,不细说。 ChunkDocsNum: 一个数组,含义是:每个 Chunk 中的 doc 数量。 ChunkStart...

Lucene系列(六)索引格式之fdt文件

前言 本文介绍一下。fdt 文件的存储格式。 fdt 文件,以正排的方式,存储了 field 的原始真实数据。也就是说,你添加到所有中的所有 field 内容。都会存储在此文件中。 .fdt 文件整体结构 其中Header **和 Footer**, 与其中文件并无差别。详细字段解释可以看 Lucene 系列(二)索引格式之 fdm 文件 这里主要看一下以 chunk 为单位进...