Добавление документов в Lucene Index Writer после вызова commit

1

Я использую Lucene 4.6. Я создал Lucene IndexWriter (в CREATE MODE) и добавил документы и зафиксировал его (не закрыл его). Затем выполнил поисковый запрос и сохранил результаты. Снова я добавил документы в индексный писатель и совершил его и закрыл. И запустил на нем поисковый запрос. Он также дал результаты с новыми данными и старыми данными. Старые данные также присутствовали в индексе. Могу ли я узнать, как удалить все данные из индекса. Есть ли способ удалить все документы на растяжку?

Теги:
lucene
commit

2 ответа

0
Лучший ответ

Метод indexwriter.deleteall удалит все документы в индексе, и вы можете повторно использовать один и тот же индексный индекс для создания индекса на новых документах и запуска поискового запроса и позднее закрыть его, когда вам понадобится

1

Было бы лучше, если бы вы могли предоставить нам фрагмент кода, но, похоже, проблема в том, что вы используете OpenMode.CREATE вместо OpenMode.CREATE_OR_APPEND. В этом случае каждый раз, когда вы создаете объект IndexWriter, старые данные затягиваются, а не добавляются.

Кроме того, убедитесь, что вы используете последнюю версию. Ток v4.9.0

  • 0
    Спасибо @serem. На самом деле я новичок в Lucene, и поэтому я не понимал основную функциональность. Я обнаружил, что есть функция deleteall, которую можно использовать для удаления всех ранее проиндексированных документов.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню