刚刚完成转换Sitecore 8.2(w / CommerceServer)实例以使用Solr而不是Lucene。我一直关注这篇文章:
http://blog.alpha-solutions.us/2016/10/how-to-use-solr-with-sitecore-8-2-with-solr-6-the-easy-way/
在设置结束时,我的网站/ CMS给了我这个错误:
' /'中的服务器错误应用
字典中没有给定的密钥。
描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.Collections.Generic.KeyNotFoundException:字典中没有给定的键。
来源错误:
在执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息。
堆栈追踪:
[KeyNotFoundException:字典中没有给定的键。] System.Collections.Generic.Dictionary`2.get_Item(TKey key)+14331515 Sitecore.ContentSearch.SolrProvider.SolrFieldMap.AddFieldByFieldName(XmlNode configNode)+647
知道这可能是什么?我想也许我错过了某处的配置。
提前谢谢。
答案 0 :(得分:0)
签入Sitecore.ContentSearch.Solr.DefaultIndexConfiguration.config文件或自定义索引配置(如果有)。将会有一个像这样的字段映射部分:
AbstractHealthIndicator
字段的配置在某处会出错。
如果您有自定义索引配置,请务必确保使用ref而不是类型设置fieldMap元素:
<fieldMap type="Sitecore.ContentSearch.SolrProvider.SolrFieldMap, Sitecore.ContentSearch.SolrProvider">
<fieldNames hint="raw:AddFieldByFieldName">
<field fieldName="Yourfield" returnType="string" />
</fieldNames/>
</fieldMap>
答案 1 :(得分:0)
确保包含&lt; typeMatches&gt;之前&lt; fieldNames&gt;。
<fieldMap ref="contentSearch/indexConfigurations/defaultSolrIndexConfiguration/fieldMap">
<typeMatches hint="raw:AddTypeMatch"></typeMatches>
<fieldNames hint="raw:AddFieldByFieldName">
....
</fieldNames>
</fieldMap>