Class DocValuesConsumer
- All Implemented Interfaces:
Closeable,AutoCloseable
- Direct Known Subclasses:
Lucene45DocValuesConsumer
The lifecycle is:
- DocValuesConsumer is created by
DocValuesFormat.fieldsConsumer(SegmentWriteState)orNormsFormat.normsConsumer(SegmentWriteState). addNumericField(org.apache.lucene.index.FieldInfo, java.lang.Iterable<java.lang.Number>),addBinaryField(org.apache.lucene.index.FieldInfo, java.lang.Iterable<org.apache.lucene.util.BytesRef>), oraddSortedField(org.apache.lucene.index.FieldInfo, java.lang.Iterable<org.apache.lucene.util.BytesRef>, java.lang.Iterable<java.lang.Number>)are called for each Numeric, Binary, or Sorted docvalues field. The API is a "pull" rather than "push", and the implementation is free to iterate over the values multiple times (Iterable.iterator()).- After all fields are added, the consumer is
Closeable.close()d.
-
Method Summary
Modifier and TypeMethodDescriptionabstract voidaddBinaryField(FieldInfo field, Iterable<BytesRef> values) Writes binary docvalues for a field.abstract voidaddNumericField(FieldInfo field, Iterable<Number> values) Writes numeric docvalues for a field.abstract voidWrites pre-sorted binary docvalues for a field.abstract voidaddSortedSetField(FieldInfo field, Iterable<BytesRef> values, Iterable<Number> docToOrdCount, Iterable<Number> ords) Writes pre-sorted set docvalues for a fieldvoidmergeBinaryField(FieldInfo fieldInfo, MergeState mergeState, List<BinaryDocValues> toMerge, List<Bits> docsWithField) Merges the binary docvalues fromtoMerge.voidmergeNumericField(FieldInfo fieldInfo, MergeState mergeState, List<NumericDocValues> toMerge, List<Bits> docsWithField) Merges the numeric docvalues fromtoMerge.voidmergeSortedField(FieldInfo fieldInfo, MergeState mergeState, List<SortedDocValues> toMerge) Merges the sorted docvalues fromtoMerge.voidmergeSortedSetField(FieldInfo fieldInfo, MergeState mergeState, List<SortedSetDocValues> toMerge) Merges the sortedset docvalues fromtoMerge.
-
Method Details
-
addNumericField
Writes numeric docvalues for a field.- Parameters:
field- field informationvalues- Iterable of numeric values (one for each document).nullindicates a missing value.- Throws:
IOException- if an I/O error occurred.
-
addBinaryField
Writes binary docvalues for a field.- Parameters:
field- field informationvalues- Iterable of binary values (one for each document).nullindicates a missing value.- Throws:
IOException- if an I/O error occurred.
-
addSortedField
public abstract void addSortedField(FieldInfo field, Iterable<BytesRef> values, Iterable<Number> docToOrd) throws IOException Writes pre-sorted binary docvalues for a field.- Parameters:
field- field informationvalues- Iterable of binary values in sorted order (deduplicated).docToOrd- Iterable of ordinals (one for each document).-1indicates a missing value.- Throws:
IOException- if an I/O error occurred.
-
addSortedSetField
public abstract void addSortedSetField(FieldInfo field, Iterable<BytesRef> values, Iterable<Number> docToOrdCount, Iterable<Number> ords) throws IOException Writes pre-sorted set docvalues for a field- Parameters:
field- field informationvalues- Iterable of binary values in sorted order (deduplicated).docToOrdCount- Iterable of the number of values for each document. A zero ordinal count indicates a missing value.ords- Iterable of ordinal occurrences (docToOrdCount*maxDoc total).- Throws:
IOException- if an I/O error occurred.
-
mergeNumericField
public void mergeNumericField(FieldInfo fieldInfo, MergeState mergeState, List<NumericDocValues> toMerge, List<Bits> docsWithField) throws IOException Merges the numeric docvalues fromtoMerge.The default implementation calls
addNumericField(org.apache.lucene.index.FieldInfo, java.lang.Iterable<java.lang.Number>), passing an Iterable that merges and filters deleted documents on the fly.- Throws:
IOException
-
mergeBinaryField
public void mergeBinaryField(FieldInfo fieldInfo, MergeState mergeState, List<BinaryDocValues> toMerge, List<Bits> docsWithField) throws IOException Merges the binary docvalues fromtoMerge.The default implementation calls
addBinaryField(org.apache.lucene.index.FieldInfo, java.lang.Iterable<org.apache.lucene.util.BytesRef>), passing an Iterable that merges and filters deleted documents on the fly.- Throws:
IOException
-
mergeSortedField
public void mergeSortedField(FieldInfo fieldInfo, MergeState mergeState, List<SortedDocValues> toMerge) throws IOException Merges the sorted docvalues fromtoMerge.The default implementation calls
addSortedField(org.apache.lucene.index.FieldInfo, java.lang.Iterable<org.apache.lucene.util.BytesRef>, java.lang.Iterable<java.lang.Number>), passing an Iterable that merges ordinals and values and filters deleted documents .- Throws:
IOException
-
mergeSortedSetField
public void mergeSortedSetField(FieldInfo fieldInfo, MergeState mergeState, List<SortedSetDocValues> toMerge) throws IOException Merges the sortedset docvalues fromtoMerge.The default implementation calls
addSortedSetField(org.apache.lucene.index.FieldInfo, java.lang.Iterable<org.apache.lucene.util.BytesRef>, java.lang.Iterable<java.lang.Number>, java.lang.Iterable<java.lang.Number>), passing an Iterable that merges ordinals and values and filters deleted documents .- Throws:
IOException
-