Класс sitecore IComputedIndexField не найден / не запускается

Я добавил файлы 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>

Я также добавил класс в указанной ассембле:

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)" и запустил сайт (во время отладки).

Я изменил несколько элементов, сохранил их, затем перестроил дерево индексов, но моя точка останова никогда не была достигнута.

Класс находится в другом проекте и встроен в.dll с именем сборки "be.extensions"

Я использую sitecore 8 обновление 2.

Кто-нибудь знает, что я сделал не так или почему этот код не будет достигнут? (Как этот код отправить в некоторый рабочий процесс Lucene, который я просто не могу отладить)

1 ответ

Решение

Вероятно, ваша конфигурация не исправлена ​​из-за изменений, внесенных Sitecore в структуру включаемого файла. А именно, defaultIndexConfiguration узел был изменен на defaultLuceneIndexConfiguration вместе с новым атрибутом типа. Вы можете проверить, что ваше вычисленное поле исправлено, используя /sitecore/admin/showconfig.aspx служебная страница. Также обратите внимание, что storageType а также indextype для каждого вычисляемого поля индекса теперь определяется в <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>
Другие вопросы по тегам