Sitecore,Solr,CommerceServer配置问题

时间:2017-07-24 04:19:47

标签: solr sitecore sitecore-commerce-server

刚刚完成转换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

知道这可能是什么?我想也许我错过了某处的配置。

提前谢谢。

2 个答案:

答案 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>