Избегайте удаления текущего индекса Lucene.NET во время rebuild

Я новичок в Lucene.NET, но использую инструмент с открытым исходным кодом , созданный для Sitecore CMS который использует Lucene.NET для индексации большого количества контента из CMS. Вчера я подтвердил, что когда я перестраиваю свои индексы, текущие файлы индекса очищаются, поэтому все, что полагается на индекс, не получает данных в течение примерно 30-60 секунд (количество времени для полного перестроения индекса). Есть ли лучший способ или способ заставить Lucene.NET не перезаписывать текущие индексные файлы до тех пор, пока новый индекс не будет полностью перестроен? Я в основном думаю, что хотел бы, чтобы он записал в новые файлы временного индекса, и когда перестройка будет завершена, эти файлы перезапишут текущий индекс.

Пример того, о чем я говорю:

  • Создать новый индекс ( ~ 30 секунд)
  • Индекс содержит около 500 документов
  • Используйте код для доступа к данным в индексе и отображения на веб-сайте
  • Перестроить индекс (~ 30 секунд) NET не перезаписывает текущие файлы индекса, пока новый индекс не будет полностью перестроен? Я в основном думаю, что хотел бы, чтобы он записал в новые файлы временного индекса, и когда перестройка будет завершена, эти файлы перезапишут текущий индекс.

    Пример того, о чем я говорю:

    • Создать новый индекс ( ~ 30 секунд)
    • Индекс содержит около 500 документов
    • Используйте код для доступа к данным в индексе и отображения на веб-сайте
    • Перестроить индекс (~ 30 секунд) NET не перезаписывает текущие файлы индекса, пока новый индекс не будет полностью перестроен? Я в основном думаю, что хотел бы, чтобы он записал в новые файлы временного индекса, и когда перестройка будет завершена, эти файлы перезапишут текущий индекс.

      Пример того, о чем я говорю:

      • Создать новый индекс ( ~ 30 секунд)
      • Индекс содержит около 500 документов
      • Используйте код для доступа к данным в индексе и отображения на веб-сайте
      • Перестроить индекс (~ 30 секунд)
        • Любой код, который теперь читает индекс для данных, ничего не возвращает, потому что индексные файлы перезаписываются; приводит к тому, что на веб-сайте не отображаются данные
      • Перестройка завершена: данные снова доступны, данные снова на веб-сайте

      Заранее спасибо

12
задан Mark Ursino 7 January 2011 в 14:44
поделиться