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").