Package org.apache.lucene.facet.taxonomy
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-createdFacets
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.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
TaxonomyFacets.AggregatedValue
Deprecated.An accumulator for an aggregated value.
-
Field Summary
Fields Modifier and Type Field Description protected FacetsConfig
config
Deprecated.FacetsConfig
provided to the constructor.protected String
indexFieldName
Deprecated.Index field name provided to the constructor.protected TaxonomyReader
taxoReader
Deprecated.TaxonomyReader
provided to the constructor.protected Comparator<Number>
valueComparator
Deprecated.Defines comparison between aggregated values.
-
Constructor Summary
Constructors Modifier Constructor Description protected
TaxonomyFacets(String indexFieldName, TaxonomyReader taxoReader, FacetsConfig config)
Deprecated.To be removed in Lucene 10.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected Number
aggregate(Number existingVal, Number newVal)
Deprecated.Apply an aggregation to the two values and return the result.boolean
childrenLoaded()
Deprecated.Returns true if the (costly, and lazily initialized) children int[] was initialized.protected Number
getAggregationValue(int ordinal)
Deprecated.Get the aggregation value for this ordinal.FacetResult
getAllChildren(String dim, String... path)
Deprecated.Returns all child labels with non-zero counts under the specified path.List<FacetResult>
getAllDims(int topN)
Deprecated.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.protected int
getCount(int ordinal)
Deprecated.Get the count for this ordinal.Number
getSpecificValue(String dim, String... path)
Deprecated.Return the count or value for a specific path.FacetResult
getTopChildren(int topN, String dim, String... path)
Deprecated.Returns the topN child labels under the specified path.protected org.apache.lucene.facet.taxonomy.TaxonomyFacets.TopChildrenForPath
getTopChildrenForPath(FacetsConfig.DimConfig dimConfig, int pathOrd, int topN)
Deprecated.Determine the top-n children for a specified dimension + path.List<FacetResult>
getTopDims(int topNDims, int topNChildren)
Deprecated.Returns labels for topN dimensions and their topNChildren sorted by the number of hits/aggregated values that dimension matched.protected void
initializeValueCounters()
Deprecated.If not done already, initialize the data structures storing counts.protected TopOrdAndNumberQueue.OrdAndValue
insertIntoQueue(TopOrdAndNumberQueue q, TopOrdAndNumberQueue.OrdAndValue incomingOrdAndValue, int ord)
Deprecated.Insert an ordinal and the value corresponding to it into the queue.protected TopOrdAndNumberQueue
makeTopOrdAndNumberQueue(int topN)
Deprecated.Return aTopOrdAndNumberQueue
of the appropriate type, i.e.protected Number
missingAggregationValue()
Deprecated.Return the value for a missing aggregation, i.e.protected TaxonomyFacets.AggregatedValue
newAggregatedValue()
Deprecated.Initialize an accumulator.protected void
rollup()
Deprecated.Rolls up any single-valued hierarchical dimensions.protected void
setCount(int ordinal, int newValue)
Deprecated.Set the count for this ordinal tonewValue
.protected void
setIncomingValue(TopOrdAndNumberQueue.OrdAndValue incomingOrdAndValue, int ord)
Deprecated.Set the value for aTopOrdAndNumberQueue.OrdAndValue
to the one corresponding to the given ordinal.boolean
siblingsLoaded()
Deprecated.Returns true if the (costly, and lazily initialized) sibling int[] was initialized.protected void
updateValueFromRollup(int ordinal, int childOrdinal)
Deprecated.Roll-up the aggregation values fromchildOrdinal
toordinal
.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[].protected FacetsConfig.DimConfig
verifyDim(String dim)
Deprecated.Verifies and returnsFacetsConfig.DimConfig
for the given dimension name.-
Methods inherited from class org.apache.lucene.facet.Facets
validateTopN
-
-
-
-
Field Detail
-
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.
-
valueComparator
protected Comparator<Number> valueComparator
Deprecated.Defines comparison between aggregated values.
-
-
Constructor Detail
-
TaxonomyFacets
@Deprecated protected TaxonomyFacets(String indexFieldName, TaxonomyReader taxoReader, FacetsConfig config) throws IOException
Deprecated.To be removed in Lucene 10.Constructor without aFacetsCollector
- we don't have access to the hits, so we have to assume there are hits when initializing internal data structures.- Throws:
IOException
-
-
Method Detail
-
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 tonewValue
.
-
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.
-
childrenLoaded
public boolean childrenLoaded()
Deprecated.Returns true if the (costly, and lazily initialized) children int[] was initialized.- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
siblingsLoaded
public boolean siblingsLoaded()
Deprecated.Returns true if the (costly, and lazily initialized) sibling int[] was initialized.- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
verifyDim
protected FacetsConfig.DimConfig verifyDim(String dim)
Deprecated.Verifies and returnsFacetsConfig.DimConfig
for the given dimension name.- Returns:
FacetsConfig.DimConfig
for the given dim, orFacetsConfig.DEFAULT_DIM_CONFIG
if it was never manually configured.- Throws:
IllegalArgumentException
- if the provided dimension was manually configured, but itsFacetsConfig.DimConfig.indexFieldName
does not matchindexFieldName
.
-
updateValueFromRollup
protected void updateValueFromRollup(int ordinal, int childOrdinal) throws IOException
Deprecated.Roll-up the aggregation values fromchildOrdinal
toordinal
. 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 aTopOrdAndNumberQueue
of the appropriate type, i.e. aTopOrdAndIntNumberQueue
or aTopOrdAndFloatNumberQueue
.
-
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
-
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 classFacets
- Throws:
IOException
-
setIncomingValue
protected void setIncomingValue(TopOrdAndNumberQueue.OrdAndValue incomingOrdAndValue, int ord)
Deprecated.Set the value for aTopOrdAndNumberQueue.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 org.apache.lucene.facet.taxonomy.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 classFacets
- 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 classFacets
- 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 classFacets
- 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 classFacets
- Throws:
IOException
-
-