public class DoubleRangeFacetCounts extends Facets
Facets
implementation that computes counts for
dynamic double ranges from a provided ValueSource
, using FunctionValues.doubleVal(int)
. 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 had indexed your field using FloatDocValuesField
then pass FloatFieldSource
as the ValueSource
; if you used DoubleDocValuesField
then pass DoubleFieldSource
(this is the default used when you
pass just a the field name).
Modifier and Type | Field and 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 and Description |
---|
DoubleRangeFacetCounts(String field,
FacetsCollector hits,
DoubleRange... ranges)
Create
RangeFacetCounts , using DoubleFieldSource from the specified field. |
DoubleRangeFacetCounts(String field,
ValueSource valueSource,
FacetsCollector hits,
DoubleRange... ranges)
Create
RangeFacetCounts , using the provided
ValueSource . |
DoubleRangeFacetCounts(String field,
ValueSource valueSource,
FacetsCollector hits,
Query fastMatchQuery,
DoubleRange... ranges)
Create
RangeFacetCounts , using the provided
ValueSource , and using the provided Query as
a fastmatch: only documents passing the filter are
checked for the matching ranges. |
Modifier and Type | Method and 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.
|
protected final Range[] ranges
protected final int[] counts
protected final Query fastMatchQuery
protected final String field
protected int totCount
public DoubleRangeFacetCounts(String field, FacetsCollector hits, DoubleRange... ranges) throws IOException
RangeFacetCounts
, using DoubleFieldSource
from the specified field.IOException
public DoubleRangeFacetCounts(String field, ValueSource valueSource, FacetsCollector hits, DoubleRange... ranges) throws IOException
RangeFacetCounts
, using the provided
ValueSource
.IOException
public DoubleRangeFacetCounts(String field, ValueSource valueSource, FacetsCollector hits, Query fastMatchQuery, DoubleRange... ranges) throws IOException
RangeFacetCounts
, using the provided
ValueSource
, and using the provided Query as
a fastmatch: only documents passing the filter are
checked for the matching ranges. The filter must be
random access (implement DocIdSet.bits()
).IOException
public FacetResult getTopChildren(int topN, String dim, String... path)
Facets
getTopChildren
in class Facets
public Number getSpecificValue(String dim, String... path) throws IOException
Facets
getSpecificValue
in class Facets
IOException
public List<FacetResult> getAllDims(int topN) throws IOException
Facets
getAllDims
in class Facets
IOException
Copyright © 2000-2016 Apache Software Foundation. All Rights Reserved.