我想尝试solr 3.3中包含的新solr折叠/分组,我在solr管理页面上尝试了查询,并且工作正常但当我尝试使用solr net查询我的c#代码时似乎不起作用预期。以下是我如何设置参数值
options.ExtraParams = new List<KeyValuePair<string, string>>
{
new KeyValuePair<string,string>("group","true"),
new KeyValuePair<string,string>("group.field","AuthorID"),
};
答案 0 :(得分:5)
是的,您可以使用SolrNet进行分组(以前称为Field Collapsing),它是在SolrNet 0.4.0 alpha1版本中引入的。以下是作者博客中关于添加此支持的release notes。因此,您需要从Google Code(二进制文件)或GitHub(来源)获取该版本(或更高版本)。此处还有一个使用源代码中单元测试分组的示例 - Grouping Tests
public void FieldGrouping()
{
var solr = ServiceLocator.Current.GetInstance<ISolrBasicOperations<Product>>();
var results = solr.Query(SolrQuery.All, new QueryOptions
{
Grouping = new GroupingParameters()
{
Fields = new [] { "manu_exact" },
Format = GroupingFormat.Grouped,
Limit = 1,
}
});
Console.WriteLine("Group.Count {0}", results.Grouping.Count);
Assert.AreEqual(1, results.Grouping.Count);
Assert.AreEqual(true, results.Grouping.ContainsKey("manu_exact"));
Assert.GreaterThanOrEqualTo(results.Grouping["manu_exact"].Groups.Count,1);
}