ZoieSystem<R, D> createZoie(DirectoryManager dirmgr) { return new ZoieSystem<R, D>(dirmgr, _interpreter, _decorator, _zConfig); }
public ZoieIndexingStatusAdmin(ZoieSystem<?, ?> zoieSystem) { _zoieSystem = zoieSystem; _zoieSystem.addIndexingEventListener(this); _startTime = 0L; _endTime = 0L; _leftOver = 0; _size = 0; _totalSize = 0; _totalTime = 0; _diskVersion = null; }
/** * @deprecated use {@link ZoieSystem#buildDefaultInstance(File, ZoieIndexableInterpreter, ZoieConfig)} * @param idxDir * @param interpreter * @param batchSize * @param batchDelay * @param realtime * @param versionComparator */ @Deprecated public static <D> ZoieSystem<IndexReader, D> buildDefaultInstance(File idxDir, ZoieIndexableInterpreter<D> interpreter, int batchSize, long batchDelay, boolean realtime, Comparator<String> versionComparator) { return buildDefaultInstance(idxDir, interpreter, new StandardAnalyzer(Version.LUCENE_43), new DefaultSimilarity(), batchSize, batchDelay, realtime, versionComparator); }
zoie.shutdown(); zoie.shutdown(); long flushwait = 200000L; try { zoie.flushEvents(flushwait); zoie.getAdminMBean().setUseCompoundFile(true); zoie.getAdminMBean().optimize(1); break; } catch (IOException e) { log.error("pre-shutdown optimization " + zoie.getAdminMBean().getIndexDir() + " Should investigate. But move on now.", e); break; break; } else { log.info("pre-shutdown optimization " + zoie.getAdminMBean().getIndexDir() + " flushing processing " + flushwait + "ms elapsed"); zoie.shutdown();
private DirectoryReader getArchive(ZoieSystem<R, D> zoie) throws CorruptIndexException, IOException { String dirName = zoie.getAdminMBean().getIndexDir(); Directory dir = new SimpleFSDirectory(new File(dirName)); DirectoryReader reader = null; if (DirectoryReader.indexExists(dir)) { reader = DirectoryReader.open(dir); } else { log.info("empty index " + dirName); reader = null; } return reader; } }
ZoieSystem<BoboSegmentReader, T> zoie = new ZoieSystem<BoboSegmentReader, T>(dirMgr, _interpreter, _indexReaderDecorator, _zoieConfig); if (_purgeFilter != null) { zoie.setPurgeFilter(_purgeFilter); zoie.addIndexingEventListener(new IndexingEventListener() {
protected List<ZoieSystem<R, D>> loadArchiveZoies() { List<ZoieSystem<R, D>> archives = new ArrayList<ZoieSystem<R, D>>(); long t0 = System.currentTimeMillis(); List<File> dirs = _dirMgrFactory.getAllArchivedDirs(); for (File dir : dirs) { try { DirectoryManager dirMgr = new DefaultDirectoryManager(dir, _dirMgrFactory.getMode()); ZoieSystem<R, D> zoie = new ZoieSystem<R, D>(dirMgr, _interpreter, _decorator, _zConfig); zoie.start(); archives.add(zoie); } catch (Exception e) { log.error("Load index: " + dir + " failed.", e); } } log.info("load " + dirs.size() + " archived indices of " + getSizeBytes() + " bytes in " + (System.currentTimeMillis() - t0) + "ms"); return archives; }
@Override public void flushEvents(long timeout) throws ZoieException { _currentZoie.flushEvents(timeout); }
private void clearFromArchives(Collection<DataEvent<D>> data) throws ZoieException { if (_dirMgrFactory.getScheduler().isAppendOnly()) return; if (data != null && data.size() > 0) { List<DataEvent<D>> deletes = new ArrayList<DataEvent<D>>(data.size()); for (DataEvent<D> event : data) { deletes.add(new DataEvent<D>(event.getData(), event.getVersion(), true)); } for (ZoieSystem<R, D> zoie : _readerMgr.getArchiveZoies()) { zoie.consume(deletes); } } }
@Override public String getCurrentDiskVersion() throws IOException { return hourglass.getCurrentZoie().getCurrentDiskVersion(); }
@Override public int getCurrentDiskBatchSize() { return hourglass.getCurrentZoie().getCurrentDiskBatchSize(); }
public int getCurrentMemBatchSize() { return getCurrentBatchSize(); }
@Override public int getCurrentMemBatchSize() { return hourglass.getCurrentZoie().getCurrentMemBatchSize(); }
zoie.shutdown(); zoie.shutdown(); long flushwait = 200000L; try { zoie.flushEvents(flushwait); zoie.getAdminMBean().setUseCompoundFile(true); zoie.getAdminMBean().optimize(1); break; } catch (IOException e) { log.error("pre-shutdown optimization " + zoie.getAdminMBean().getIndexDir() + " Should investigate. But move on now.", e); break; break; } else { log.info("pre-shutdown optimization " + zoie.getAdminMBean().getIndexDir() + " flushing processing " + flushwait + "ms elapsed"); zoie.shutdown();
@Override public int getNumLargeSegments() { return hourglass.getCurrentZoie().getAdminMBean().getNumLargeSegments(); }
protected List<ZoieSystem<R, D>> loadArchiveZoies() { List<ZoieSystem<R, D>> archives = new ArrayList<ZoieSystem<R, D>>(); long t0 = System.currentTimeMillis(); List<File> dirs = _dirMgrFactory.getAllArchivedDirs(); for (File dir : dirs) { try { DirectoryManager dirMgr = new DefaultDirectoryManager(dir, _dirMgrFactory.getMode()); ZoieSystem<R, D> zoie = new ZoieSystem<R, D>(dirMgr, _interpreter, _decorator, _zConfig); zoie.start(); archives.add(zoie); } catch (Exception e) { log.error("Load index: " + dir + " failed.", e); } } log.info("load " + dirs.size() + " archived indices of " + getSizeBytes() + " bytes in " + (System.currentTimeMillis() - t0) + "ms"); return archives; }
@Override public void flushEvents(long timeout) throws ZoieException { _currentZoie.flushEvents(timeout); }
private void clearFromArchives(Collection<DataEvent<D>> data) throws ZoieException { if (_dirMgrFactory.getScheduler().isAppendOnly()) return; if (data != null && data.size() > 0) { List<DataEvent<D>> deletes = new ArrayList<DataEvent<D>>(data.size()); for (DataEvent<D> event : data) { deletes.add(new DataEvent<D>(event.getData(), event.getVersion(), true)); } for (ZoieSystem<R, D> zoie : _readerMgr.getArchiveZoies()) { zoie.consume(deletes); } } }