org.apache.lucene.codecs.lucene40
Class Lucene40LiveDocsFormat

java.lang.Object
  extended by org.apache.lucene.codecs.LiveDocsFormat
      extended by org.apache.lucene.codecs.lucene40.Lucene40LiveDocsFormat

public class Lucene40LiveDocsFormat
extends LiveDocsFormat

Lucene 4.0 Live Documents Format.

The .del file is optional, and only exists when a segment contains deletions.

Although per-segment, this file is maintained exterior to compound segment files.

Deletions (.del) --> Format,Header,ByteCount,BitCount, Bits | DGaps (depending on Format)

Format is 1: indicates cleared DGaps.

ByteCount indicates the number of bytes in Bits. It is typically (SegSize/8)+1.

BitCount indicates the number of bits that are currently set in Bits.

Bits contains one bit for each document indexed. When the bit corresponding to a document number is cleared, that document is marked as deleted. Bit ordering is from least to most significant. Thus, if Bits contains two bytes, 0x00 and 0x02, then document 9 is marked as alive (not deleted).

DGaps represents sparse bit-vectors more efficiently than Bits. It is made of DGaps on indexes of nonOnes bytes in Bits, and the nonOnes bytes themselves. The number of nonOnes bytes in Bits (NonOnesBytesCount) is not stored.

For example, if there are 8000 bits and only bits 10,12,32 are cleared, DGaps would be used:

(VInt) 1 , (byte) 20 , (VInt) 3 , (Byte) 1


Constructor Summary
Lucene40LiveDocsFormat()
          Sole constructor.
 
Method Summary
 void files(SegmentInfoPerCommit info, Collection<String> files)
          Records all files in use by this SegmentInfoPerCommit into the files argument.
 MutableBits newLiveDocs(Bits existing)
          Creates a new mutablebits of the same bits set and size of existing.
 MutableBits newLiveDocs(int size)
          Creates a new MutableBits, with all bits set, for the specified size.
 Bits readLiveDocs(Directory dir, SegmentInfoPerCommit info, IOContext context)
          Read live docs bits.
 void writeLiveDocs(MutableBits bits, Directory dir, SegmentInfoPerCommit info, int newDelCount, IOContext context)
          Persist live docs bits.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Lucene40LiveDocsFormat

public Lucene40LiveDocsFormat()
Sole constructor.

Method Detail

newLiveDocs

public MutableBits newLiveDocs(int size)
                        throws IOException
Description copied from class: LiveDocsFormat
Creates a new MutableBits, with all bits set, for the specified size.

Specified by:
newLiveDocs in class LiveDocsFormat
Throws:
IOException

newLiveDocs

public MutableBits newLiveDocs(Bits existing)
                        throws IOException
Description copied from class: LiveDocsFormat
Creates a new mutablebits of the same bits set and size of existing.

Specified by:
newLiveDocs in class LiveDocsFormat
Throws:
IOException

readLiveDocs

public Bits readLiveDocs(Directory dir,
                         SegmentInfoPerCommit info,
                         IOContext context)
                  throws IOException
Description copied from class: LiveDocsFormat
Read live docs bits.

Specified by:
readLiveDocs in class LiveDocsFormat
Throws:
IOException

writeLiveDocs

public void writeLiveDocs(MutableBits bits,
                          Directory dir,
                          SegmentInfoPerCommit info,
                          int newDelCount,
                          IOContext context)
                   throws IOException
Description copied from class: LiveDocsFormat
Persist live docs bits. Use SegmentInfoPerCommit.getNextDelGen() to determine the generation of the deletes file you should write to.

Specified by:
writeLiveDocs in class LiveDocsFormat
Throws:
IOException

files

public void files(SegmentInfoPerCommit info,
                  Collection<String> files)
           throws IOException
Description copied from class: LiveDocsFormat
Records all files in use by this SegmentInfoPerCommit into the files argument.

Specified by:
files in class LiveDocsFormat
Throws:
IOException


Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.