lucene产生的索引文件格式详解

本文介绍lucene中segment,.fnm,.fdx,.fdt,.tii,.tis,deletable ,.cfs等格式文件的用途。

 

这个是lucene创建索引产生的文件:

1.索引的segment

每个segment代表lucene的一个完整索引段。通常,在一个索引中,会包含有多个segment。每个segment都有一个统一的前缀,这个前缀是根据当前索引的document数量而确立的。前缀名是Document数量转为36进制后,在前面加上下划线“_”而构成的。
通常,在一个完整的索引中,有且只有一个“segments”文件,这个文件没有后缀,它记录了当前索引中所有segment的信息。

2.fnm格式

.fnm格式的文件包含了Document中的所有Field名称。可以清楚地看到,所有加入的Field名称都在其中进行了保存。

3.fdx和.fdt格式

.fdx和.fdt是综合使用的两类文件,其中.fdt类型文件用于存储具有Store.YES属性的Field数据。而.fdx类型文件则是一个索引,用于存储Document在下面代码就是创建索引的代码。

4.tii和.tis格式

.tis文件用于存储分词后的词条(Term),而.tii就是它的所有文件,它标明了每个.tis文件中词条的位置.

5.deletable格式

在Lucene的索引中,所有的文档被删除后并不是立刻从索引中去除,而是留待下次合并索引或对索引进行优化时菜真正删除,这有点类似windows的回收站原理。这种功能是通过deletable文件实现的。所有的文档在被删除后,会首先在deletable文件中留一个记录,要真正删除时,才将索引除去。

6.复合索引格式 .cfs

在IndexWriter中有一个属性:useCompoundFile,它的默认值为True,这个属性的含义是:是否使用复合索引格式保存索引。索引的内容可能非常大,文件数量可能非常的多,如果遇到这种情况,系统打开文件的数量巨大将会极大地耗费系统资源。因此,Lucene提供了一个单文件索引格式,也就是所谓的复合索引格式。
使用复合索引格式存储Document内容时,只需要在初始化完成一个IndexWriter对象后,使用SetUseCompoundFile(boolean)方法,将UserCompoundFile的属性值设置为True就可以了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值