FieldSelectorResult:枚举,分别为
        LOAD Document#getFieldable和Document#getField不会返回null
        LAZY_LOAD :Lazy的Field意味着在搜索结果里这个Field的值缺省是不读取的,只有当你真正对这个Field取值的时候才会去取。所以如果你要对它取值,你得保证IndexReader还没有close。 Document#getField不能使用,只能使用Document#getFieldable
        NO_LOAD Document#getField和Document#getFieldable都返回null,Document#add不被调用。
        LOAD_AND_BREAK 类似LOAD,Document#getField和Document#getFieldable都可用,但返回后就结束,Document可能没有完整的field的Set,参考LoadFirstFieldSelector 。
        LOAD_FOR_MERGE 类似LOAD,但不压缩任何数据。只被SegmentMerger的一个FieldSelector匿名内嵌实现类使用。Document#getField和Document#getFieldable可返回null.
        SIZE 返回Field的size而不是value. Size表示存储这个field需要的bytes數,string数值使用2*chars。size被存储为a binary value,表现为as an int in a byte[],with the higher order byte first in [0]。
        SIZE_AND_BREAK 类似SIZE,但立刻break from the field loading loop, i.e. stop loading further fields, after the size is loaded

======================================

Field中三大enum: Store Index和TermVector:

       ------------------------------------
        Store.COMPRESS  Store the original field value in the index in a compressed form. This is useful for long documents and for binary valued fields.压缩存储;
        Store.YES Store the original field value in the index. This is useful for short texts like a document's title which should be displayed with the results. The value is stored in its original form, i.e. no analyzer is used before it is stored. 索引文件本来只存储索引数据, 此设计将原文内容直接也存储在索引文件中,如文档的标题。
        Store.NO  Do not store the field value in the index. 原文不存储在索引文件中,搜索结果命中后,再根据其他附加属性如文件的Path,数据库的主键等,重新连接打开原文,适合原文内容较大的情况。
        决定了Field对象的 this.isStored 和        this.isCompressed
     ------------------------------------
        Index.NO Do not index the field value. This field can thus not be searched, but one can still access its contents provided it is Field.Store stored. 不进行索引,存放不能被搜索的内容如文档的一些附加属性如文档类型, URL等。
        Index.TOKENIZED Index the field's value so it can be searched. An Analyzer will be used to tokenize and possibly further normalize the text before its terms will be stored in the index. This is useful for common text. 分词索引
        Index.UN_TOKENIZED  Index the field's value without using an Analyzer, so it can be searched. As no analyzer is used the value will be stored as a single term. This is useful for unique Ids like product numbers. 不分词进行索引,如作者名,日期等,Rod Johnson本身为一单词,不再需要分词。

        Index.NO_NORMS 不分词,建索引。norms是什么???字段值???。但是Field的值不像通常那样被保存,而是只取一个byte,这样节约存储空间???? Index the field's value without an Analyzer, and disable the storing of norms.  No norms means that index-time boosting and field length normalization will be disabled.  The benefit is less memory usage as norms take up one byte per indexed field for every document in the index.Note that once you index a given field <i>with</i> norms enabled, disabling norms will have no effect.  In other words, for NO_NORMS to have the above described effect on a field, all instances of that field must be indexed with NO_NORMS from the beginning.
        决定了Field对象的 this.isIndexed  this.isTokenized  this.omitNorms
     ------------------------------------
        Lucene 1.4.3新增的:
        TermVector.NO Do not store term vectors.  不保存term vectors
        TermVector.YES Store the term vectors of each document. A term vector is a list of the document's terms and their number of occurences in that document. 保存term vectors。
        TermVector.WITH_POSITIONS Store the term vector + token position information 保存term vectors。(保存值和token位置信息)
        TermVector.WITH_OFFSETS Store the term vector + Token offset information
        TermVector.WITH_POSITIONS_OFFSETS Store the term vector + Token position and offset information 保存term vectors。(保存值和Token的offset)
        决定了Field对象的this.storeTermVector this.storePositionWithTermVector this.storeOffsetWithTermVector