2.13.3 IndexType Enumeration

 enum IndexType
 {
   itMaster         = 0x0000,
   itShadow         = 0x0001,
   itZombie         = 0x0002,
   itDeleted        = 0x0003,
   itPartition      = 0x0004,
   itKeyList        = 0x0005,
   itNewMaster      = 0x0006,
   itAvdlLog        = 0x0007,
   itAvdlLogBackup1 = 0x0009,
   itAvdlLogBackup2 = 0x000A,
   itShadowMergeLog = 0x000B,
   itMasterMergeLog = 0x000C
 };

itMaster: The CIndexRecord describes a master index component. The value of the ComponentID field MUST be equal to the value of the IndexID field. The IndexID field specifies the index identifier of the full-text index component and MUST be greater than or equal to 0x00010001, and less than or equal to 0x000100ff. MaxDOCID field specifies the MaxDocID value of the full-text index component. There MUST NOT be more than one CIndexRecord of this type in the index table file.

itShadow: The CIndexRecord describes a shadow full-text index component. It has the same restrictions as a master index component except that the number of such CIndexRecords in the index table file is not limited.

itZombie: The CIndexRecord describes a full-text index component that SHOULD be ignored and deleted. It has the same restrictions as a shadow index component. This type indicates that the content of such a full-text index component was merged into other files.

itDeleted: The CIndexRecord was deleted and can be reused. The value of the IndexID field MUST be 0xffff0000. There are no files on disk associated with this CIndexRecord.

itPartition: A special reserved type of CIndexRecord. The values of the ComponentID, IndexID and MaxDocID fields of this record MUST be 0x00000000, 0x00010000 and 0x00000000 respectively. There MUST be one record of this type in the index table file. There are no files on disk represented by this record.

itKeyList: The CIndexRecord is used to store the number of content index keys in the current master index component. The values of the ComponentID and IndexID fields of this record MUST be 0x00000001 and 0xfffe0001 respectively. MaxDocID field specifies the number of keys in current full-text index catalog. There MUST be one CIndexRecord of this type in the index table file if there is a record corresponding to a master index component, and there MUST NOT be CIndexRecords of this type in the index table file otherwise. There are no files on disk represented by this record.

itNewMaster: The CIndexRecord describes a new master index component that will replace the current master index component once the master merge process, as specified in section 2.9, is complete. It has the same restrictions as the master full-text index component.

itAvdlLog: The CIndexRecord describes the AVDL file that stores statistics for properties of items in the current master index component. The ComponentID field value MUST be 0x00010007 or 0x00020007. The values of the IndexID and MaxDocID fields MUST be 0x00010000 and 0x00000000 respectively. There MUST be one CIndexRecord of this type in the index table file.

itAvdlLogBackup1: The CIndexRecord describes the first average document length backup file. At any moment during the master merge process, one of the AVDL backup files stores AVDL statistics for properties of items in the new master index component. The ComponentID of the currently used AVDL backup file is stored in the ComponentIDAVDLBackup field of the merge log user header, as specified in section 2.10.1. The ComponentID field specifies the ComponentID of the AVDL backup file and its value MUST be 0x00010008. The values of the IndexID and MaxDocID fields MUST be 0x00010000 and 0x00000000 respectively. There MUST be one record of this type in the index table file.

itAvdlLogBackup2: The CIndexRecord describes the second AVDL backup file. At any moment during the master merge process, one of the AVDL backup files stores average document length statistics for properties of items in the new master index component. The ComponentID of the currently used AVDL backup file is stored in the ComponentIDAVDLBackup field of the merge log user header, as specified in section 2.10.1. The ComponentID field specifies the ComponentID of the AVDL backup file and its value MUST be 0x00020008. The values of the IndexID and MaxDocID fields MUST be 0x00010000 and 0x00000000 respectively. There MUST be one record of this type in the index table file.

itShadowMergeLog: The CIndexRecord describes a shadow merge log file, as specified in section 2.10, and the target full-text index component of that shadow merge process. The ComponentID field specifies the ComponentID value of the shadow merge log file. The 2 lower bytes of the ComponentID field MUST be 0x0000 and the 2 higher bytes of the ComponentID field MUST be equal to the 2 lower bytes of the index identifier of the target full-text index component. The IndexID field specifies the index identifier of the target shadow index component and MUST have the same restrictions as index identifier of itShadow CIndexRecord. The value of the MaxDocID field MUST be 0x00000000.

itMasterMergeLog: The CIndexRecord describes a master merge log file, as specified in section 2.10,. The values of the ComponentID, and MaxDocID fields have the same restrictions as those in record corresponding to the itShadowMergeLog. The value of the IndexID field MUST be 0x10000. There MUST be one record of this type whenever there is an itNewMaster CIndexRecord in the table.