NLucene研究系列(4)-Document
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一样 |
Document包相对而言比较简单,该包下面就3个类,Document相对于关系型数据库的记录对象,主要负责字段的管理,字段分两种,一是Field,即文本型字段,另一个是日期型字段DateField。
类 |
说明 |
Document |
是文档概念的一个实现类,每个文档包含了一个域表(fieldList),并提供了一些实用的方法,比如多种添加域的方法、返回域表的迭代器的方法 |
Field |
是域概念的一个实现类,每个域包含了一个域名和一个值,以及一些相关的属性 |
DateField |
提供了一些辅助方法的静态类,这些方法将Date和Time数据类型和String相互转化 |
这个包中关键需要理解的是Field中字段存储方式的不同,下面我们可以参见一下其详细的类图: