Class PivotFacetProcessor

java.lang.Object
org.apache.solr.request.SimpleFacets
org.apache.solr.handler.component.PivotFacetProcessor

public class PivotFacetProcessor extends SimpleFacets
Processes all Pivot facet logic for a single node -- both non-distrib, and per-shard
  • Field Details

  • Constructor Details

  • Method Details

    • process

      public org.apache.solr.common.util.SimpleOrderedMap<List<org.apache.solr.common.util.NamedList<Object>>> process(String[] pivots) throws IOException
      Processes all of the specified FacetParams.FACET_PIVOT strings, generating a complete response tree for each pivot. The values in this response will either be the complete tree of fields and values for the specified pivot in the local index, or the requested refinements if the pivot params include the PivotFacet.REFINE_PARAM
      Throws:
      IOException
    • doPivots

      protected List<org.apache.solr.common.util.NamedList<Object>> doPivots(org.apache.solr.common.util.NamedList<Integer> superFacets, String field, String subField, Deque<String> fnames, Deque<String> vnames, SimpleFacets.ParsedParams parsed, List<StatsField> statsFields, List<FacetComponent.FacetBase> facetQueries, List<RangeFacetRequest> facetRanges) throws IOException
      Recursive function to compute all the pivot counts for the values under the specified field
      Throws:
      IOException
    • addPivotQueriesAndRanges

      protected void addPivotQueriesAndRanges(org.apache.solr.common.util.NamedList<Object> pivot, org.apache.solr.common.params.SolrParams params, DocSet docs, List<FacetComponent.FacetBase> facetQueries, List<RangeFacetRequest> facetRanges) throws IOException
      Add facet.queries and facet.ranges to the pivot response if needed
      Parameters:
      pivot - Pivot in which to inject additional data
      params - Query parameters.
      docs - DocSet of the current pivot to use for computing sub-counts
      facetQueries - Tagged facet queries should have to be included, must not be null
      facetRanges - Taged facet ranges should have to be included, must not be null
      Throws:
      IOException - If searcher has issues finding numDocs.