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