Файл сегмента индекса Lucene не найден

У меня есть приложение, использующее Lucene examsearcher на сайте Umbraco, когда приложение пытается выполнить поиск, я получаю сообщение об ошибке «Файл сегмента не найден».

Не удалось найти файл '\n5200-2\iis7_www\a\r\mysite\www\App_Data\TEMP\ExamineIndexes\nForumEntryIndexSet\Index\segments_a'.

После поиска в Google я обнаружил, что это может быть связано с тем, что несколько процессов пытаются получить доступ к индексу или записать его в одно и то же время.

Я попытался перестроить индекс, и ошибка все еще возникает.

Как я могу узнать, что пытается получить доступ к индексу? Сайт находится на виртуальном хостинге.

ОБНОВЛЕНИЕ: Является ли хостинг на среднем доверии проблемой?


person PeteTheGreek    schedule 27.08.2013    source источник
comment
Нет, Umbraco должен нормально работать при среднем доверии.   -  person Digbyswift    schedule 28.08.2013


Ответы (1)


Возможно, у вас нет прав на запись в папку app_data.

Из вашего вопроса не совсем ясно, но если вы используете Examine, не должно быть необходимости «сворачивать свой собственный» процесс индексации, поскольку Umbraco сделает это за вас. Если у вас есть, то это, безусловно, тоже вызовет проблему.

person Digbyswift    schedule 27.08.2013
comment
Папка app_data имеет права на запись, похоже, она записывает и обновляет файлы сегментов, глядя на измененные даты. Да, он использует Examine для поиска. У меня есть точная копия сайта на моем компьютере разработчика, и я не могу воссоздать проблему, есть ли какие-то настройки сервера, вызывающие проблему? - person PeteTheGreek; 28.08.2013
comment
Я знаю, что это звучит грубо, но попробуйте удалить внешний индекс (не медиа-индекс), а затем перезапустите приложение, коснувшись файла web.config. Это должно воссоздать индекс с нуля. Может быть, он просто упал сам на себя. - person Digbyswift; 28.08.2013