org.apache.lucene.facet.search
Class DrillSideways

java.lang.Object
  extended by org.apache.lucene.facet.search.DrillSideways

public class DrillSideways
extends Object

Computes drill down and sideways counts for the provided DrillDownQuery. Drill sideways counts include alternative values/aggregates for the drill-down dimensions so that a dimension does not disappear after the user drills down into it.

Use one of the static search methods to do the search, and then get the hits and facet results from the returned DrillSideways.DrillSidewaysResult.

NOTE: this allocates one FacetsCollector for each drill-down, plus one. If your index has high number of facet labels then this will multiply your memory usage.

WARNING: This API is experimental and might change in incompatible ways in the next release.

Nested Class Summary
static class DrillSideways.DrillSidewaysResult
          Represents the returned result from a drill sideways search.
 
Field Summary
protected  IndexSearcher searcher
           
protected  TaxonomyReader taxoReader
           
 
Constructor Summary
DrillSideways(IndexSearcher searcher, TaxonomyReader taxoReader)
          Create a new DrillSideways instance.
 
Method Summary
protected  FacetsAccumulator getDrillDownAccumulator(FacetSearchParams fsp)
          Override this to use a custom drill-down FacetsAccumulator.
protected  FacetsAccumulator getDrillSidewaysAccumulator(String dim, FacetSearchParams fsp)
          Override this to use a custom drill-sideways FacetsAccumulator.
 DrillSideways.DrillSidewaysResult search(DrillDownQuery query, Collector hitCollector, FacetSearchParams fsp)
          Search, collecting hits with a Collector, and computing drill down and sideways counts.
 DrillSideways.DrillSidewaysResult search(DrillDownQuery query, Filter filter, FieldDoc after, int topN, Sort sort, boolean doDocScores, boolean doMaxScore, FacetSearchParams fsp)
          Search, sorting by Sort, and computing drill down and sideways counts.
 DrillSideways.DrillSidewaysResult search(ScoreDoc after, DrillDownQuery query, int topN, FacetSearchParams fsp)
          Search, sorting by score, and computing drill down and sideways counts.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

searcher

protected final IndexSearcher searcher

taxoReader

protected final TaxonomyReader taxoReader
Constructor Detail

DrillSideways

public DrillSideways(IndexSearcher searcher,
                     TaxonomyReader taxoReader)
Create a new DrillSideways instance.

Method Detail

search

public DrillSideways.DrillSidewaysResult search(DrillDownQuery query,
                                                Collector hitCollector,
                                                FacetSearchParams fsp)
                                         throws IOException
Search, collecting hits with a Collector, and computing drill down and sideways counts.

Throws:
IOException

search

public DrillSideways.DrillSidewaysResult search(DrillDownQuery query,
                                                Filter filter,
                                                FieldDoc after,
                                                int topN,
                                                Sort sort,
                                                boolean doDocScores,
                                                boolean doMaxScore,
                                                FacetSearchParams fsp)
                                         throws IOException
Search, sorting by Sort, and computing drill down and sideways counts.

Throws:
IOException

search

public DrillSideways.DrillSidewaysResult search(ScoreDoc after,
                                                DrillDownQuery query,
                                                int topN,
                                                FacetSearchParams fsp)
                                         throws IOException
Search, sorting by score, and computing drill down and sideways counts.

Throws:
IOException

getDrillDownAccumulator

protected FacetsAccumulator getDrillDownAccumulator(FacetSearchParams fsp)
Override this to use a custom drill-down FacetsAccumulator.


getDrillSidewaysAccumulator

protected FacetsAccumulator getDrillSidewaysAccumulator(String dim,
                                                        FacetSearchParams fsp)
Override this to use a custom drill-sideways FacetsAccumulator.



Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.