Добавление документов в Lucene Index Writer после вызова commit
Я использую Lucene 4.6. Я создал Lucene IndexWriter(в режиме CREATE MODE), добавил документы и зафиксировал его (не закрыл). Затем запустил поисковый запрос и сохранил результаты. Я снова добавил документы в индексатор, зафиксировал их и закрыл. И запустил поисковый запрос по нему. Это дало результаты с новыми данными и старыми данными также. Старые данные также присутствовали в индексе. Могу ли я узнать, как удалить все данные из индекса. Есть ли способ удалить все документы подряд?
2 ответа
Метод indexwriter.deleteall удалит все документы в индексе, и вы сможете повторно использовать тот же индексатор для построения INDEX для новых документов, а также для запуска поискового запроса и закрытия его позже, когда вам нужно
Было бы лучше, если бы вы могли предоставить нам фрагмент кода, но, похоже, проблема в том, что вы используете OpenMode.CREATE
вместо OpenMode.CREATE_OR_APPEND
, В этом случае каждый раз, когда вы создаете IndexWriter
объект, старые данные перезаписаны, а не добавлены.
Также убедитесь, что вы используете последнюю версию. Ток v4.9.0