kth occurrence as part of the interlaced repository and more frequent terms would have lower term identifiers and thus take less space to encode interlaced repository 410 contains a set of documents in compressed form each term in interlaced repository 410 is encoded as a pointer to the next occurrence of the same term which can be located in the same document or a following document in one embodiment of the present invention these pointers are encoded as byte differences between consecutive occurrences of the term note that more frequently occurring terms generally have smaller byte differences which allows them to be encoded with fewer bytes in a variable length code term offset table 406 maps term identifiers to the offset of the first occurrence of each term in interlaced repository 410 this allows a first occurrence of a term to be easily identified located similarly document offset table 408 maps document identifiers to the first byte term of a corresponding document in interlaced repository 410 finally attribute table 412 maps offsets in interlaced repository 410 to corresponding document attributes such as font size underlining or any other document attribute this allows more per token information to be available for scoring a document given a query note that because interlaced repository 410 preserves the ordering of terms within documents and because consecutive terms tend to have the same attributes e g font size we can alternatively compress the attribute information within interlaced repository 410 using run length encoding in this case determining the attributes for a given term simply involves performing a binary search on the decompressed form of this structure fig5 presents a flow chart illustrating how data structures involved in the document.