Sitecore 8.1: не удалось вычислить значение для ComputedIndexField

Мы только что обновились до Sitecore 8.1 с 7.2. Поисковая система Lucene и xDB отключена. Решение размещено в облачных сервисах MS Azure Web Apps.

Мы заметили, что CMS CA работает медленно. При просмотре логов заметил ряд ошибок, записанных ниже:

13876 2015:12:18 05:21:44 ERROR Could not compute value for ComputedIndexField: _content for indexable: sitecore://web/{2E25F9D3-BBBF-4160-BAE1-1EE4E701BD9B}?lang=en&ver=1
Exception: System.UnauthorizedAccessException
Message: Access to the path 'D:\App_Data\data\mediaIndexing\b3cd2fa1-9671-498f-9534-a94ad5a21923-Mypolicy.pdf' is denied.
Source: mscorlib
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.File.InternalDelete(String path, Boolean checkHost)
   at System.IO.File.Delete(String path)
   at Sitecore.ContentSearch.ComputedFields.MediaItemIFilterTextExtractor.ComputeFieldValue(IIndexable indexable)
   at Sitecore.ContentSearch.ComputedFields.MediaItemContentExtractor.ComputeFieldValue(IIndexable indexable)
   at Sitecore.ContentSearch.LuceneProvider.LuceneDocumentBuilder.AddComputedIndexFields()

Может кто-нибудь подсказать, почему sitecore ищет веб-формы для индекса маркетинга, которые нам не нужны?

Спасибо

3 ответа

В вашей ошибке нет ничего об индексе WFFM - он только говорит, что не может вычислить значение _content поле для {2E25F9D3-BBBF-4160-BAE1-1EE4E701BD9B} вещь.

Это даже говорит вам причину - не может получить доступ к пути на диске. Вы должны проверить права доступа для D:\App_Data\data\mediaIndexing каталог и убедитесь, что доступ к нему может получить пользователь приложения.

В Azure Web Apps у вас должен быть полный доступ в файловой системе к webroot и его потомки. Убедитесь, что MediaIndexingFolder настройка не установлена ​​на абсолютный путь и не указывает на внешнюю сторону webroot где приложение живет.

По умолчанию, если MediaIndexingFolder настройка не указана, она указывает на $(dataFolder)/mediaIndexing путь, где $(dataFolder) должен указывать на \App_Data под webroot,

У нас недавно была такая же проблема. По сути, убедитесь, что в веб-приложении Azure используется стандартный файл zzDataFolder.config, который содержит:

<sc.variable name="dataFolder">
  <patch:attribute name="value">D:\home\site\wwwroot\App_Data</patch:attribute>
</sc.variable>

Использование другого включенного конфига (DataFolder.config, который устанавливает его в "/data") или ваш собственный файл конфигурации (указывающий на что-либо, кроме полного пути к диску) нарушит путь к папке mediaIndexing (даже если все остальные части Sitecore, которые используют App_Data, такие как "диагностика" или "MediaCache", прекрасно работают с параметром "/data").

Другие вопросы по тегам