简单的sitecore包含文件出错(ComputedIndexFields.config)

时间:2015-04-16 13:53:21

标签: .net sitecore extend computed-field

我使用以下代码添加ComputedIndexFields.config文件:

<?xml version="1.0" encoding="utf-8" ?>
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
  <sitecore>
    <contentSearch>
      <configuration>
         <defaultIndexConfiguration>
          <fields hint="raw:AddComputedIndexField">
            <field fieldName="AppliedThemes" storageType="yes" indexType="TOKENIZED">be.extensions.AppliedThemes, be.extensions</field>
          </fields>
        </defaultIndexConfiguration>
      </configuration>
    </contentSearch>
  </sitecore>
</configuration>

我还在所说的assemlby中添加了一个类:

namespace be.extensions
{
    class AppliedThemes : IComputedIndexField
    {

        public string FieldName { get; set; }
        public string ReturnType { get; set; }

        public object ComputeFieldValue(IIndexable indexable)
        {
        Item item = indexable as SitecoreIndexableItem;
        if (item == null)
            return null;

        var themes = item["Themes"];
        if (themes == null)
            return null;

        // TODO
        }
    }
}

这是添加计算索引字段的基础。然而,当我添加这两个文件(从未到达类文件中的代码)时,我打开内容编辑器时出现以下错误:

未正确配置SearchConfiguration。预期ContentSearchConfiguration但返回了System.String。

如果没有这个简单的配置文件,一切正常。

有谁看到我在这里做错了或知道我可以尝试解决这个问题?

编辑:我正在使用Sitecore 8 Update 2

1 个答案:

答案 0 :(得分:4)

我认为您的补丁文件需要导致以下XPath

/sitecore/contentSearch/indexConfigurations/defaultLuceneIndexConfiguration/fields

这样的事情:

<?xml version="1.0" encoding="utf-8" ?>
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
  <sitecore>
    <contentSearch>
      <indexConfigurations>
         <defaultLuceneIndexConfiguration>
          <fields hint="raw:AddComputedIndexField">
            <field fieldName="AppliedThemes">be.extensions.AppliedThemes, be.extensions</field>
          </fields>
        </defaultLuceneIndexConfiguration>
      </indexConfigurations>
    </contentSearch>
  </sitecore>
</configuration>