C# Solrnet索引数据发布对象列表
我使用solrnet索引数据,如下所示:C# Solrnet索引数据发布对象列表,c#,solr,solrnet,C#,Solr,Solrnet,我使用solrnet索引数据,如下所示: var solrFacility = new SolrNetFacility("http://mysolr:8983/solr/testcollection"); var container = new WindsorContainer(); container.AddFacility("solr", solrFacility); var solr = container.Resolve&l
var solrFacility = new SolrNetFacility("http://mysolr:8983/solr/testcollection");
var container = new WindsorContainer();
container.AddFacility("solr", solrFacility);
var solr = container.Resolve<ISolrOperations<Dictionary<string, object>>>();
solr.Add(new Dictionary<string, object> {
{"id", "http://google.com/link1"},
{"title", "test.pdf"},
{"content", "abcdefghijk"},
{"author", "Ziv Hsu"},
{"editor", "Ziv Hsu"},
});
solr.Commit();
var solrFacility=新的SolrNetFacility(“http://mysolr:8983/solr/testcollection");
var container=新的WindsorContainer();
容器。添加设施(“solr”,solrFacility);
var solr=container.Resolve();
添加(新字典){
{“id”http://google.com/link1"},
{“title”,“test.pdf”},
{“内容”,“abcdefghijk”},
{“作者”,“徐子薇”},
{“编辑”,“子午”},
});
solr.Commit();
这是工作
但是如果我有一个对象列表需要索引
不起作用,它将得到400个代码,如下所示:
public class LSchemaField
{
public List<SchemaField> SchemaFieldList = new List<SchemaField>();
}
public class SchemaField
{
public virtual string id { get; set; }
.....
}
LSchemaField SchemaFieldList = new LSchemaField();
SchemaField SchemaFields = new SchemaField();
SchemaFields.id = ....;
SchemaFieldList.SchemaFieldList.Add(SchemaFields);
SchemaField SchemaFields2 = new SchemaField();
SchemaFields2.id =....;
SchemaFieldList.SchemaFieldList.Add(SchemaFields2);
var solrFacility = new SolrNetFacility("http://mysolr:8983/solr/testcollection");
var container = new WindsorContainer();
container.AddFacility("solr", solrFacility);
var solr = ObjectFactory.GetInstance<ISolrOperations<LSchemaField>>();enter code here
solr.Add(SchemaFieldList );
solr.Commit();
公共类LSchemaField
{
public List SchemaFieldList=new List();
}
公共类SchemaField
{
公共虚拟字符串id{get;set;}
.....
}
LSchemaField SchemaFieldList=新LSchemaField();
SchemaField SchemaFields=新SchemaField();
SchemaFields.id=。。。。;
SchemaFieldList.SchemaFieldList.Add(SchemaFields);
SchemaField SchemaFields2=新SchemaField();
SchemaFields2.id=。。。。;
SchemaFieldList.SchemaFieldList.Add(SchemaFields2);
var solrFacility=新SolrNetFacility(“http://mysolr:8983/solr/testcollection");
var container=新的WindsorContainer();
容器。添加设施(“solr”,solrFacility);
var solr=ObjectFactory.GetInstance();在这里输入代码
solr.Add(SchemaFieldList);
solr.Commit();
它可以添加对象列表吗?在SchemaField类中,您需要为要添加到solr中的每个属性设置SchemaField属性。这将属性映射到solr文件。
在SchemaField类中,您需要为要添加到solr中的每个属性设置SchemaField属性。这将属性映射到solr文件。
Hi-Prakash Bhatt但我的solr使用schema.xml是否需要映射Schemafield?Hi-Prakash Bhatt但我的solr使用schema.xml是否需要映射Schemafield?