public void RunFacetExample() { Console.WriteLine("-- RunFacetExample --"); FacetParameters facetParameters = new FacetParameters(); QueryOptions queryOptions = new QueryOptions(); SolrFacetFieldQuery umpireFacets = new SolrFacetFieldQuery("bg_homePlateUmpire"); umpireFacets.Limit = 50; umpireFacets.Sort = true; // this uses the DateMathParser syntax - i.e. +1DAY, +1MONTH, DAY+6MONTHS+3DAYS SolrFacetDateQuery dateFacets = new SolrFacetDateQuery("bg_date", new DateTime(2005, 1, 1), DateTime.Now, "+1MONTH"); queryOptions.AddFacets(umpireFacets, dateFacets); // we just want the facets, not data queryOptions.Rows = 0; ISolrQueryResults<BaseballGame> results = _solrOperations.Query(SolrQuery.All, queryOptions); DateFacetingResult dateFacetResults = results.FacetDates["bg_date"]; var umpireFacetResults = results.FacetFields["bg_homePlateUmpire"]; Console.WriteLine("Date Facets"); foreach (KeyValuePair<DateTime,int> dateFacet in dateFacetResults.DateResults) { Console.WriteLine(string.Format("Date: {0}, Games: {1}", dateFacet.Key, dateFacet.Value)); } Console.WriteLine("Umpire Facets"); foreach(KeyValuePair<string,int> umpireFacet in umpireFacetResults) { Console.WriteLine(string.Format("Umpire Name: {0}, Games Called: {1}", umpireFacet.Key, umpireFacet.Value)); } }
private FacetParameters BuildBaseFacetQuery() { FacetParameters facetParameters = new FacetParameters(); foreach (var facet in Global.BaseballGameFacetNames) { var facetQuery = new SolrFacetFieldQuery(facet.Item2); facetQuery.Limit = -1; facetParameters.Queries.Add(facetQuery); } return facetParameters; }