public int getNumDocs() { LuceneIndexReader reader = IndexReaderFactoryUtils.getIndexReader(indexFactory); try { return reader.numDocs(); } finally { IndexReaderFactoryUtils.releaseIndexReader(indexFactory, reader); } }
public boolean hasDeletions() { LuceneIndexReader reader = IndexReaderFactoryUtils.getIndexReader(indexFactory); try { return reader.hasDeletions(); } finally { IndexReaderFactoryUtils.releaseIndexReader(indexFactory, reader); } }
public boolean isDeleted(int internalDocumentId) { LuceneIndexReader reader = IndexReaderFactoryUtils.getIndexReader(indexFactory); try { return reader.isDeleted(internalDocumentId); } finally { IndexReaderFactoryUtils.releaseIndexReader(indexFactory, reader); } }
public Object read(ReaderCallback callback) { LuceneIndexReader reader = IndexReaderFactoryUtils.getIndexReader(indexFactory); try { return callback.doWithReader(reader); } catch (Exception ex) { throw new LuceneIndexAccessException("Error during using the IndexReader.", ex); } finally { IndexReaderFactoryUtils.releaseIndexReader(indexFactory, reader); } }
public void undeleteDocuments() { LuceneIndexReader reader = IndexReaderFactoryUtils.getIndexReader(indexFactory); try { reader.undeleteAll(); } catch (IOException ex) { throw new LuceneIndexAccessException("Error during undeleting all documents.", ex); } finally { IndexReaderFactoryUtils.releaseIndexReader(indexFactory, reader); } }
public void deleteDocument(int internalDocumentId) { LuceneIndexReader reader = IndexReaderFactoryUtils.getIndexReader(indexFactory); try { reader.deleteDocument(internalDocumentId); } catch (IOException ex) { throw new LuceneIndexAccessException("Error during deleting a document.", ex); } finally { IndexReaderFactoryUtils.releaseIndexReader(indexFactory, reader); } }
public void deleteDocuments(Term term) { System.out.println("> indexFactory = " + indexFactory); LuceneIndexReader reader = IndexReaderFactoryUtils.getIndexReader(indexFactory); System.out.println("> reader = " + reader); try { reader.deleteDocuments(term); } catch (IOException ex) { throw new LuceneIndexAccessException("Error during deleting a document.", ex); } finally { IndexReaderFactoryUtils.releaseIndexReader(indexFactory, reader); } }
public void updateDocuments( Term identifierTerm, DocumentsModifier documentsModifier, Analyzer analyzer) { LuceneIndexReader reader = IndexReaderFactoryUtils.getIndexReader(indexFactory); LuceneSearcher searcher = reader.createSearcher(); List updatedDocuments = null; try { LuceneHits hits = searcher.search(new TermQuery(identifierTerm)); updatedDocuments = documentsModifier.updateDocuments(hits); } catch (Exception ex) { throw new LuceneIndexAccessException("Error during updating a document.", ex); } finally { SearcherFactoryUtils.closeSearcher(searcher); IndexReaderFactoryUtils.releaseIndexReader(indexFactory, reader); } deleteDocuments(identifierTerm); addDocuments(updatedDocuments, analyzer); }