List of usage examples for org.apache.lucene.index IndexWriter deleteDocuments
public long deleteDocuments(Query... queries) throws IOException
From source file:de.uni_koeln.spinfo.maalr.lucene.core.DictionaryCreator.java
License:Apache License
void update(LexEntry entry) throws IOException { IndexWriter writer = initIndexWriter(); Term queryTerm = new Term(LexEntry.ID, entry.getId()); writer.deleteDocuments(queryTerm); if (entry.getCurrent() != null) { List<Document> docs = createDocument(entry); for (Document document : docs) { writer.addDocument(document); }//w ww . j a v a2s . c o m } writer.close(); }
From source file:de.uni_koeln.spinfo.maalr.lucene.core.DictionaryCreator.java
License:Apache License
void delete(LexEntry entry) throws IOException { IndexWriter writer = initIndexWriter(); Term queryTerm = new Term(LexEntry.ID, entry.getId()); writer.deleteDocuments(queryTerm); writer.commit();/*from ww w. ja v a 2 s . c om*/ writer.close(); }
From source file:de.uni_koeln.spinfo.maalr.lucene.core.DictionaryLoader.java
License:Apache License
void update(LexEntry entry) throws IOException { IndexWriter writer = initIndexWriter(); Term queryTerm = new Term(LexEntry.ID, entry.getId()); writer.deleteDocuments(queryTerm); if (entry.getCurrent() != null) { List<Document> docs = createDocument(new HashSet<String>(), entry); for (Document document : docs) { writer.addDocument(document); }//from ww w. j a v a 2s .c o m } writer.commit(); writer.close(); reader.close(); reader = DirectoryReader.open(ram); searcher = new IndexSearcher(reader); }
From source file:de.uni_koeln.spinfo.maalr.lucene.core.DictionaryLoader.java
License:Apache License
void delete(LexEntry entry) throws IOException { IndexWriter writer = initIndexWriter(); Term queryTerm = new Term(LexEntry.ID, entry.getId()); writer.deleteDocuments(queryTerm); writer.commit();/*ww w . j a v a 2 s . c o m*/ writer.close(); reader.close(); reader = DirectoryReader.open(ram); searcher = new IndexSearcher(reader); }
From source file:dk.dma.msinm.lucene.AbstractLuceneIndex.java
License:Open Source License
/** * Deletes the given entity from the index * * @param entity the entity to delete//w ww .jav a 2 s .co m */ protected void deleteEntityFromIndex(IndexWriter writer, T entity) { try { Term idTerm = new Term(ID_FIELD, entity.getId().toString()); writer.deleteDocuments(idTerm); } catch (IOException e) { log.debug("Error deleting entity " + entity.getId()); } }
From source file:edu.harvard.iq.dvn.core.index.Indexer.java
License:Apache License
public void deleteDocument(long studyId) { IndexWriter deleteWriter = null; try {//w ww . ja v a 2 s .c o m while (IndexWriter.isLocked(dir)) ; // TODO: // Figure out why we are using *IndexReader*, not Writer, for // this operation in the first place? -- L.A. // (this will become a moot point if we upgrade to the next // version of Lucene; then we'll be forced to use IndexWriter // for all operations that modify the index) //reader = IndexReader.open(dir, false); deleteWriter = new IndexWriter(dir, getAnalyzer(), isIndexEmpty(), IndexWriter.MaxFieldLength.UNLIMITED); deleteWriter.deleteDocuments(new Term("id", Long.toString(studyId))); deleteWriter.deleteDocuments(new Term("varStudyId", Long.toString(studyId))); deleteWriter.deleteDocuments(new Term("versionStudyId", Long.toString(studyId))); } catch (IOException ex) { ex.printStackTrace(); } finally { if (deleteWriter != null) { try { deleteWriter.close(); } catch (Exception ex) { } } } }
From source file:edu.harvard.iq.dvn.core.index.Indexer.java
License:Apache License
public void deleteDocumentCarefully(long studyId) throws IOException { IndexWriter deleteWriter = null; boolean success = true; String errorMessage = ""; try {//from w w w . j a v a 2 s .c o m //while (IndexWriter.isLocked(dir)); // TODO: // Figure out why we are using *IndexReader*, not Writer, for // this operation in the first place? -- L.A. // (this will become a moot point if we upgrade to the next // version of Lucene; then we'll be forced to use IndexWriter // for all operations that modify the index) //reader = IndexReader.open(dir, false); deleteWriter = new IndexWriter(dir, getAnalyzer(), isIndexEmpty(), IndexWriter.MaxFieldLength.UNLIMITED); deleteWriter.deleteDocuments(new Term("id", Long.toString(studyId))); deleteWriter.deleteDocuments(new Term("varStudyId", Long.toString(studyId))); deleteWriter.deleteDocuments(new Term("versionStudyId", Long.toString(studyId))); } catch (Exception ex) { success = false; errorMessage = "Caught an exception trying to delete index document for study " + studyId + "; " + ex.getMessage(); logger.info(errorMessage); ex.printStackTrace(); } finally { if (deleteWriter != null) { try { deleteWriter.close(); // Should I be checking for, and deleting a lock file // left behind?? } catch (Exception ex) { logger.fine("Caught an exception trying to close the index reader."); // I'm guessing this is not a super dangerous condition... // IndexReaders does try to put a lock on the // index files... so in theory it could be dangerous - // as we may be leaving such a lock behind (?). -- L.A. } } } if (!success) { throw new IOException(errorMessage); } }
From source file:edu.stanford.muse.index.Indexer.java
License:Apache License
private synchronized int removeEmailDocs(Collection<? extends edu.stanford.muse.index.Document> docs) throws IOException { if (iwriter != null) { throw new IOException("iwriter is not null. prepareForSerialization() should be called first."); }/*from ww w . jav a 2 s .c om*/ if (isearcher != null) { isearcher.getIndexReader().close(); isearcher = null; } stats = null; // stats no longer valid int count = docIdToEmailDoc.size(); IndexWriterConfig cfg = new IndexWriterConfig(LUCENE_VERSION, analyzer); IndexWriter writer = new IndexWriter(directory, cfg); //IndexWriter writer = new IndexWriter(directory, analyzer, false, new IndexWriter.MaxFieldLength(250000)); assert (writer.numDocs() == docIdToEmailDoc.size()); for (edu.stanford.muse.index.Document d : docs) { String id = d.getUniqueId(); EmailDocument ed = docIdToEmailDoc.get(id); assert (d == ed); docIdToEmailDoc.remove(id); writer.deleteDocuments(new TermQuery(new Term("docId", id))); log.info("Removed doc " + id + " from index"); } writer.commit(); assert (writer.numDocs() == docIdToEmailDoc.size()); writer.close(); count -= docIdToEmailDoc.size(); // number of removed docs assert (count == docs.size()); return count; }
From source file:edu.ur.ir.groupspace.service.DefaultGroupWorkspaceIndexService.java
License:Apache License
public void delete(Long groupWorkspaceId, File indexFolder) { if (log.isDebugEnabled()) { log.debug("deleting researcher id : " + groupWorkspaceId + " from index folder " + indexFolder.getAbsolutePath()); }//from ww w. j a v a2 s. c om // if the researcher does not have an index folder // don't need to do anything. if (indexFolder == null || !indexFolder.exists() || indexFolder.list() == null || indexFolder.list().length == 0) { return; } Directory directory = null; IndexWriter writer = null; try { directory = FSDirectory.open(indexFolder); writer = getWriter(directory); Term term = new Term(ID, NumericUtils.longToPrefixCoded(groupWorkspaceId)); writer.deleteDocuments(term); writer.commit(); } catch (Exception e) { log.error(e); errorEmailService.sendError(e); } finally { if (writer != null) { try { writer.close(); } catch (Exception e) { log.error(e); } } writer = null; try { IndexWriter.unlock(directory); } catch (IOException e1) { log.error(e1); } if (directory != null) { try { directory.close(); } catch (Exception e) { log.error(e); } } directory = null; } }
From source file:edu.ur.ir.institution.service.DefaultInstitutionalCollectionIndexService.java
License:Apache License
/** * Delete the collection in the index./*from w w w. ja v a2s.c om*/ * * @param collectionId - id of the collection * @param collectionIndexFolder - folder location of the collection index * @see edu.ur.ir.institution.InstitutionalCollectionIndexService#deleteFromIndex(java.lang.Long, java.io.File) */ public void delete(Long collectionId, File collectionIndexFolder) { if (log.isDebugEnabled()) { log.debug("deleting collection id : " + collectionId + " from index folder " + collectionIndexFolder.getAbsolutePath()); } // if there is not collection folder then don't do anything if (collectionIndexFolder == null || !collectionIndexFolder.exists() || collectionIndexFolder.list() == null || collectionIndexFolder.list().length == 0) { return; } Directory directory = null; IndexWriter writer = null; try { directory = FSDirectory.open(collectionIndexFolder); writer = getWriter(directory); Term term = new Term(ID, NumericUtils.longToPrefixCoded(collectionId)); writer.deleteDocuments(term); writer.commit(); } catch (Exception e) { log.error(e); errorEmailService.sendError(e); } finally { try { writer.close(); } catch (Exception e) { log.error(e); try { if (IndexWriter.isLocked(directory)) { IndexWriter.unlock(directory); } } catch (IOException e1) { log.error(e1); } } writer = null; if (directory != null) { try { directory.close(); } catch (Exception e) { log.error(e); } } directory = null; } }