Class SortedSetDocValuesFacetCounts
java.lang.Object
org.apache.lucene.facet.Facets
org.apache.lucene.facet.sortedset.SortedSetDocValuesFacetCounts
Compute facets counts from previously indexed
SortedSetDocValuesFacetField
, without
require a separate taxonomy index. Faceting is a bit slower (~25%), and there is added cost on
every IndexReader
open to create a new SortedSetDocValuesReaderState
.
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
NOTE: if you have multi-valued dims that require dim counts (see FacetsConfig
,
make sure to provide your FacetsConfig
instance when instantiating SortedSetDocValuesReaderState
, or else dim counts can be inaccurate
- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
Constructor Summary
ConstructorDescriptionReturns all facet counts, same result as searching onMatchAllDocsQuery
but faster.Counts all facet dimensions across the provided hits. -
Method Summary
Modifier and TypeMethodDescriptiongetAllDims
(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.getSpecificValue
(String dim, String... path) Return the count or value for a specific path.getTopChildren
(int topN, String dim, String... path) Returns the topN child labels under the specified path.
-
Constructor Details
-
SortedSetDocValuesFacetCounts
Returns all facet counts, same result as searching onMatchAllDocsQuery
but faster.- Throws:
IOException
-
SortedSetDocValuesFacetCounts
public SortedSetDocValuesFacetCounts(SortedSetDocValuesReaderState state, FacetsCollector hits) throws IOException Counts all facet dimensions across the provided hits.- Throws:
IOException
-
-
Method Details
-
getTopChildren
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
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
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
-