Package org.apache.lucene.facet
Class LongValueFacetCounts
- java.lang.Object
-
- org.apache.lucene.facet.Facets
-
- org.apache.lucene.facet.LongValueFacetCounts
-
public class LongValueFacetCounts extends Facets
Facets
implementation that computes counts for all unique long values, more efficiently counting small values (0-1023) using an int array, and switching to aHashMap
for values above 1023. Retrieve all facet counts, in value order, withgetAllChildrenSortByValue()
, or get all children with no ordering requirements withgetAllChildren(String, String...)
, or get the topN values sorted by count withgetTopChildren(int, String, String...)
.- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
-
Constructor Summary
Constructors Constructor Description LongValueFacetCounts(String field, FacetsCollector hits)
CreateLongValueFacetCounts
, using either single-valuedNumericDocValues
or multi-valuedSortedNumericDocValues
from the specified field (depending on what has been indexed).LongValueFacetCounts(String field, MultiLongValuesSource valuesSource, FacetsCollector hits)
CreateLongValueFacetCounts
, using the providedMultiLongValuesSource
if non-null.LongValueFacetCounts(String field, MultiLongValuesSource valuesSource, IndexReader reader)
Counts all facet values for the providedMultiLongValuesSource
if non-null.LongValueFacetCounts(String field, IndexReader reader)
Counts all facet values for this reader.LongValueFacetCounts(String field, LongValuesSource valueSource, FacetsCollector hits)
CreateLongValueFacetCounts
, using the providedLongValuesSource
if non-null.LongValueFacetCounts(String field, LongValuesSource valueSource, IndexReader reader)
Counts all facet values for the providedLongValuesSource
if non-null.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description FacetResult
getAllChildren(String dim, String... path)
Returns all child labels with non-zero counts under the specified path.FacetResult
getAllChildrenSortByValue()
Returns all unique values seen, sorted by value.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.Number
getSpecificValue(String dim, String... path)
Return the count or value for a specific path.FacetResult
getTopChildren(int topN, String dim, String... path)
Returns the topN child labels under the specified path.FacetResult
getTopChildrenSortByCount(int topN)
Deprecated.Please usegetTopChildren(int, String, String...)
instead for the same functionality.String
toString()
-
Methods inherited from class org.apache.lucene.facet.Facets
getTopDims, validateTopN
-
-
-
-
Constructor Detail
-
LongValueFacetCounts
public LongValueFacetCounts(String field, FacetsCollector hits) throws IOException
CreateLongValueFacetCounts
, using either single-valuedNumericDocValues
or multi-valuedSortedNumericDocValues
from the specified field (depending on what has been indexed).- Throws:
IOException
-
LongValueFacetCounts
public LongValueFacetCounts(String field, LongValuesSource valueSource, FacetsCollector hits) throws IOException
CreateLongValueFacetCounts
, using the providedLongValuesSource
if non-null. IfvalueSource
is null, doc values from the providedfield
will be used.- Throws:
IOException
-
LongValueFacetCounts
public LongValueFacetCounts(String field, MultiLongValuesSource valuesSource, FacetsCollector hits) throws IOException
CreateLongValueFacetCounts
, using the providedMultiLongValuesSource
if non-null. IfvaluesSource
is null, doc values from the providedfield
will be used.- Throws:
IOException
-
LongValueFacetCounts
public LongValueFacetCounts(String field, IndexReader reader) throws IOException
Counts all facet values for this reader. This produces the same result as computing facets on aMatchAllDocsQuery
, but is more efficient.- Throws:
IOException
-
LongValueFacetCounts
public LongValueFacetCounts(String field, LongValuesSource valueSource, IndexReader reader) throws IOException
Counts all facet values for the providedLongValuesSource
if non-null. IfvalueSource
is null, doc values from the providedfield
will be used. This produces the same result as computing facets on aMatchAllDocsQuery
, but is more efficient.- Throws:
IOException
-
LongValueFacetCounts
public LongValueFacetCounts(String field, MultiLongValuesSource valuesSource, IndexReader reader) throws IOException
Counts all facet values for the providedMultiLongValuesSource
if non-null. IfvalueSource
is null, doc values from the providedfield
will be used. This produces the same result as computing facets on aMatchAllDocsQuery
, but is more efficient.- Throws:
IOException
-
-
Method Detail
-
getAllChildren
public FacetResult getAllChildren(String dim, String... path) throws IOException
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
-
getTopChildren
public FacetResult getTopChildren(int topN, String dim, String... path)
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
-
getTopChildrenSortByCount
@Deprecated public FacetResult getTopChildrenSortByCount(int topN)
Deprecated.Please usegetTopChildren(int, String, String...)
instead for the same functionality.Returns the specified top number of facets, sorted by count.
-
getAllChildrenSortByValue
public FacetResult getAllChildrenSortByValue()
Returns all unique values seen, sorted by value. This functionality is very similar togetAllChildren(String, String...)
, but it guarantees the returned values will be sorted by value (while#getAllChildren
doesn't guarantee any sort order).Note: If you don't care about the order of children returned, it may be slightly more efficient to use
getAllChildren(String, String...)
.
-
getSpecificValue
public Number getSpecificValue(String dim, 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 List<FacetResult> getAllDims(int topN)
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
-
-