2011-08-25 81 views
3

我想嘗試solr 3.3中包含的新solr collapsing/grouping,我已經嘗試了solr Admin頁面上的查詢並且工作原理絕對正確,但是當我嘗試查詢我的C#代碼使用solr網絡,似乎沒有按預期工作。這裏是我如何設置帕拉姆值有沒有辦法使用Solr Net獲得Solr分組的結果

options.ExtraParams = new List<KeyValuePair<string, string>> 
    { 
     new KeyValuePair<string,string>("group","true"), 
     new KeyValuePair<string,string>("group.field","AuthorID"), 
    }; 

回答

5

是的,你可以用分組(原名場崩)與SolrNet,它在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); 
}