【问题标题】:Solrnet can't get mapping to workSolrnet 无法使映射工作
【发布时间】:2013-10-04 14:52:31
【问题描述】:

我正在使用 VS2012、.NET 4.5 和 SolrNet。我正在为 solrnet 映射而苦苦挣扎。我已经成功地在http://localhost:8983/solr 上使用码头启动了 Apache 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 文件吗?

【问题讨论】:

    标签: solr solrnet


    【解决方案1】:

    您需要确认您的架构中定义了body 字段。如果您只是使用 Solr 附带的默认模式,则它不包含 body 字段。您可以复制 schema.xml 文件中现有的类似条目,例如 description 以帮助您继续。

    有关配置 Solr 架构的更多参考,请参阅以下内容:

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-21
    • 1970-01-01
    相关资源
    最近更新 更多