全文索引----中文进阶(一)

Lucene的索引文件格式

 

Lucene的索引里面存了些什么,如果存放的,也即Lucene的索引文件格式是读懂Lucene源代码的一把钥匙。

 

当我们真正进入到Lucene源代码之中的时候,我们会发现:

 

Lucene的索引过程,就是按照全文检索的基本过程,将倒排表写成此文件格式的过程。

 

Lucene的搜索过程,就是按照此文件格式将索引进去的信息读出来,然后计算每篇文档打分(score)的过程。

 

Lucene的索引结构是有层次结构的:

 

 

主要分以下几个层次:

 

1.索引(Index)

 

Lucene中一个索引是放在一个文件家中的,如上图,同一个文件夹中的所有文件构成一个Lucene索引

 

2.段(Segment)

 

一个索引可以包含多个段,段与段之间是独立的,添加新文档可以生成新的段,不同的段可以合并。

 

如上图,具有相同前缀文件的属同一个段,图中共两个段"_0"和"_1"。

 

segments.gen 和 segments_5是段的元数据文件,也即它们保存了段的属性信息。

 

3.文档(Document)

 

文档是我们建索引的基本单位,不同的文档是保存在不同的段中的,一个段可以包含多篇文档。

 

新添加的文档是单独保存在一个新生成的段中,随着段的合并不同的文档合并到同一段中。

 

4.域(Field):

 

一篇文档包含不同类型的信息,可以分开索引,比如标题,时间,正文,作者等,都可以保存在不同的域里。

 

不同域的索引方式可以不同

 

词(Term):

 

词是索引的最小单位,是经过词法分析和语言处理后的字符串。

 

Lucene的索引结构中,既包含了正向信息,也保存了反向信息。

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值