Правильное структурирование использования Lucene.Net на сайте ASP.NET MVC

Я создаю сайт ASP.NET MVC, где я планирую использовать Lucene.Net. Я предполагал способ структурировать использование Lucene, но не уверен, что моя запланированная архитектура в порядке и эффективна.

Мой план:НаApplication_Start событие в Global.asax: я проверяю наличие индекса в файловой системе - если он не существует, я создаю его и заполняю его документами, извлеченными из базы данных.Когда новый контент представлен: я создаюIndexWriterзаполнить документ, написать в указатель и, наконец, избавиться отIndexWriter. IndexWriters не используются повторно, так как я не могу представить себе хороший способ сделать это в приложении ASP.NET MVC.Когда содержимое редактируется: я повторяю тот же процесс, что и при отправке нового содержимого, за исключением того, что сначала я удаляю старый контент, а затем добавляю изменения.Когда пользователь ищет контент: я проверяюHttpRuntime.Cache чтобы увидеть, если пользователь уже искал этот термин за последние 5 минут - если он есть, я возвращаю эти результаты; в противном случае я создаюIndexReader, создайте и выполните запрос, поместите результаты вHttpRuntime.Cacheверните их пользователю и, наконец, избавьтесь отIndexReader, Снова,IndexReaders не используются повторноМои вопросы:Это хорошая структура -как я могу улучшить это?Здесьлюбые проблемы производительности / эффективности Я должен быть в курсе?Также являетсяне использовать IndexReaders и IndexWriters огромный запах кода?

Ответы на вопрос(2)

Ваш ответ на вопрос