2012-05-04 2 views
0

Я пытаюсь запросить Solr с помощью клиента SolrNet. Я могу индексировать документы и искать их с помощью веб-администратора Solr с ошибкой. Когда я пытаюсь выполнить запрос с использованием одного и того же класса, я проиндексировал документы с получением в каждом поле ошибки, как указано ниже.Как сопоставить результат запроса SolrNet к классу?

Ошибка:

Не удалось преобразовать значение «System.Collections.ArrayList» в собственность «Название» типа документа Search.WebService.Handler.Document

Почему Solr пытается сопоставить ArrayList каждому поле? Вот подробности моей установки, схема основана на схеме примера.

Моя схема:

<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); 
+0

Вместо этого отправьте сообщение в список рассылки SolrNet: https://groups.google.com/forum/?fromgroups#!forum/solrnet. Из-за неоднократной цензуры модераторов Stackoverflow я больше не буду отвечать на этот вопрос. –

ответ

0

Добавлен атрибут многозначных = "ложь" в каждой из областей.

Подробнее о multiValued fields содержится в документации.