List of usage examples for org.apache.lucene.facet DrillSideways DrillSideways
public DrillSideways(IndexSearcher searcher, FacetsConfig config, TaxonomyReader taxoReader,
SortedSetDocValuesReaderState state)
From source file:com.czw.search.lucene.example.facet.RangeFacetsExample.java
License:Apache License
/** User drills down on the specified range, and also computes drill sideways counts. */ public DrillSideways.DrillSidewaysResult drillSideways(LongRange range) throws IOException { // Passing no baseQuery means we drill down on all // documents ("browse only"): DrillDownQuery q = new DrillDownQuery(getConfig()); q.add("timestamp", LongPoint.newRangeQuery("timestamp", range.min, range.max)); // DrillSideways only handles taxonomy and sorted set drill facets by default; to do range facets we must subclass and override the // buildFacetsResult method. DrillSideways.DrillSidewaysResult result = new DrillSideways(searcher, getConfig(), null, null) { @Override/* w w w. j a v a2 s .c o m*/ protected Facets buildFacetsResult(FacetsCollector drillDowns, FacetsCollector[] drillSideways, String[] drillSidewaysDims) throws IOException { // If we had other dims we would also compute their drill-down or drill-sideways facets here: assert drillSidewaysDims[0].equals("timestamp"); return new LongRangeFacetCounts("timestamp", drillSideways[0], PAST_HOUR, PAST_SIX_HOURS, PAST_DAY); } }.search(q, 10); return result; }