0

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

1 回答 1

0

为每个字段添加了属性 multiValued="false"。

有关多值字段的更多详细信息,请参阅文档。

于 2012-05-09T09:53:46.583 回答