我正在尝试使用 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);