Package org.apache.lucene.facet.range
Class DoubleRangeFacetCounts
- java.lang.Object
-
- org.apache.lucene.facet.Facets
-
- org.apache.lucene.facet.range.DoubleRangeFacetCounts
-
public class DoubleRangeFacetCounts extends Facets
Facets
implementation that computes counts for dynamic double ranges from a providedDoubleValuesSource
. Use this for dimensions that change in real-time (e.g. a relative time based dimension like "Past day", "Past 2 days", etc.) or that change for each request (e.g. distance from the user's location, "< 1 km", "< 2 km", etc.). If you have indexed your field usingFloatDocValuesField
, then you should use a DoubleValuesSource generated fromDoubleValuesSource.fromFloatField(String)
.- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
-
Field Summary
Fields Modifier and Type Field Description protected int[]
counts
Counts, initialized in by subclass.protected Query
fastMatchQuery
Optional: if specified, we first test this Query to see whether the document should be checked for matching ranges.protected String
field
Our field name.protected Range[]
ranges
Ranges passed to constructor.protected int
totCount
Total number of hits.
-
Constructor Summary
Constructors Constructor Description DoubleRangeFacetCounts(String field, FacetsCollector hits, DoubleRange... ranges)
CreateRangeFacetCounts
, usingDoubleValues
from the specified field.DoubleRangeFacetCounts(String field, DoubleValuesSource valueSource, FacetsCollector hits, DoubleRange... ranges)
CreateRangeFacetCounts
using the providedDoubleValuesSource
DoubleRangeFacetCounts(String field, DoubleValuesSource valueSource, FacetsCollector hits, Query fastMatchQuery, DoubleRange... ranges)
CreateRangeFacetCounts
, using the providedDoubleValuesSource
, and using the provided Query as a fastmatch: only documents matching the query are checked for the matching ranges.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.String
toString()
-
-
-
Field Detail
-
ranges
protected final Range[] ranges
Ranges passed to constructor.
-
counts
protected final int[] counts
Counts, initialized in by subclass.
-
fastMatchQuery
protected final Query fastMatchQuery
Optional: if specified, we first test this Query to see whether the document should be checked for matching ranges. If this is null, all documents are checked.
-
field
protected final String field
Our field name.
-
totCount
protected int totCount
Total number of hits.
-
-
Constructor Detail
-
DoubleRangeFacetCounts
public DoubleRangeFacetCounts(String field, FacetsCollector hits, DoubleRange... ranges) throws IOException
CreateRangeFacetCounts
, usingDoubleValues
from the specified field. N.B This assumes that the field was indexed withDoubleDocValuesField
. For float-valued fields, useDoubleRangeFacetCounts(String, DoubleValuesSource, FacetsCollector, DoubleRange...)
- Throws:
IOException
-
DoubleRangeFacetCounts
public DoubleRangeFacetCounts(String field, DoubleValuesSource valueSource, FacetsCollector hits, DoubleRange... ranges) throws IOException
CreateRangeFacetCounts
using the providedDoubleValuesSource
- Throws:
IOException
-
DoubleRangeFacetCounts
public DoubleRangeFacetCounts(String field, DoubleValuesSource valueSource, FacetsCollector hits, Query fastMatchQuery, DoubleRange... ranges) throws IOException
CreateRangeFacetCounts
, using the providedDoubleValuesSource
, and using the provided Query as a fastmatch: only documents matching the query are checked for the matching ranges.- Throws:
IOException
-
-
Method Detail
-
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
-
getSpecificValue
public Number getSpecificValue(String dim, String... path) throws IOException
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
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
-
-