Lucene:(一)建立索引文件:2。建立索引文件(五)Lucene中Term的概念

Term索引信息:

DocumentWriter类写Field信息和Term信息。Field索引信息是调用FieldInfosFieldWriter两个类完成的,这在上一节已经描述。Term索引信息则由DocumentWriter类和其他类共同完成。DoucmentWriter类完成了term的频数和位置信息。现在接着DocumentWriterterm信息这条线,继续索引信息的建立。

 

1Term概念

先来介绍一下,Luceneterm概念。Term表示的是一个字符串,拥有域、频数和位置信息等属性,如下:


由上图:Term规定了一个词由字符串和域组成;而TermInfo则为出现该term的文件个数,频率文件(frq)的指针,位置文件(prx)的指针。

 

 

2Term相关的接口和类

Lucene还是用了一些与term相关的接口和类:


TermEnumTermDocsTermPositions,第一个是抽象类,后两个都是接口。

这些接口和抽象类的继承和实现类的作用分别如下,它们的实现者一般是SegmentDoucment

   TermEnum提供枚举每一项term的能力;

   TermDocs提供返回<document,frequency>对的能力;

   TermPositions则在TermDocs的基础上提供位置信息的能力。

SegmentTermDocs等类或继承自这些类或实现这些类,完成了提供term,freq,document信息的枚举功能。具体实现这里不作描述。
原文地址:https://www.cnblogs.com/wanghoney/p/1242964.html