Я новичок в Lucene.NET, но я использую инструмент с открытым исходным кодом, построенный для Sitecore CMS, который использует Lucene.NET для индексации большого количества контента из CMS. Вчера я подтвердил, что когда я перестраиваю свои индексы, текущие файлы индекса стираются, поэтому все, что опирается на индекс, не получает данных в течение примерно 30-60 секунд (количество времени для полного восстановления индекса). Есть ли лучшая практика или способ заставить Lucene.NET не перезаписывать текущие файлы индекса до тех пор, пока новый индекс не будет полностью перестроен? Я в основном думаю, что мне бы хотелось, чтобы он писал в новые файлы индекса temp, и когда перестроение завершено, эти файлы перезаписывают текущий индекс.
Пример того, что я говорю:
- Создать свежий индекс (~ 30 секунд)
- Индекс содержит около 500 документов.
- Используйте код для доступа к данным в индексе и на веб-сайте
- Восстановить индекс (~ 30 секунд)
- Любой код, который теперь считывает индекс для данных, ничего не возвращает, поскольку файлы индекса перезаписываются; приводит к тому, что веб-сайт не показывает никаких данных.
- Реконструкция завершена: данные теперь снова доступны, данные на веб-сайте
Заранее спасибо