@Override public boolean isOptimized() { return in.isOptimized(); }
@Override public boolean isOptimized() { return this.delegate.isOptimized(); }
public boolean isOptimized() { return reader.isOptimized(); }
/** * Checks recursively if all subindexes are optimized */ public boolean isOptimized() { for (int i = 0; i < readers.size(); i++) { if (!((IndexReader)readers.get(i)).isOptimized()) { return false; } } // all subindexes are optimized return true; }
/** * Checks recursively if all subindexes are optimized */ public boolean isOptimized() { for (int i = 0; i < readers.size(); i++) { if (!((IndexReader)readers.get(i)).isOptimized()) { return false; } } // all subindexes are optimized return true; }
public boolean isOptimized() { ensureOpen(); return in.isOptimized(); } }
public boolean isOptimized() { ensureOpen(); return in.isOptimized(); } }
private void optimize(URI type) throws IOException { if (!readers.get(type).isOptimized()) { synchronized (writingOperations.get(type)) { if (writingOperations.get(type).intValue() > OPTIMIZATION_THRESHOLD.get(type)) { logger.info("Optimizing index {}", type.toString()); writers.get(type).optimize(MAX_LUCENE_SEGMENTS); writingOperations.get(type).set(0); } } } readers.get(type).close(); readers.put(type, writers.get(type).getReader()); }
private void indexOptimize() throws IOException { synchronized (this.luceneWriter) { if (!this.luceneReader.isOptimized()) { // following command causes the index to always be detected as not optimized // this.luceneWriter.optimize(MAX_LUCENE_SEGMENTS); this.luceneWriter.optimize(); this.luceneWriter.commit(); this.luceneReader.close(); this.luceneReader = this.luceneWriter.getReader(); LOGGER.debug("Index optimized"); } } }
public static SimpleOrderedMap<Object> getIndexInfo( IndexReader reader, boolean countTerms ) throws IOException { Directory dir = reader.directory(); SimpleOrderedMap<Object> indexInfo = new SimpleOrderedMap<Object>(); indexInfo.add("numDocs", reader.numDocs()); indexInfo.add("maxDoc", reader.maxDoc()); if( countTerms ) { TermEnum te = null; try{ te = reader.terms(); int numTerms = 0; while (te.next()) { numTerms++; } indexInfo.add("numTerms", numTerms ); } finally{ if( te != null ) te.close(); } } indexInfo.add("version", reader.getVersion()); // TODO? Is this different then: IndexReader.getCurrentVersion( dir )? indexInfo.add("optimized", reader.isOptimized() ); indexInfo.add("current", reader.isCurrent() ); indexInfo.add("hasDeletions", reader.hasDeletions() ); indexInfo.add("directory", dir ); indexInfo.add("lastModified", new Date(IndexReader.lastModified(dir)) ); return indexInfo; }