【发布时间】:2012-05-08 14:05:14
【问题描述】:
我正在使用 SolrNet,但遇到一个问题,即 score 字段与在索引中添加或更新的文档发生冲突。
代表我的文档的类看起来像这样
class MyDoc
{
[SolrUniqueKey("doc_id")]
public string DocId { get; set; }
[SolrField("foo")]
public string Foo { get; set; }
[SolrField("bar")]
public string Bar { get; set; }
[SolrField("score")]
public double Score { get; set; }
}
在向 Solr 发出的查询中,我在 fl 参数中添加了“分数”字段,并在此类上返回并正确设置了分数值。但是,在添加或更新文档时,我收到关于我的索引中不存在的分数字段的错误,它不存在,也不应该因为这是一个动态字段。
添加/更新的代码相当简单:
Startup.Container.GetInstance<ISolrOperations<MyDoc>>().Add(doc);
看起来我需要在添加或更新文档时让 SolrNet(或 Solr)忽略 score 属性,并且仅在检索文档时使用它。
有什么办法可以做到吗?
【问题讨论】: