throw new ZoieException("Internal IndexWriter null, perhaps not started?");
}
if (events.size() > 0){
for (DataEvent<D,V> event : events){
ZoieIndexable indexable = _interpreter.convertAndInterpret(event.getData());
if (indexable.isSkip()) continue;
try {
_writer.deleteDocuments(new Term(DOCUMENT_ID_FIELD,String.valueOf(indexable.getUID())));
} catch(IOException e) {
throw new ZoieException(e.getMessage(),e);
}
IndexingReq[] reqs = indexable.buildIndexingReqs();
for (IndexingReq req : reqs){
Analyzer localAnalyzer = req.getAnalyzer();
Document doc = req.getDocument();
Field uidField = new Field(DOCUMENT_ID_FIELD,String.valueOf(indexable.getUID()),Store.NO,Index.NOT_ANALYZED_NO_NORMS);
uidField.setOmitTermFreqAndPositions(true);
doc.add(uidField);
if (localAnalyzer == null) localAnalyzer = _analyzer;
try {
_writer.addDocument(doc, localAnalyzer);