sitecore IComputedIndexField类没有找到/ doens运行

时间:2015-04-16 16:00:21

标签: c# indexing lucene sitecore computed-field

我添加了一个ComputedIndexFields.config文件,其中包含以下代码:

<?xml version="1.0" encoding="utf-8" ?>
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
  <sitecore>
    <contentSearch>
      <indexConfigurations>
         <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
        }
    }
}

我想测试我已编写的一小段代码。所以我在“ComputeFieldValue(IIndexable indexable)”方法的第一行添加了断点并启动了网站(在调试时)。

我更改了几个项目,保存它们然后重建索引树,但我的断点永远不会被击中。

该类位于不同的项目中,并使用程序集名称“be.extensions”构建为.dll

我正在使用sitecore 8 update 2.。

有谁知道我做错了什么或为什么不能达到此代码? (就像这段代码发送到一些我根本无法调试的Lucene工作流程)

1 个答案:

答案 0 :(得分:3)

由于Sitecore对Include文件的结构进行了更改,您的配置可能无法修补。即,defaultIndexConfiguration节点已更改为defaultLuceneIndexConfiguration以及新的类型属性。您可以使用/sitecore/admin/showconfig.aspx实用程序页面验证是否正确修补了计算字段。此外,请注意,每个计算索引字段的storageTypeindextype现在已在<fieldMap><fieldNames>部分中定义,而不是现在的位置。

<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
  <sitecore>
    <contentSearch>
      <indexConfigurations>
        <defaultLuceneIndexConfiguration type="Sitecore.ContentSearch.LuceneProvider.LuceneIndexConfiguration, Sitecore.ContentSearch.LuceneProvider">
          <fields hint="raw:AddComputedIndexField">
            <field fieldName="yourname">be.extensions.AppliedThemes, be.extensions</field>
          </fields>
        </defaultLuceneIndexConfiguration>
      </indexConfigurations>
    </contentSearch>
  </sitecore>
</configuration>