Class SortedSetDocValuesFacetCounts
- java.lang.Object
-
- org.apache.lucene.facet.Facets
-
- org.apache.lucene.facet.sortedset.SortedSetDocValuesFacetCounts
-
public class SortedSetDocValuesFacetCounts extends Facets
Compute facets counts from previously indexedSortedSetDocValuesFacetField
, without require a separate taxonomy index. Faceting is a bit slower (~25%), and there is added cost on everyIndexReader
open to create a newSortedSetDocValuesReaderState
. Furthermore, this does not support hierarchical facets; only flat (dimension + label) facets, but it uses quite a bit less RAM to do so.NOTE: this class should be instantiated and then used from a single thread, because it holds a thread-private instance of
SortedSetDocValues
.NOTE:: tie-break is by unicode sort order
-
-
Constructor Summary
Constructors Constructor Description SortedSetDocValuesFacetCounts(SortedSetDocValuesReaderState state, FacetsCollector hits)
Sparse faceting: returns any dimension that had any hits, topCount labels per dimension.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.List<FacetResult>
getAllDims(int topN)
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.java.lang.Number
getSpecificValue(java.lang.String dim, java.lang.String... path)
Return the count or value for a specific path.FacetResult
getTopChildren(int topN, java.lang.String dim, java.lang.String... path)
Returns the topN child labels under the specified path.
-
-
-
Constructor Detail
-
SortedSetDocValuesFacetCounts
public SortedSetDocValuesFacetCounts(SortedSetDocValuesReaderState state, FacetsCollector hits) throws java.io.IOException
Sparse faceting: returns any dimension that had any hits, topCount labels per dimension.- Throws:
java.io.IOException
-
-
Method Detail
-
getTopChildren
public FacetResult getTopChildren(int topN, java.lang.String dim, java.lang.String... path) throws java.io.IOException
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:
java.io.IOException
-
getSpecificValue
public java.lang.Number getSpecificValue(java.lang.String dim, java.lang.String... path)
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
-
getAllDims
public java.util.List<FacetResult> getAllDims(int topN) throws java.io.IOException
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:
java.io.IOException
-
-