我正在使用 VS2012、.NET 4.5 和 SolrNet。我正在为 solrnet 映射而苦苦挣扎。我已经成功地使用 jetty on 启动了 Apache Solr http://localhost:8983/solr
。我想添加到 solr 的课程是:
public class Register
{
[SolrUniqueKey("id")]
public string Id { get; set; }
[SolrField("body")]
public string Body { get; set; }
}
我成功连接到 solr,但我无法将文档放入其中:
Startup.Init<Register>(solrAddress);
Solr = ServiceLocator.Current.GetInstance<ISolrOperations<Register>>();
var reg = new Register
{
Id = "SP2514N",
Body = @"Dosel je prosel"
};
Solr.Add(reg);
Solr.Commit();
在这里我收到错误,'body' 是未知字段。我也使用过 MappingManager,如下所示:
var mgr = new MappingManager();
var property = typeof(Register).GetProperty("Id");
mgr.Add(property, "id");
mgr.SetUniqueKey(property);
mgr.Add(typeof(Register).GetProperty("Body"), "body");
但是,再一次,我的领域没有被映射。我究竟做错了什么?到 solr 的映射不应该通过代码来完成吗?我需要一个特殊的 xml 文件吗?