zoukankan      html  css  js  c++  java
  • Lucene:(一)建立索引文件:2。建立索引文件(四)Field信息的建立

    Field信息:

    DocumentWriter类中曾经描述,DocumentWriter类的一个功能是调用与

    Field相关的类,写Field信息。写Field信息有两个类FieldInfos类和FieldWriter类,前者是用于写Field name信息,后者写Field value信息。

     

    1.Field name信息:

    Field name信息是用FieldInfo结构体表示,即FieldInfo表示一个Field

    name信息。FieldInfos操作所有的FieldInfo,读和写操作,类似SegmentInfoSegmentInfos

       FieldInfo结构如下:

          String name;// The name of the field

          boolean isIndexed;// true if the field is indexed

          int number;

    boolean storeTermVector;// true if the term vector should be stored

          // true if the term vector with offsets should be stored

    boolean storeOffsetWithTermVector;      

    //true if the term vector with positions should be stored

    boolean storePositionWithTermVector;

    // true if the norms for the indexed field should be omitted

    boolean omitNorms;

      

       FieldInfos类和Field的关系可以看成SegmentInfosSegInfos的关系。但FieldInfos并不像SegmentInfos一样,继承自于Vector,而是包含了容器类型的变量。这里有两个容器,ArrayListHashMap,提供了按NameNumber两种存储。

       最终,FieldInfos写的文件(fnm)结构如下:

    FieldInfos (.fnm)

     <ul>

    <li>field的个数,int</li>

    <li>field的名字,string类型<li>

    <li>byte类型,记录该Field的相关信息,包括:

    isIndexedstoreTermVectorstoreOffsetWithTermVector

    storePositionWithTermVectoromitNorms

     每个信息用一个bit表示,1表示是,0表示否

    </li>

    </ul>

     

    2.Field value信息:

    FieldWriter类用于写FieldValue信息,这有两个文件fdx文件和fdt

    文件。Fdx文件为域索引文件,记载相应的field在域值的指针;fdt则是域值信息。

       Fdx文件中文档n的域值信息就存在n*8的位置,格式如下:

    Fdx:< FieldvaluesPosition > SegSize 

     

    Fdt文件的格式如下:

    Fdt:< FieldCount, <FieldNum, Bits, value>FieldCount>DocCount
  • 相关阅读:
    《JavaScript 闯关记》之 BOM
    《JavaScript 闯关记》之单体内置对象
    《JavaScript 闯关记》之基本包装类型
    《JavaScript 闯关记》之正则表达式
    《JavaScript 闯关记》之函数
    《JavaScript 闯关记》之数组
    被「李笑来老师」拉黑之「JavaScript微博自动转发的脚本」
    「前端开发者」如何把握住「微信小程序」这波红利?
    android开发之路13(实际开发常见问题及解决办法ING)
    android开发之路12(android四大组件&Fragment&AsyncTask类)
  • 原文地址:https://www.cnblogs.com/wanghoney/p/1241646.html
Copyright © 2011-2022 走看看