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); } }
private void openIndexes(boolean overwrite) throws IOException { if (directory == null) { try { if (path == null) directory = new RAMDirectory(); else { //directory = new MMapDirectory(new File(config.getPath())); // as per http://wiki.apache.org/lucene-java/ImproveSearchingSpeed // we use NIOFSDirectory, provided we're not on Windows if (Utils.isWindowsOS()) directory = FSDirectory.open(new File(path)); else directory = NIOFSDirectory.open(new File(path)); } IndexWriterConfig cfg = new IndexWriterConfig(Version.LUCENE_CURRENT, analyzer); cfg.setOpenMode(overwrite ? IndexWriterConfig.OpenMode.CREATE : IndexWriterConfig.OpenMode.APPEND); iwriter = new IndexWriter(directory, cfg); iwriter.commit(); // so that the searcher doesn't fail } catch (IndexNotFoundException e) { if (!overwrite) { // the index was not there, so make a new one directory = null; // ensure we really do try again openIndexes(true); } else throw new DukeException(e); } } }
/** * Gets the current IndexSearcher. * * @return IndexSearcher * @throws IOException * Signals that an I/O exception has occurred. */ public static Directory getDirectoryIndex( ) throws IOException { return NIOFSDirectory.open( Paths.get( _strIndex ) ); }
public DocumentIndexer(String indexDir) throws IOException { Directory dir = NIOFSDirectory.open(new File(indexDir)); writer = new IndexWriter(dir, config); try { reader = DirectoryReader.open(dir); } catch (IndexNotFoundException e) { // Silently ignore, means we are indexing at a new location } startingTime = System.currentTimeMillis(); }
public DocumentIndexer(String indexDir) throws IOException { System.out.println( NAME + ": opening index directory '" + indexDir + "'." ); Directory dir = NIOFSDirectory.open(new File(indexDir)); writer = new IndexWriter(dir, config); try { reader = DirectoryReader.open(dir); } catch (IndexNotFoundException e) { // Silently ignore, means we are indexing at a new location System.err.println( NAME + ": directory '" + dir + "' not found; creating new index." ); // Console console = System.console(); // String input = console.readLine("Press enter to continue:"); // if (!input.equals("")) // System.exit(-1); } startingTime = System.currentTimeMillis(); }
protected IndexSearcher getSearcher() { File dir = new File(config.getPath()); long modTime = dir.lastModified(); if (indexModificationTime!=modTime) closeSearcher(); if(searcher == null) { try { FSDirectory directory = NIOFSDirectory.open(new File(config.getPath())); //searcher = new IndexSearcher(directory); IndexReader reader = IndexReader.open(directory); searcher = new IndexSearcher(reader); indexModificationTime = modTime; } catch (Exception ex) { throw new RuntimeException(ex); } } return searcher; }
protected synchronized IndexWriter getWriter() { if (writer == null) { try { FSDirectory directory = NIOFSDirectory.open(new File(config.getPath())); try { if (IndexWriter.isLocked(directory)) { IndexWriter.unlock(directory); } } catch(OverlappingFileLockException ex) { IndexWriter.unlock(directory); } writer = new IndexWriter(directory, new IndexWriterConfig(Version.LUCENE_43,config.getAnalyzer())); } catch (Exception e) { throw new RuntimeException(e); } } return writer; }
Directory dir = NIOFSDirectory.open(new File("/shared/bronte/EntityLinkingIndex")); IndexReader myreader = DirectoryReader.open(dir); System.out.println(myreader.numDocs());
dir = MMapDirectory.open(idxDir); } else if ("nio".equals(modeConf)) { dir = NIOFSDirectory.open(idxDir); } else { dir = FSDirectory.open(idxDir);
private Directory getTaxDirectory(ODatabaseDocumentInternal database) throws IOException { Directory dir = null; final OAbstractPaginatedStorage storageLocalAbstract = (OAbstractPaginatedStorage) database.getStorage().getUnderlying(); if (storageLocalAbstract instanceof OLocalPaginatedStorage) { String pathname = getIndexFacetPath((OLocalPaginatedStorage) storageLocalAbstract); dir = NIOFSDirectory.open(new File(pathname)); } else { dir = new RAMDirectory(); } return dir; }
directory = FSDirectory.open(new File(path)); else directory = NIOFSDirectory.open(new File(path));
private void reOpen(final ODocument metadata) throws IOException { ODatabaseDocumentInternal database = getDatabase(); final OAbstractPaginatedStorage storageLocalAbstract = (OAbstractPaginatedStorage) database.getStorage().getUnderlying(); Directory dir = null; if (storageLocalAbstract instanceof OLocalPaginatedStorage) { String pathname = getIndexPath((OLocalPaginatedStorage) storageLocalAbstract); OLogManager.instance().debug(this, "Opening NIOFS Lucene db=%s, path=%s", database.getName(), pathname); dir = NIOFSDirectory.open(new File(pathname)); } else { OLogManager.instance().debug(this, "Opening RAM Lucene index db=%s", database.getName()); dir = new RAMDirectory(); } final IndexWriter indexWriter = createIndexWriter(dir, metadata); mgrWriter = new TrackingIndexWriter(indexWriter); searcherManager = new SearcherManager(indexWriter, true, null); if (nrt != null) { nrt.close(); } nrt = new ControlledRealTimeReopenThread(mgrWriter, searcherManager, 60.00, 0.1); nrt.setDaemon(true); nrt.start(); flush(); }