Чтобы обновить мой индекс, мне нужно добавить/изменить индекс поиска каждые 5 минут. Способ, которым я настроен, - это два индекса: один в полноэкранном каталоге и один в каталоге Incremental, и для их поиска я использую MultiSearcher.Lucene.Net поддерживает индексы при использовании MultiSearcher
Теперь я пишу процесс для поддержания индекса. То, что я делаю, - передать последнюю дату индекса хранимой процедуре, и БД возвращает все новые/измененные записи на основе поля «Обновлено» в БД. Затем я просматриваю 2 каталога, открывая IndexReader для каждого каталога и удаляя документ на основе TermQuery для первичного ключа. Затем я добавляю записи к инкрементному индексу с помощью IndexWriter и оптимизирую его.
Что происходит, когда я выполняю последующий поиск, но это то, что записи, которые, как я знаю, находятся в индексе, не возвращаются.
Я делаю неправильное обслуживание индекса?
Да, я закрываю IndexSearcher после каждого поиска. – druta