Библиотека Azure для Lucene.Net - исключение FileNotFound - PullRequest
3 голосов
/ 01 августа 2011

Я работаю с библиотекой Azure для Lucene.Net, но сталкиваюсь с исключениями FileNotFound при попытке добавить к индексу.

Все отлично работает с FSDirectory.У меня есть тонна модульных тестов, отлично работающих с RAMDirectory.

Вот инфраструктура:

  1. Единая роль поддерживает Index Writer Singleton.
  2. Отдельная веб-служба поддерживает один экземпляр Searcher, который указывает на тот же индекс в режиме только для чтения.
  3. Когда происходит событие изменения, функция записи индекса захватывает изменение, изменяет индекс и фиксирует.
  4. Через определенный промежуток времени поисковик перезагружается для получения последних изменений индекса.

Исключения: После изменения и с этого моментаЯ получаю исключение FileNotFound из AzureDirectory.Файл сообщил как не найденные изменения, но одним примером является _h.cfs.Когда поисковик перезагружается и пытается перезагрузить индекс, я также получаю исключения FileNotFound для поисковика ...

Пара других важных моментов: 1. Первоначальное создание полного индекса работает нормально.2. Поиск по первоначально созданному индексу работает нормально.3. Я использую Lucene .Net V. 2.9.2

Есть мысли или предложения?К сожалению, это последняя проблема, которую мне нужно решить перед выпуском проекта ...

Спасибо, Тим

1 Ответ

1 голос
/ 11 октября 2012

Я столкнулся с той же проблемой, используя https://azuredirectory.codeplex.com/

Я закончил тем, что использовал localresource (папку в вашей веб / рабочей роли) для загрузки всего индекса в и из хранилища больших двоичных объектов, затем использовал встроенный indexwriter в lucene.net и каждые несколько минут возвращал файлы обратно в хранилище больших двоичных объектов. чтобы другие читатели могли загрузить и выполнить поиск по индексу.

В целом реализация AzureDirectory была в основном просто игрушечным примером, который требовал дополнительной работы, чтобы быть полезным в производственных условиях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...