Module org.apache.lucene.facet
Package org.apache.lucene.facet.taxonomy
Class TaxonomyFacetLabels.FacetLabelReader
java.lang.Object
org.apache.lucene.facet.taxonomy.TaxonomyFacetLabels.FacetLabelReader
- Enclosing class:
TaxonomyFacetLabels
Utility class to retrieve facet labels for multiple documents.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanprivate intprivate intprivate intprivate final IntsRefprivate final OrdinalsReader.OrdinalsSegmentReaderUsers can provide their own custom OrdinalsReader for cases where the default encoding isn't used.private final SortedNumericDocValuesBy default, we store taxonomy ordinals in SortedNumericDocValues fieldprivate ParallelTaxonomyArrays.IntArray -
Constructor Summary
ConstructorsConstructorDescriptionFacetLabelReader(OrdinalsReader ordsReader, LeafReaderContext readerContext) Deprecated.Custom binary encodings for taxonomy ordinals are no longer supported starting with Lucene 9FacetLabelReader(SortedNumericDocValues ordinalValues) Construct from a specifiedSortedNumericDocValuesfield; useful for reading the default encoding. -
Method Summary
Modifier and TypeMethodDescriptionprivate booleanisDescendant(int ord, int ancestorOrd) nextFacetLabel(int docId) nextFacetLabel(int docId, String facetDimension) Retrieves the nextFacetLabelfor the specifieddocIdunder the requestedfacetDimension, ornullif there are no more.
-
Field Details
-
ordinalValues
By default, we store taxonomy ordinals in SortedNumericDocValues field -
ordinalsSegmentReader
Users can provide their own custom OrdinalsReader for cases where the default encoding isn't used. This capability is deprecated and will be removed in Lucene 10. -
decodedOrds
-
currentDocId
private int currentDocId -
currentDocHasValues
private boolean currentDocHasValues -
currentPos
private int currentPos -
currentDocOrdinalCount
private int currentDocOrdinalCount -
parents
-
-
Constructor Details
-
FacetLabelReader
Construct from a specifiedSortedNumericDocValuesfield; useful for reading the default encoding. -
FacetLabelReader
@Deprecated public FacetLabelReader(OrdinalsReader ordsReader, LeafReaderContext readerContext) throws IOException Deprecated.Custom binary encodings for taxonomy ordinals are no longer supported starting with Lucene 9Construct using a customOrdinalsReader; useful if using a custom binary format.Note: If using the default encoding, you can use
FacetLabelReader(SortedNumericDocValues)directly- Throws:
IOException
-
-
Method Details
-
nextFacetLabel
Retrieves the nextFacetLabelfor the specifieddocId, ornullif there are no more. This method has state: if the provideddocIdis the same as the previous invocation, it returns the nextFacetLabelfor that document. Otherwise, it advances to the newdocIdand provides the firstFacetLabelfor that document, ornullif that document has no indexed facets. Each newdocIdmust be in strictly monotonic (increasing) order.NOTE: The returned FacetLabels may not be in the same order in which they were indexed
- Parameters:
docId- input docId provided in monotonic (non-decreasing) order- Returns:
- the first or next
FacetLabel, ornullif there are no more - Throws:
IOException- when a low-level IO issue occursIllegalArgumentException- if docId provided is less than docId supplied in an earlier invocation
-
isDescendant
private boolean isDescendant(int ord, int ancestorOrd) -
nextFacetLabel
Retrieves the nextFacetLabelfor the specifieddocIdunder the requestedfacetDimension, ornullif there are no more. This method has state: if the provideddocIdis the same as the previous invocation, it returns the nextFacetLabelfor that document. Otherwise, it advances to the newdocIdand provides the firstFacetLabelfor that document, ornullif that document has no indexed facets. Each newdocIdmust be in strictly monotonic (increasing) order.NOTE: This method loads the
int[] parentsarray from the taxonomy index. The returned FacetLabels may not be in the same order in which they were indexed.- Parameters:
docId- input docId provided in non-decreasing order- Returns:
- the first or next
FacetLabel, ornullif there are no more - Throws:
IOException- ifTaxonomyReaderhas problems getting path for an ordinalIllegalArgumentException- if docId provided is less than docId supplied in an earlier invocationIllegalArgumentException- if facetDimension is null
-