//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: //ORIGINAL LINE: IndexReference refresh(IndexReference indexReference) throws org.neo4j.internal.kernel.api.exceptions.explicitindex.ExplicitIndexNotFoundKernelException internal override IndexReference Refresh(IndexReference indexReference) { try { DirectoryReader reader = ( DirectoryReader )indexReference.Searcher.IndexReader; IndexWriter writer = indexReference.Writer; IndexReader reopened = DirectoryReader.openIfChanged(reader, writer); if (reopened != null) { IndexSearcher newSearcher = NewIndexSearcher(indexReference.Identifier, reopened); indexReference.DetachOrClose(); return(new WritableIndexReference(indexReference.Identifier, newSearcher, writer)); } return(indexReference); } catch (IOException e) { throw new UncheckedIOException(e); } }
private IndexSearcher Searcher(bool allowRefreshSearcher) { if (this._searcher != null && (!_modified || !allowRefreshSearcher)) { return(this._searcher); } try { IndexReader newReader = this._reader == null?DirectoryReader.open(this._writer) : DirectoryReader.openIfChanged(( DirectoryReader )this._reader); if (newReader == null) { return(this._searcher); } LuceneUtil.Close(_reader); this._reader = newReader; LuceneUtil.Close(_searcher); _searcher = new IndexSearcher(_reader); } catch (IOException e) { throw new Exception(e); } finally { if (allowRefreshSearcher) { this._modified = false; } } return(this._searcher); }