Class TaxonomyFacets

java.lang.Object
org.apache.lucene.facet.Facets
org.apache.lucene.facet.taxonomy.TaxonomyFacets
Direct Known Subclasses:
FastTaxonomyFacetCounts, FloatTaxonomyFacets, IntTaxonomyFacets

@Deprecated public abstract class TaxonomyFacets extends Facets
Deprecated.
Visibility of this class will be reduced to pkg-private in a future version. This class is meant to host common code as an internal implementation detail to taxonomy faceting,and is not intended as an extension point for user-created Facets implementations. If your code is relying on this, please migrate necessary functionality down into your own class.
Base class for all taxonomy-based facets impls.
  • Field Details

    • indexFieldName

      protected final String indexFieldName
      Deprecated.
      Index field name provided to the constructor.
    • taxoReader

      protected final TaxonomyReader taxoReader
      Deprecated.
      TaxonomyReader provided to the constructor.
    • config

      protected final FacetsConfig config
      Deprecated.
      FacetsConfig provided to the constructor.
    • fc

      final FacetsCollector fc
      Deprecated.
      FacetsCollector provided to the constructor.
    • children

      Deprecated.
      Maps parent ordinal to its child, or -1 if the parent is childless.
    • siblings

      Deprecated.
      Maps an ordinal to its sibling, or -1 if there is no sibling.
    • parents

      Deprecated.
      Maps an ordinal to its parent, or -1 if there is no parent (root node).
    • counts

      int[] counts
      Deprecated.
      Dense ordinal counts.
    • sparseCounts

      IntIntHashMap sparseCounts
      Deprecated.
      Sparse ordinal counts.
    • initialized

      boolean initialized
      Deprecated.
      Have value counters been initialized.
    • valueComparator

      protected Comparator<Number> valueComparator
      Deprecated.
      Defines comparison between aggregated values.
  • Constructor Details

  • Method Details

    • useHashTable

      protected boolean useHashTable(FacetsCollector fc, TaxonomyReader taxoReader)
      Deprecated.
      Return true if a sparse hash table should be used for counting, instead of a dense int[].
    • initializeValueCounters

      protected void initializeValueCounters()
      Deprecated.
      If not done already, initialize the data structures storing counts.
    • setCount

      protected void setCount(int ordinal, int newValue)
      Deprecated.
      Set the count for this ordinal to newValue.
    • getCount

      protected int getCount(int ordinal)
      Deprecated.
      Get the count for this ordinal.
    • getAggregationValue

      protected Number getAggregationValue(int ordinal)
      Deprecated.
      Get the aggregation value for this ordinal.
    • aggregate

      protected Number aggregate(Number existingVal, Number newVal)
      Deprecated.
      Apply an aggregation to the two values and return the result.
    • hasValues

      boolean hasValues()
      Deprecated.
      Were any values actually aggregated during counting?
    • getChildren

      Deprecated.
      Returns int[] mapping each ordinal to its first child; this is a large array and is computed (and then saved) the first time this method is invoked.
      Throws:
      IOException
    • getSiblings

      Deprecated.
      Returns int[] mapping each ordinal to its next sibling; this is a large array and is computed (and then saved) the first time this method is invoked.
      Throws:
      IOException
    • childrenLoaded

      public boolean childrenLoaded()
      Deprecated.
      Returns true if the (costly, and lazily initialized) children int[] was initialized.
    • siblingsLoaded

      public boolean siblingsLoaded()
      Deprecated.
      Returns true if the (costly, and lazily initialized) sibling int[] was initialized.
    • verifyDim

      protected FacetsConfig.DimConfig verifyDim(String dim)
      Deprecated.
      Verifies and returns FacetsConfig.DimConfig for the given dimension name.
      Returns:
      FacetsConfig.DimConfig for the given dim, or FacetsConfig.DEFAULT_DIM_CONFIG if it was never manually configured.
      Throws:
      IllegalArgumentException - if the provided dimension was manually configured, but its FacetsConfig.DimConfig.indexFieldName does not match indexFieldName.
    • updateValueFromRollup

      protected void updateValueFromRollup(int ordinal, int childOrdinal) throws IOException
      Deprecated.
      Roll-up the aggregation values from childOrdinal to ordinal. Overrides should probably call this to update the counts. Overriding allows us to work with primitive types for the aggregation values, keeping aggregation efficient.
      Throws:
      IOException
    • makeTopOrdAndNumberQueue

      protected TopOrdAndNumberQueue makeTopOrdAndNumberQueue(int topN)
      Deprecated.
      Return a TopOrdAndNumberQueue of the appropriate type, i.e. a TopOrdAndIntNumberQueue or a TopOrdAndFloatNumberQueue.
    • missingAggregationValue

      protected Number missingAggregationValue()
      Deprecated.
      Return the value for a missing aggregation, i.e. -1 or -1f.
    • rollup

      protected void rollup() throws IOException
      Deprecated.
      Rolls up any single-valued hierarchical dimensions.
      Throws:
      IOException
    • rollup

      private int rollup(int ord) throws IOException
      Deprecated.
      Throws:
      IOException
    • createFacetResult

      private FacetResult createFacetResult(TaxonomyFacets.TopChildrenForPath topChildrenForPath, String dim, String... path) throws IOException
      Deprecated.
      Create a FacetResult for the provided dim + path and intermediate results. Does the extra work of resolving ordinals -> labels, etc. Will return null if there are no children.
      Throws:
      IOException
    • getAllChildren

      public FacetResult getAllChildren(String dim, String... path) throws IOException
      Deprecated.
      Description copied from class: Facets
      Returns all child labels with non-zero counts under the specified path. Users should make no assumptions about ordering of the children. Returns null if the specified path doesn't exist or if this dimension was never seen.
      Specified by:
      getAllChildren in class Facets
      Throws:
      IOException
    • setIncomingValue

      protected void setIncomingValue(TopOrdAndNumberQueue.OrdAndValue incomingOrdAndValue, int ord)
      Deprecated.
      Set the value for a TopOrdAndNumberQueue.OrdAndValue to the one corresponding to the given ordinal.
    • insertIntoQueue

      protected TopOrdAndNumberQueue.OrdAndValue insertIntoQueue(TopOrdAndNumberQueue q, TopOrdAndNumberQueue.OrdAndValue incomingOrdAndValue, int ord)
      Deprecated.
      Insert an ordinal and the value corresponding to it into the queue.
    • newAggregatedValue

      protected TaxonomyFacets.AggregatedValue newAggregatedValue()
      Deprecated.
      Initialize an accumulator.
    • getTopChildrenForPath

      protected TaxonomyFacets.TopChildrenForPath getTopChildrenForPath(FacetsConfig.DimConfig dimConfig, int pathOrd, int topN) throws IOException
      Deprecated.
      Determine the top-n children for a specified dimension + path. Results are in an intermediate form.
      Throws:
      IOException
    • getTopChildren

      public FacetResult getTopChildren(int topN, String dim, String... path) throws IOException
      Deprecated.
      Description copied from class: Facets
      Returns the topN child labels under the specified path. Returns null if the specified path doesn't exist or if this dimension was never seen.
      Specified by:
      getTopChildren in class Facets
      Throws:
      IOException
    • getSpecificValue

      public Number getSpecificValue(String dim, String... path) throws IOException
      Deprecated.
      Description copied from class: Facets
      Return the count or value for a specific path. Returns -1 if this path doesn't exist, else the count.
      Specified by:
      getSpecificValue in class Facets
      Throws:
      IOException
    • getAllDims

      public List<FacetResult> getAllDims(int topN) throws IOException
      Deprecated.
      Description copied from class: Facets
      Returns topN labels for any dimension that had hits, sorted by the number of hits that dimension matched; this is used for "sparse" faceting, where many different dimensions were indexed, for example depending on the type of document.
      Specified by:
      getAllDims in class Facets
      Throws:
      IOException
    • getTopDims

      public List<FacetResult> getTopDims(int topNDims, int topNChildren) throws IOException
      Deprecated.
      Description copied from class: Facets
      Returns labels for topN dimensions and their topNChildren sorted by the number of hits/aggregated values that dimension matched. Results should be the same as calling getAllDims and then only using the first topNDims. Note that dims should be configured as requiring dim counts if using this functionality to ensure accurate counts are available (see: FacetsConfig.setRequireDimCount(String, boolean)).

      Sub-classes may want to override this implementation with a more efficient one if they are able.

      Overrides:
      getTopDims in class Facets
      Throws:
      IOException