【发布时间】:2012-05-04 13:44:00
【问题描述】:
我正在尝试使用 SolrNet 客户端查询 Solr。 我可以索引文档并使用 Solr 网络管理员搜索它们而不会出错。 当我尝试使用同一个类进行查询时,我用我索引的文档在每个字段上都收到如下错误。
错误:
无法将值“System.Collections.ArrayList”转换为文档类型 Search.WebService.Handler.Document 的属性“Title”
为什么 Solr 试图将一个数组列表映射到每个字段? 这是我的设置的详细信息,架构基于示例架构。
我的架构:
<field name="ReferenceId" type="identifier" indexed="true" stored="true" required="true"/>
<field name="Title" type="text_general" indexed="true" stored="true"/>
<field name="Revision" type="identifier" indexed="true" stored="true"/>
<field name="Author" type="text_general" indexed="true" stored="true"/>
<field name="Filename" type="text_general" indexed="true" stored="true"/>
我的文档类:
class Document
{
[SolrField("ReferenceId")]
public string ReferenceId { get; set; }
[SolrField("Title")]
public string Title { get; set; }
[SolrField("Revision")]
public string Revision { get; set; }
[SolrField("Author")]
public string Author { get; set; }
[SolrField("Filename")]
public string Filename { get; set; }
}
一个示例查询:
string queryString = String.Format("Title :\"{0}\"", titleSearchTerm);
SolrQuery query = new SolrQuery(queryString);
SolrQueryResults<Document> results = index.Query(query);
【问题讨论】:
-
考虑发到 SolrNet 邮件列表:groups.google.com/forum/?fromgroups#!forum/solrnet。由于 Stackoverflow 版主的反复审查,我将不再在这里回答问题。