Here is an example how to use the grouping feature within SolrNet.
To use it download the current source code of SolrNet from github. (select the master branch)
var url = "someurlwhereyoursolrisrunning";
Startup.Init<Model.doc>(url);
var solr = ServiceLocator.Current.GetInstance<ISolrOperations<Model.doc>>();
var groupingParams = new GroupingParameters();
//Set the output groups, this means the output will have 2 groups
//one group for popularity and one for manu_exact
//these two groups are not nested
groupingParams.Fields = new[] { "popularity", "manu_exact" };
//Set the output format to grouped
groupingParams.Format = GroupingFormat.Grouped;
var queryOptions = new QueryOptions();
//Set count of how many groups you want to return
queryOptions.Rows = 20;
//Add the grouping parameters
queryOptions.Grouping = groupingParams;
//Set sorting of the groups on the field popularity
queryOptions.OrderBy = new[] { new SortOrder("popularity", Order.DESC) };
//Execute the query
var results = solr.Query("ipod", queryOptions);
//Examine the results
if (results.Grouping.Count > 0)
{
foreach (var group in results.Grouping)
{
Console.WriteLine(String.Format("Group {0}, has {1} subgroups",
group.Key,
group.Value.Groups.Count.ToString()));
}
}
1 comment:
Hi,
Can you give an example how can i do a union?
Really appreaciate
Post a Comment