本文概览:介绍了Lucene的正向信息和逆向信息两种信息。
1 正向信息和逆向信息
Lucene的索引由正向信息和逆向信息两种信息组成:
- 正向信息就是文档的集合,类似于文档数据库。
- 逆向信息就是倒排索引,建立关键词到某个文档的映射关系。查询时,通过倒排索引获取文档号,根据文档号读取此文档记录中相关域的信息。
1、正向信息
正向信息是按照文档维度来保存的,对于文档的理解:
- 如对于一篇新闻,标题、摘要、正文可以是三个field。
- 和数据库类比,相当于一条数据表记录,数据表的字段可以对应一个field。
2、逆向信息-倒排索引
类似于数据库表的外部索引,而且Lucene倒排索引中,每一个域对应一个倒排索引,类似于数据库表每一个属性列对应一个外部索引。
2 Demo
通过对网页新闻的正向信息和逆向信息为例进行说明。
1、正向信息
可以把每一个网页看成是一个文档document,此文档有一个文档ID。对于一个网页,包含摘要、标题、内容三部分,可以通过<abstract,信息>、<content,内容>、<日期,2012-08-09>格式来保存,这就是lucene正向信息
对于某一个field,也可以选择不保存正文的信息,只是建立倒排的时候用一下正文信息。
2、逆向信息
逆向信息建立了关键词和文档号之间的关系,如下:
(全文完)