public void updateDocument(Term identifierTerm, DocumentModifier documentModifier) {
updateDocument(identifierTerm, documentModifier, null);
}
public void updateDocument(Term identifierTerm, DocumentModifier documentModifier, Analyzer analyzer) {
LuceneIndexReader reader = IndexReaderFactoryUtils.getIndexReader(indexFactory);
LuceneSearcher searcher = null;
Document updatedDocument = null;
try {
searcher = reader.createSearcher();
LuceneHits hits = searcher.search(new TermQuery(identifierTerm));
checkHitsForUpdate(hits);
updatedDocument = documentModifier.updateDocument(hits.doc(0));
} catch(Exception ex) {
throw new LuceneIndexAccessException("Error during updating a document.", ex);