Я пытаюсь внедрить фасетирование в приложение для каталогов продуктов с помощью Solr, SolrNet и его сборки с asp.net MCV 3. До сих пор мне удавалось перечислить все результаты продукта, но не фасетирование. Я мог бы распечатать грани, как показано ниже.
<ul>
@foreach (var facet in Model.Products.FacetFields["brand"])
{
<li>@facet.Key (@facet.Value)</li>
}
</ul>
У меня две проблемы с кодом выше,
1) Если результаты поиска не содержат фасетов для бренда, выдается эта ошибка
Указанный ключ отсутствует в словаре.
System.Collections.Generic.KeyNotFoundException:
Данный ключ отсутствовал в
толковый словарь. в
System.Collections.Generic.Dictionary
2) Мне нужно показать фасетные ключи и значения в виде ссылок. Итак, по щелчку этого фасета я смогу перечислить продукты фасета.
Вот схема.xml, пожалуйста, помогите мне, если вы знаете ответы на поставленные выше вопросы.
<field name="product_id" type="string" indexed="true" stored="true" required="true" />
<field name="name" type="string" indexed="true" stored="true"/>
<field name="merchant" type="string" indexed="true" stored="true"/>
<field name="merchant_id" type="string" indexed="true" stored="true"/>
<field name="brand" type="string" indexed="true" stored="true"/>
<field name="brand_id" type="string" indexed="true" stored="true"/>
<field name="categories" type="string" multiValued="true" indexed="true" stored="true"/>