@Override public void delete(Object key) throws IOException { long start = stats.startUpdate(); try { Term keyTerm = SerializerUtil.toKeyTerm(key); writer.deleteDocuments(keyTerm); } finally { stats.endUpdate(start); } }
@Override public void update(Object key, Object value) throws IOException { long start = stats.startUpdate(); Collection<Document> docs = Collections.emptyList(); boolean exceptionHappened = false; try { try { docs = serializer.toDocuments(index, value); } catch (Exception e) { exceptionHappened = true; stats.incFailedEntries(); logger.info("Failed to update index for " + value + " due to " + e.getMessage()); } if (!exceptionHappened) { docs.forEach(doc -> SerializerUtil.addKey(key, doc)); Term keyTerm = SerializerUtil.toKeyTerm(key); writer.updateDocuments(keyTerm, docs); } } finally { stats.endUpdate(start); } }