Hi all,
I have a very simple method to delete a document that is indexed before
/**
* @param id
*/
public void deleteById(String id) throws IOException {
IndexWriter writer = IndexWriterFactory.factory();
try {
writer.deleteDocuments(new Term(Configuration.Field.ID,
String.valueOf(id)));
writer.commit();
} catch (ArrayIndexOutOfBoundsException e) {
// CHECK ignore this. Can happen if index has not been built yet
} catch (IOException e) {
System.out.println(e);
}
}
The problem is after executing this method without any exception, I come
back and try to do a search the supposed-to-be-deleted record is still
there. I need to restart my servlet engine to have that record been really
deleted. How can it happen?
Thanks
Dinh