protected void doDelete(int n) throws IOException { in.delete(n); } protected void doCommit() throws IOException { in.commit(); }
protected void doDelete(int n) throws IOException { numDocs = -1; // invalidate cache int i = readerIndex(n); // find segment num subReaders[i].delete(n - starts[i]); // dispatch to segment reader hasDeletions = true; }
/** * Drop object from Lucene index */ protected void remove(String id) throws IOException { synchronized (directory) { IndexReader ir = IndexReader.open(directory); try { ir.delete(new Term("org.apache.servicemix.exchangeid", id)); } finally { ir.close(); } } }
protected void remove(String[] ids) throws IOException { if (ids != null && ids.length > 0) { synchronized (directory) { IndexReader ir = IndexReader.open(directory); try { for (int i = 0; i < ids.length; i++) { ir.delete(new Term("org.apache.servicemix.exchangeid", ids[i])); } } finally { ir.close(); } } } }
private void removeFromIndex(IndexReader reader, int pageId) throws IOException { if (log_.isDebugEnabled()) { log_.debug("remove from index: id=" + pageId); } reader.delete(new Term("id", String.valueOf(pageId))); }
/** * Removes the index for a single blog entry to be removed. * * @param blogEntry the BlogEntry instance to be removed */ public void unindex(BlogEntry blogEntry) { try { synchronized (blog) { log.debug("Attempting to delete index for " + blogEntry.getTitle()); IndexReader reader = IndexReader.open(blog.getSearchIndexDirectory()); Term term = new Term("id", blogEntry.getId()); log.debug("Deleted " + reader.delete(term) + " document(s) from the index"); reader.close(); } } catch (Exception e) { log.error(e.getMessage(), e); } }
/** * Removes the index for a single blog entry to be removed. * * @param staticPage the StaticPage instance to be removed */ public void unindex(StaticPage staticPage) { try { synchronized (blog) { log.debug("Attempting to delete index for " + staticPage.getTitle()); IndexReader reader = IndexReader.open(blog.getSearchIndexDirectory()); Term term = new Term("id", staticPage.getId()); log.debug("Deleted " + reader.delete(term) + " document(s) from the index"); reader.close(); } } catch (Exception e) { log.error(e.getMessage(), e); } }
String curDocId = doc.get(DOC_ID); if (doc != null && docId.equals(curDocId)) { reader.delete(i); break;
/** Deletes all documents containing <code>term</code>. This is useful if one uses a document field to hold a unique ID string for the document. Then to delete such a document, one merely constructs a term with the appropriate field and the unique ID string as its text and passes it to this method. Returns the number of documents deleted. */ public final int delete(Term term) throws IOException { TermDocs docs = termDocs(term); if (docs == null) return 0; int n = 0; try { while (docs.next()) { delete(docs.doc()); n++; } } finally { docs.close(); } return n; }