Solr、SolrNet、およびasp.net MCV 3で構築された製品カテゴリアプリにファセットを実装しようとしています。これまでのところ、すべての製品結果を一覧表示できましたが、ファセットは一覧表示できませんでした。以下に示すようにファセットを印刷できました。
<ul>
@foreach (var facet in Model.Products.FacetFields["brand"])
{
<li>@facet.Key (@facet.Value)</li>
}
</ul>
上記のコードには2つの問題があります。
1)検索結果にブランドのファセットが含まれていない場合、このエラーがスローされます。指定されたキーが辞書に存在しませんでした。
System.Collections.Generic.KeyNotFoundException:指定されたキーがディクショナリに存在しませんでした。System.Collections.Generic.Dictionaryで
2)ファセットキーと値をリンクとして表示する必要があります。したがって、そのファセットをクリックすると、ファセットの製品を一覧表示できるはずです。
これがschema.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"/>