Class TaxonomyFacetsCutter
- java.lang.Object
-
- org.apache.lucene.sandbox.facet.cutters.TaxonomyFacetsCutter
-
- All Implemented Interfaces:
FacetCutter
public final class TaxonomyFacetsCutter extends Object implements FacetCutter
FacetCutterfor facets that use taxonomy side-car index.- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
-
Constructor Summary
Constructors Constructor Description TaxonomyFacetsCutter(String indexFieldName, FacetsConfig facetsConfig, TaxonomyReader taxoReader)CreateFacetCutterfor taxonomy facets.TaxonomyFacetsCutter(String indexFieldName, FacetsConfig facetsConfig, TaxonomyReader taxoReader, boolean disableRollup)Expert: CreateFacetCutterfor taxonomy facets.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description LeafFacetCuttercreateLeafCutter(LeafReaderContext context)Get cutter for the leaf.OrdinalIteratorgetChildrenOrds(int parentOrd)For facets that have hierarchy (levels), get all children ordinals for given ord.OrdinalIteratorgetOrdinalsToRollup()For facets that have hierarchy (levels), return all top level dimension ordinals that require rollup.
-
-
-
Constructor Detail
-
TaxonomyFacetsCutter
public TaxonomyFacetsCutter(String indexFieldName, FacetsConfig facetsConfig, TaxonomyReader taxoReader)
CreateFacetCutterfor taxonomy facets.
-
TaxonomyFacetsCutter
public TaxonomyFacetsCutter(String indexFieldName, FacetsConfig facetsConfig, TaxonomyReader taxoReader, boolean disableRollup)
Expert: CreateFacetCutterfor taxonomy facets.- Parameters:
disableRollup- if set to true, rollup is disabled. In most cases users should not use it. Setting it to true silently leads to incorrect results for dimensions that require rollup. At the same time, if you are sure that there are no dimensions that require rollup, setting it to true might improve performance.
-
-
Method Detail
-
createLeafCutter
public LeafFacetCutter createLeafCutter(LeafReaderContext context) throws IOException
Description copied from interface:FacetCutterGet cutter for the leaf.- Specified by:
createLeafCutterin interfaceFacetCutter- Throws:
IOException
-
getOrdinalsToRollup
public OrdinalIterator getOrdinalsToRollup() throws IOException
Description copied from interface:FacetCutterFor facets that have hierarchy (levels), return all top level dimension ordinals that require rollup.Rollup is an optimization for facets types that support hierarchy, if single document belongs to at most one node in the hierarchy, we can first record data for these nodes only, and then roll up values to parent ordinals.
Default implementation returns null, which means that rollup is not needed.
- Specified by:
getOrdinalsToRollupin interfaceFacetCutter- Throws:
IOException
-
getChildrenOrds
public OrdinalIterator getChildrenOrds(int parentOrd) throws IOException
Description copied from interface:FacetCutterFor facets that have hierarchy (levels), get all children ordinals for given ord.- Specified by:
getChildrenOrdsin interfaceFacetCutter- Throws:
IOException
-
-