private Document getDocument(JournalEntry entry) {
   Document doc = new Document();
   doc.add(
       new Field(
           EntryIndexFields.ID.name(),
           entry.getUid().toString(),
           Field.Store.YES,
           Field.Index.NOT_ANALYZED));
   doc.add(
       new Field(
           EntryIndexFields.NAME.name(),
           entry.getName(),
           Field.Store.YES,
           Field.Index.NOT_ANALYZED));
   doc.add(
       new Field(
           EntryIndexFields.FULLTEXT.name(),
           entry.getText(),
           Field.Store.YES,
           Field.Index.ANALYZED));
   doc.add(
       new Field(
           EntryIndexFields.DATE.name(),
           Long.toString(entry.getDateTime().getMillis()),
           Field.Store.YES,
           Field.Index.NOT_ANALYZED));
   doc.add(
       new Field(
           EntryIndexFields.TYPE.name(),
           entry.getItemType().name(),
           Field.Store.YES,
           Field.Index.NOT_ANALYZED));
   return doc;
 }
 @Override
 public void DeleteEntry(JournalEntry entry) {
   wrapper.DeleteDocuments(new Term(EntryIndexFields.ID.name(), entry.getUid().toString()));
 }
 @Override
 public void UpdateEntry(JournalEntry entry) {
   wrapper.ReplaceDocument(
       getDocument(entry), new Term(EntryIndexFields.ID.name(), entry.getUid().toString()));
 }