Document
一个Document由一系列Field组成,每个Field都是一个<Name, Value>对。顾名思义,这个名值对中的Name就是域名,比如:Title, Body, Subject, Date, etc. Value是一个Text文本。
Field值可以被存储(Stored)、索引(Indexed)以及分析(Analyzed)。
其中
Field
包括四种类型
:
| 类型 | 说明 |
| Keyword | 该类型的数据将不被分析,而会被索引并保存保存在索引中 |
| UnIndexed | 该类型的数据不会被分析也不会被索引,但是会保存在索引 |
| UnStored | 和UnIndexed刚好相反,被分析被索引,但是不被保存 |
| Text | 和UnStored类似.如果值的类型为string还会被保存.如果值的类型Reader就不会被保存和UnStored一样 |
1 | 1 |
Document
包相对而言比较简单,该包下面就
3
个类,
Document
相对于关系型数据库的记录对象,主要负责字段的管理,字段分两种,一是
Field
,即文本型字段,另一个是日期型字段
DateField
。
| 类 | 说明 |
| Document | 是文档概念的一个实现类,每个文档包含了一个域表(fieldList),并提供了一些实用的方法,比如多种添加域的方法、返回域表的迭代器的方法 |
| Field | 是域概念的一个实现类,每个域包含了一个域名和一个值,以及一些相关的属性 |
| DateField | 提供了一些辅助方法的静态类,这些方法将Date和Time数据类型和String相互转化 |
1 | 1 |
这个包中关键需要理解的是
Field
中字段存储方式的不同,下面我们可以参见一下其详细的类图: