2008-04-30
Lucene索引文件格式分析
关键字: lucene 索引文件 格式分析
Lucene的文件格式的规范,其规定了Lucene的文件格式采取的存储单位、组织结构、命名规范等等内容.
在Lucene的文件格式中,以字节为基础,并且定义了自身的数据类型.由于它们都以字节为基础定义而来,因此保证了是平台无关,这也是Lucene索引文件格式平台无关的主要原因.
Lucene索引被处理为一个目录(文件夹),其中含有的所有文件即为其内容,这些文件按照所属的段不同分组存放,同组的文件拥有相同的文件名,不同的扩展名。此外还有三个文件,分别用来保存所有的段的记录、保存已删除文件的记录和控制读写的同步,它们分别是segments,deletable和lock文件,都没有扩展名。每个段包含一组文件,它们的文件扩展名不同,但是文件名均为记录在文件segments中段的名字。 下图为Lucene索引文件结构组成图.
通过上图可以清晰看出lucene索引文件结构与它们之间的关系.在每个段的文件中,主要记录了两大类的信息:域集合与项集合。由于索引信息是静态存储的,域集合与项集合中的文件组采用了一种类似的存储办法:一个小型的索引文件,运行时载入内存;一个对应于索引文件的实际信息文件,可以按照索引中指示的偏移量随机访问;索引文件与信息文件在记录的排列顺序上存在隐式的对应关系,即索引文件中按照“索引项1、索引项2…”排列,则信息文件则也按照“信息项1、信息项2…”排列。比如在图3.2所示文件中,segment1.fdx与segment1.fdt之间,segment1.tii与segment1.tis、segment1.prx、segment1.frq之间,都存在这样的组织关系。而域集合与项集合之间则通过域的在域记录文件(比如segment1.fnm)中所记录的域记录号维持对应关系,在图中segment1.fdx与segment1.tii中就是通过这种方式保持联系。这样,域集合和项集合不仅仅联系起来,而且其中的文件之间也相互联系起来。此外,标准化因子文件和被删除文档文件则提供了一些程序内部的辅助设施(标准化因子用在评分排序机制中,被删除文档是一种伪删除手段,被删除文档可以通过操作恢复为正常的索引文件)。整个段的索引信息就是通过这些文档有机的组成。
在Lucene的文件格式中,以字节为基础,并且定义了自身的数据类型.由于它们都以字节为基础定义而来,因此保证了是平台无关,这也是Lucene索引文件格式平台无关的主要原因.
Lucene索引被处理为一个目录(文件夹),其中含有的所有文件即为其内容,这些文件按照所属的段不同分组存放,同组的文件拥有相同的文件名,不同的扩展名。此外还有三个文件,分别用来保存所有的段的记录、保存已删除文件的记录和控制读写的同步,它们分别是segments,deletable和lock文件,都没有扩展名。每个段包含一组文件,它们的文件扩展名不同,但是文件名均为记录在文件segments中段的名字。 下图为Lucene索引文件结构组成图.
通过上图可以清晰看出lucene索引文件结构与它们之间的关系.在每个段的文件中,主要记录了两大类的信息:域集合与项集合。由于索引信息是静态存储的,域集合与项集合中的文件组采用了一种类似的存储办法:一个小型的索引文件,运行时载入内存;一个对应于索引文件的实际信息文件,可以按照索引中指示的偏移量随机访问;索引文件与信息文件在记录的排列顺序上存在隐式的对应关系,即索引文件中按照“索引项1、索引项2…”排列,则信息文件则也按照“信息项1、信息项2…”排列。比如在图3.2所示文件中,segment1.fdx与segment1.fdt之间,segment1.tii与segment1.tis、segment1.prx、segment1.frq之间,都存在这样的组织关系。而域集合与项集合之间则通过域的在域记录文件(比如segment1.fnm)中所记录的域记录号维持对应关系,在图中segment1.fdx与segment1.tii中就是通过这种方式保持联系。这样,域集合和项集合不仅仅联系起来,而且其中的文件之间也相互联系起来。此外,标准化因子文件和被删除文档文件则提供了一些程序内部的辅助设施(标准化因子用在评分排序机制中,被删除文档是一种伪删除手段,被删除文档可以通过操作恢复为正常的索引文件)。整个段的索引信息就是通过这些文档有机的组成。
- 23:04
- 浏览 (635)
- 评论 (0)
- 分类: 搜索引擎--lucene
- 发布在 lucene爱好者 圈子
- 相关推荐
发表评论
- 浏览: 9753 次
- 性别:

- 来自: 杭州

- 详细资料
搜索本博客
我的相册
expanding_universe_1400x904
共 20 张
共 20 张
最近加入圈子
链接
- 设计模式
- robbin
- shakira Suerte
- 10个寓言故事
- 面向对象编程五大原则
- cicada-it
- lucene专栏
- 自定义的JS对话框
- jbpm
- jbpm2
- 实战web 2.0
- 34
- 大型WEB系统的架构设计和技术选型
- davexin
- 25个优秀的Ajax技术和实例
- JBoss企业级应用服务平台群集指南
- http://www.zhuoda.org/lunzi/dir_7674.html
- groovyland
- http://ahuaxuan.javaeye.com/
- http://leeon.javaeye.com/category/18773
- 江南白衣
- The Google Chart API
- 2008聪明老板的“经营秘诀"
- 您企业的品牌视觉印象个性鲜明吗?
最新评论
-
升级Spring 2.5注意事项
楼上这也行? 不过分析的很好!东西一比较 就有其意味了
-- by dhxyu -
升级Spring 2.5注意事项
全世界的人都知道这是参考手册里面,难道不能帖这里吗?!
-- by weidewei -
升级Spring 2.5注意事项
晕,这个不是中文参考手册里的内容吗
-- by kjj -
java中四种操作(DOM、SA ...
这篇文章好像出来很多年了吧。。google一下,满世界都是
-- by vampire423 -
Lucene 入门与实战
30,31行代码中: document.add(Field.Text("path ...
-- by txxg






评论排行榜