Класс 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>