如何使用Solrnet搜索多个集合? C#

时间:2017-01-12 02:43:17

标签: c# solr solrnet

Q1。如何使用Solrnet搜索多个集合?

Q2。我创建了一个向Solr添加数据的方法, 如果我想动态分配sechma添加数据到Solr, 如何修改它?

     public void SolrFeeder(SchemaFieldList DataList)
    {
        var solrFacility = new SolrNetFacility(SolrServer);
        var container = new WindsorContainer();
        container.AddFacility("solr", solrFacility);
        var solr = container.Resolve<ISolrOperations<SchemaField>>();
        foreach (var item in DataList.SchemaFieldList)
        {
            solr.Add(item);
        }
        solr.Commit();
    }

1 个答案:

答案 0 :(得分:3)

跨集合搜索的标准语法是在查询中提供集合的名称 - 即,如果您要查询collection1,您仍然可以附加名为collection的参数,其中包含一个列表您要搜索的馆藏collection=collection1,collection2,collection3

您可以在SolrNet中use the syntax for "Additional Parameters"向查询添加自定义参数:

ISolrOperations<Product> solr = ...
var products = solr.Query(SolrQuery.All, new QueryOptions {
    ExtraParams = new Dictionary<string, string> {
        {"collection", "collection1,collection2,collection3"}
    }
});