@Override protected DirectoryReader refreshIfNeeded(DirectoryReader referenceToRefresh) throws IOException { return DirectoryReader.openIfChanged(referenceToRefresh); }
void setIndexReaderSearcher() throws IOException { FSDirectory index = FSDirectory.open(indexDir.toPath()); if(reader == null){ reader = DirectoryReader.open(index); searcher = new IndexSearcher(reader); }else{ DirectoryReader newreader = DirectoryReader.openIfChanged(reader); if(newreader != null) { reader.close(); reader = newreader; searcher = new IndexSearcher(reader); } } }
return openIfChanged(oldReader, writer, true);
static synchronized void setIndexReaderSearcher() { try{ FSDirectory index = NIOFSDirectory.open(indexDir.toPath()); if(reader == null){ reader = DirectoryReader.open(index); searcher = new IndexSearcher(reader); }else{ DirectoryReader newreader = DirectoryReader.openIfChanged(reader); if(newreader != null) { reader.close(); reader = newreader; searcher = new IndexSearcher(reader); } } }catch(IOException e){ throw new RuntimeException(e); } }
DirectoryReader.openIfChanged( (DirectoryReader) this.reader ); if ( newReader == null )
@Override protected IndexSearcher refreshIfNeeded(IndexSearcher referenceToRefresh) throws IOException { final IndexReader r = referenceToRefresh.getIndexReader(); assert r instanceof DirectoryReader: "searcher's IndexReader should be a DirectoryReader, but got " + r; final IndexReader newReader = DirectoryReader.openIfChanged((DirectoryReader) r); if (newReader == null) { return null; } else { return getSearcher(searcherFactory, newReader, r); } }
@Override IndexReference refresh( IndexReference indexReference ) throws ExplicitIndexNotFoundKernelException { try { DirectoryReader reader = (DirectoryReader) indexReference.getSearcher().getIndexReader(); IndexWriter writer = indexReference.getWriter(); IndexReader reopened = DirectoryReader.openIfChanged( reader, writer ); if ( reopened != null ) { IndexSearcher newSearcher = newIndexSearcher( indexReference.getIdentifier(), reopened ); indexReference.detachOrClose(); return new WritableIndexReference( indexReference.getIdentifier(), newSearcher, writer ); } return indexReference; } catch ( IOException e ) { throw new UncheckedIOException( e ); } }
@Override protected DirectoryReader refreshIfNeeded(DirectoryReader referenceToRefresh) throws IOException { return DirectoryReader.openIfChanged(referenceToRefresh); }
@Override protected DirectoryReader refreshIfNeeded(DirectoryReader referenceToRefresh) throws IOException { return DirectoryReader.openIfChanged(referenceToRefresh); }
@Override protected DirectoryReader refreshIfNeeded(DirectoryReader referenceToRefresh) throws IOException { return DirectoryReader.openIfChanged(referenceToRefresh); }
public static IndexReader getIndexReader() throws IOException { if (null != indexReader) { IndexReader tr = DirectoryReader.openIfChanged((DirectoryReader) indexReader); if (tr != null) { indexReader.close(); indexReader = tr; } return indexReader; } else { indexReader = DirectoryReader.open(directory); return indexReader; } }
/** * This method creates new {@link DirectoryReader} if the index has changed, otherwise the old * one is returned. * * @param oldDirectoryReader * @param indexWriter * @return * @throws IOException */ @SuppressWarnings({ "resource" }) private DirectoryReader createDirectoryReader(DirectoryReader oldDirectoryReader, IndexWriter indexWriter) throws IOException { DirectoryReader dirReader = oldDirectoryReader != null ? DirectoryReader.openIfChanged(oldDirectoryReader, indexWriter) : DirectoryReader.open(indexWriter); if (dirReader == null) { dirReader = oldDirectoryReader; } return dirReader; }
@Override protected IndexSearcher refreshIfNeeded(IndexSearcher referenceToRefresh) throws IOException { final IndexReader r = referenceToRefresh.getIndexReader(); assert r instanceof DirectoryReader: "searcher's IndexReader should be a DirectoryReader, but got " + r; final IndexReader newReader = DirectoryReader.openIfChanged((DirectoryReader) r); if (newReader == null) { return null; } else { return getSearcher(searcherFactory, newReader, r); } }
@Override protected IndexSearcher refreshIfNeeded(IndexSearcher referenceToRefresh) throws IOException { final IndexReader r = referenceToRefresh.getIndexReader(); assert r instanceof DirectoryReader: "searcher's IndexReader should be a DirectoryReader, but got " + r; final IndexReader newReader = DirectoryReader.openIfChanged((DirectoryReader) r); if (newReader == null) { return null; } else { return getSearcher(searcherFactory, newReader, r); } }
@Override protected IndexSearcher refreshIfNeeded(IndexSearcher referenceToRefresh) throws IOException { final IndexReader r = referenceToRefresh.getIndexReader(); assert r instanceof DirectoryReader: "searcher's IndexReader should be a DirectoryReader, but got " + r; final IndexReader newReader = DirectoryReader.openIfChanged((DirectoryReader) r); if (newReader == null) { return null; } else { return getSearcher(searcherFactory, newReader, r); } }
private void maybeRefreshSearcher() throws IOException { if (reader == null) { reader = DirectoryReader.open(writer, true); searcher = new IndexSearcher(reader); } else { DirectoryReader newReader = DirectoryReader.openIfChanged(reader); if (newReader != null) { reader = newReader; searcher = new IndexSearcher(reader); } } }
protected void refreshIndexReader() throws IOException { if (indexReader == null) { indexReader = DirectoryReader.open(directory); } else { DirectoryReader before = indexReader; DirectoryReader after = DirectoryReader.openIfChanged(indexReader); if (after != null) { before.close(); indexReader = after; } } searcher = new IndexSearcher(indexReader); }
/** * reopen the searcher so it sees any updates. * Do NOT call this when operating within Solr: it interferes with Solr's management * of open searchers/readers. */ public void reopenSearcher() { LoggerFactory.getLogger(getClass()).debug("evaluator reopen searcher"); try { LuxSearcher current = searcher; if (current != null) { searcher = new LuxSearcher (DirectoryReader.openIfChanged((DirectoryReader) current.getIndexReader())); current.close(); } resetURIResolver (); } catch (IOException e) { throw new LuxException (e); } }
private void openReaderIfChanges() throws IOException { DirectoryReader newDirectoryReader = DirectoryReader .openIfChanged(directoryReader, indexWriter, indexConfig.getIndexSettings().getApplyUncommittedDeletes()); if (newDirectoryReader != null) { directoryReader = newDirectoryReader; QueryResultCache qrc = queryResultCache; if (qrc != null) { qrc.clear(); } } DirectoryTaxonomyReader newone = TaxonomyReader.openIfChanged(taxoReader); if (newone != null) { taxoReader = newone; } }
@Override public int doLogic() throws IOException { DirectoryReader r = getRunData().getIndexReader(); DirectoryReader nr = DirectoryReader.openIfChanged(r); if (nr != null) { getRunData().setIndexReader(nr); nr.decRef(); } r.decRef(); return 1; } }