3.1.3 Basic Scope Index Directory
The following file is 000100006.bsd in the example full-text index catalog and stores a basic scope index directory in the index directory file format, as specified in section 2.5.
-
0000 00 00 00 00 00 00 00 00 - 02 00 00 00 02 00 00 00 0010 01 00 00 00 01 00 00 00 - 01 00 00 00 d1 1e 55 66 0020 69 6c 65 3a 2f 2f 63 6f - 37 34 35 2d 31 39 35 2f 0030 66 69 6c 65 73 74 6f 63 - 72 61 77 6c 2a 01 00 00 0040 92 81 7f ff ff ff ff ff - ff ff ff ff ff ff ff ff 0050 ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff 0060 ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff 0070 ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff 0080 ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff 0090 ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff 00a0 ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff 00b0 ff ff ff ff ff ff ff ff - ff ff ff ff ff ff ff ff 00c0 ff ff 7f 00 00 00 00 00 - 00 00 00 00 00 00 00 00 00d0 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 00e0 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 … 0fd0 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 0fe0 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 0ff0 00 00 00 00 00 00 00 00 - 00 00 00 00 40 00 1c 00
The preceding example consists of one level and has the following structure.
Index Directory Page Header (12 bytes at address 0000)
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Page Base |
|||||||||||||||||||||||||||||||
First Record In Level |
|||||||||||||||||||||||||||||||
Record Count |
Page Header Padding |
Page Base (4 bytes): Set to 00 00 00 00.
First Record In Level (4 bytes): Set to 00 00 00 00.
Record Count (2 bytes): Set to 02 00.
Page Header Padding (2 bytes): Set to 00 00.
Index Directory File Header (16 bytes at address 0000-0010)
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Count Of Level 1 Records |
|||||||||||||||||||||||||||||||
Count Of Level 1 Pages |
|||||||||||||||||||||||||||||||
Total Count Of Pages |
|||||||||||||||||||||||||||||||
Count Of Levels |
Padding |
Count Of Level 1 Records (4 bytes): Set to 02 00 00 00.
Count Of Level 1 Pages (4 bytes): Set to 01 00 00 00.
Total Count Of Pages (4 bytes): Set to 01 00 00 00.
Count of Levels (1 byte): Set to 01.
Padding (3 bytes): Set to 00 00 00.
Record Data Buffer (4068 bytes at address 0010-0ff0.)
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Flags |
Key Size |
Key Bytes (30 bytes) |
|||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
Property ID |
BitStream Offset |
BitStream Page |
|||||||||||||||||||||||||||||
Flags |
Key Size |
Key Bytes (129 bytes) |
|||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
Property ID |
|||||||||||||||||||||||||||||||
BitStream Offset |
BitStream Page |
... |
|||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
Record Offset Array |
Flags (1 byte): Set to d1.
Key Size (1 byte): Set to 1e for Key Size of 30.
Key Bytes (30 bytes): Set to 55 66 69 6c 65 3a 2f 2f 63 6f 37 34 35 2d 31 39 35 2f 66 69 6c 65 73 74 6f 63 72 61 77 6c.
Property ID (2 bytes): Set to 2a 01.
BitStream Offset (1 byte): Set to 00.
BitStream Page (1 byte): Set to 00.
Flags (1 byte): Set to 92.
Key Size (1 byte): Set to 81
Key Bytes (129 bytes): Starts with 7f and ends with 7f 00.
Property ID (4 bytes): Set to 00 00 00 00.
BitStream Offset (1 byte): Set to 00.
BitStream Page (1 byte): Set to 00.
... : Continuation.
Record Offset Array (4 bytes): Set to 40 00 1c 00.