org.apache.lucene.codecs.lucene45
Class Lucene45DocValuesFormat

java.lang.Object
  extended by org.apache.lucene.codecs.DocValuesFormat
      extended by org.apache.lucene.codecs.lucene45.Lucene45DocValuesFormat
All Implemented Interfaces:
NamedSPILoader.NamedSPI

public final class Lucene45DocValuesFormat
extends DocValuesFormat

Lucene 4.5 DocValues format.

Encodes the four per-document value types (Numeric,Binary,Sorted,SortedSet) with these strategies:

NUMERIC:

BINARY:

SORTED:

SORTED_SET:

Files:

  1. .dvd: DocValues data
  2. .dvm: DocValues metadata
  1. The DocValues metadata or .dvm file.

    For DocValues field, this stores metadata, such as the offset into the DocValues data (.dvd)

    DocValues metadata (.dvm) --> Header,<Entry>NumFields

    Sorted fields have two entries: a BinaryEntry with the value metadata, and an ordinary NumericEntry for the document-to-ord metadata.

    SortedSet fields have three entries: a BinaryEntry with the value metadata, and two NumericEntries for the document-to-ord-index and ordinal list metadata.

    FieldNumber of -1 indicates the end of metadata.

    EntryType is a 0 (NumericEntry) or 1 (BinaryEntry)

    DataOffset is the pointer to the start of the data in the DocValues data (.dvd)

    NumericType indicates how Numeric values will be compressed:

    BinaryType indicates how Binary values will be stored:

    MinLength and MaxLength represent the min and max byte[] value lengths for Binary values. If they are equal, then all values are of a fixed size, and can be addressed as DataOffset + (docID * length). Otherwise, the binary values are of variable size, and packed integer metadata (PackedVersion,BlockSize) is written for the addresses.

    MissingOffset points to a byte[] containing a bitset of all documents that had a value for the field. If its -1, then there are no missing values.

  2. The DocValues data or .dvd file.

    For DocValues field, this stores the actual per-document data (the heavy-lifting)

    DocValues data (.dvd) --> Header,<NumericData | BinaryData | SortedData>NumFields

    SortedSet entries store the list of ordinals in their BinaryData as a sequences of increasing vLongs, delta-encoded.

WARNING: This API is experimental and might change in incompatible ways in the next release.

Constructor Summary
Lucene45DocValuesFormat()
          Sole Constructor
 
Method Summary
 DocValuesConsumer fieldsConsumer(SegmentWriteState state)
          Returns a DocValuesConsumer to write docvalues to the index.
 DocValuesProducer fieldsProducer(SegmentReadState state)
          Returns a DocValuesProducer to read docvalues from the index.
 
Methods inherited from class org.apache.lucene.codecs.DocValuesFormat
availableDocValuesFormats, forName, getName, reloadDocValuesFormats, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Lucene45DocValuesFormat

public Lucene45DocValuesFormat()
Sole Constructor

Method Detail

fieldsConsumer

public DocValuesConsumer fieldsConsumer(SegmentWriteState state)
                                 throws IOException
Description copied from class: DocValuesFormat
Returns a DocValuesConsumer to write docvalues to the index.

Specified by:
fieldsConsumer in class DocValuesFormat
Throws:
IOException

fieldsProducer

public DocValuesProducer fieldsProducer(SegmentReadState state)
                                 throws IOException
Description copied from class: DocValuesFormat
Returns a DocValuesProducer to read docvalues from the index.

NOTE: by the time this call returns, it must hold open any files it will need to use; else, those files may be deleted. Additionally, required files may be deleted during the execution of this call before there is a chance to open them. Under these circumstances an IOException should be thrown by the implementation. IOExceptions are expected and will automatically cause a retry of the segment opening logic with the newly revised segments.

Specified by:
fieldsProducer in class DocValuesFormat
Throws:
IOException


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