Lucene.Net.Facet.DrillSideways.BuildFacetsResult C# (CSharp) Method

BuildFacetsResult() protected method

Subclass can override to customize per-dim Facets impl.
protected BuildFacetsResult ( FacetsCollector drillDowns, FacetsCollector drillSideways, string drillSidewaysDims ) : Lucene.Net.Facet.Facets
drillDowns FacetsCollector
drillSideways FacetsCollector
drillSidewaysDims string
return Lucene.Net.Facet.Facets
        protected virtual Facets BuildFacetsResult(FacetsCollector drillDowns, FacetsCollector[] drillSideways, string[] drillSidewaysDims)
        {

            Facets drillDownFacets;
            var drillSidewaysFacets = new Dictionary<string, Facets>();

            if (taxoReader != null)
            {
                drillDownFacets = new FastTaxonomyFacetCounts(taxoReader, config, drillDowns);
                if (drillSideways != null)
                {
                    for (int i = 0; i < drillSideways.Length; i++)
                    {
                        drillSidewaysFacets[drillSidewaysDims[i]] = new FastTaxonomyFacetCounts(taxoReader, config, drillSideways[i]);
                    }
                }
            }
            else
            {
                drillDownFacets = new SortedSetDocValuesFacetCounts(state, drillDowns);
                if (drillSideways != null)
                {
                    for (int i = 0; i < drillSideways.Length; i++)
                    {
                        drillSidewaysFacets[drillSidewaysDims[i]] = new SortedSetDocValuesFacetCounts(state, drillSideways[i]);
                    }
                }
            }

            if (drillSidewaysFacets.Count == 0)
            {
                return drillDownFacets;
            }
            else
            {
                return new MultiFacets(drillSidewaysFacets, drillDownFacets);
            }
        }