java.lang.Object
org.apache.lucene.facet.Facets
org.apache.lucene.facet.FacetCountsWithFilterQuery
org.apache.lucene.facet.range.RangeFacetCounts
org.apache.lucene.facet.range.LongRangeFacetCounts
Facets implementation that computes counts for dynamic long ranges. 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.).-
Field Summary
Fields inherited from class org.apache.lucene.facet.range.RangeFacetCounts
counts, field, ranges, totCountFields inherited from class org.apache.lucene.facet.FacetCountsWithFilterQuery
fastMatchQuery -
Constructor Summary
ConstructorsConstructorDescriptionLongRangeFacetCounts(String field, FacetsCollector hits, LongRange... ranges) CreateLongRangeFacetCountsusing long values from the specified field.LongRangeFacetCounts(String field, MultiLongValuesSource valuesSource, FacetsCollector hits, LongRange... ranges) CreateLongRangeFacetCounts, using the providedMultiLongValuesSourceif non-null.LongRangeFacetCounts(String field, MultiLongValuesSource valuesSource, FacetsCollector hits, Query fastMatchQuery, LongRange... ranges) CreateLongRangeFacetCounts, using the providedMultiLongValuesSourceif non-null.LongRangeFacetCounts(String field, LongValuesSource valueSource, FacetsCollector hits, LongRange... ranges) CreateLongRangeFacetCounts, using the providedLongValuesSourceif non-null.LongRangeFacetCounts(String field, LongValuesSource valueSource, FacetsCollector hits, Query fastMatchQuery, LongRange... ranges) CreateLongRangeFacetCounts, using the providedLongValuesSourceif non-null. -
Method Summary
Modifier and TypeMethodDescriptionprivate voidcount(MultiLongValuesSource valueSource, List<FacetsCollector.MatchingDocs> matchingDocs) Counts from the provided valueSource.private voidcount(LongValuesSource valueSource, List<FacetsCollector.MatchingDocs> matchingDocs) Counts from the provided valueSource.protected LongRange[]Methods inherited from class org.apache.lucene.facet.range.RangeFacetCounts
count, getAllChildren, getAllDims, getSpecificValue, getTopChildren, mapDocValue, setupCounter, toStringMethods inherited from class org.apache.lucene.facet.FacetCountsWithFilterQuery
createIteratorMethods inherited from class org.apache.lucene.facet.Facets
getTopDims, validateTopN
-
Constructor Details
-
LongRangeFacetCounts
public LongRangeFacetCounts(String field, FacetsCollector hits, LongRange... ranges) throws IOException CreateLongRangeFacetCountsusing long values from the specified field. The field may be single-valued (NumericDocValues) or multi-valued (SortedNumericDocValues), and will be interpreted as containing long values.- Throws:
IOException
-
LongRangeFacetCounts
public LongRangeFacetCounts(String field, LongValuesSource valueSource, FacetsCollector hits, LongRange... ranges) throws IOException CreateLongRangeFacetCounts, using the providedLongValuesSourceif non-null. IfvalueSourceis null, doc values from the providedfieldwill be used.- Throws:
IOException
-
LongRangeFacetCounts
public LongRangeFacetCounts(String field, MultiLongValuesSource valuesSource, FacetsCollector hits, LongRange... ranges) throws IOException CreateLongRangeFacetCounts, using the providedMultiLongValuesSourceif non-null. IfvaluesSourceis null, doc values from the providedfieldwill be used.- Throws:
IOException
-
LongRangeFacetCounts
public LongRangeFacetCounts(String field, LongValuesSource valueSource, FacetsCollector hits, Query fastMatchQuery, LongRange... ranges) throws IOException CreateLongRangeFacetCounts, using the providedLongValuesSourceif non-null. IfvalueSourceis null, doc values from the providedfieldwill be used. Use the providedQueryas a fastmatch: only documents passing the filter are checked for the matching ranges, which is helpful when the providedLongValuesSourceis costly per-document, such as a geo distance.- Throws:
IOException
-
LongRangeFacetCounts
public LongRangeFacetCounts(String field, MultiLongValuesSource valuesSource, FacetsCollector hits, Query fastMatchQuery, LongRange... ranges) throws IOException CreateLongRangeFacetCounts, using the providedMultiLongValuesSourceif non-null. IfvaluesSourceis null, doc values from the providedfieldwill be used. Use the providedQueryas a fastmatch: only documents passing the filter are checked for the matching ranges, which is helpful when the providedLongValuesSourceis costly per-document, such as a geo distance.- Throws:
IOException
-
-
Method Details
-
count
private void count(LongValuesSource valueSource, List<FacetsCollector.MatchingDocs> matchingDocs) throws IOException Counts from the provided valueSource.- Throws:
IOException
-
count
private void count(MultiLongValuesSource valueSource, List<FacetsCollector.MatchingDocs> matchingDocs) throws IOException Counts from the provided valueSource.- Throws:
IOException
-
getLongRanges
- Specified by:
getLongRangesin classRangeFacetCounts
-