You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2011/11/19 17:03:29 UTC

svn commit: r1204005 - /lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/search/NRTManager.java

Author: mikemccand
Date: Sat Nov 19 16:03:29 2011
New Revision: 1204005

URL: http://svn.apache.org/viewvc?rev=1204005&view=rev
Log:
add some missing methods to NRTMgr; add sugar ctor not taking ES

Modified:
    lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/search/NRTManager.java

Modified: lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/search/NRTManager.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/search/NRTManager.java?rev=1204005&r1=1204004&r2=1204005&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/search/NRTManager.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/search/NRTManager.java Sat Nov 19 16:03:29 2011
@@ -30,13 +30,12 @@ import java.util.concurrent.locks.Reentr
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.document.Document;
+import org.apache.lucene.index.CorruptIndexException;
 import org.apache.lucene.index.IndexReader; // javadocs
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.index.Term;
 import org.apache.lucene.search.IndexSearcher; // javadocs
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.SearcherManager;
-import org.apache.lucene.search.SearcherWarmer;
+import org.apache.lucene.store.Directory;
 import org.apache.lucene.util.IOUtils;
 import org.apache.lucene.util.ThreadInterruptedException;
 
@@ -69,6 +68,25 @@ public class NRTManager implements Close
    * 
    *  @param writer IndexWriter to open near-real-time
    *         readers
+   *  @param warmer optional {@link SearcherWarmer}.  Pass
+   *         null if you don't require the searcher to warmed
+   *         before going live.  If this is non-null then a
+   *         merged segment warmer is installed on the
+   *         provided IndexWriter's config.
+   *
+   *  <p><b>NOTE</b>: the provided {@link SearcherWarmer} is
+   *  not invoked for the initial searcher; you should
+   *  warm it yourself if necessary.
+   */
+  public NRTManager(IndexWriter writer, SearcherWarmer warmer) throws IOException {
+    this(writer, null, warmer, true);
+  }
+
+  /**
+   * Create new NRTManager.
+   * 
+   *  @param writer IndexWriter to open near-real-time
+   *         readers
    *  @param es optional ExecutorService so different segments can
    *         be searched concurrently (see {@link IndexSearcher#IndexSearcher(IndexReader, ExecutorService)}.
    *         Pass <code>null</code> to search segments sequentially.
@@ -156,12 +174,30 @@ public class NRTManager implements Close
     return indexingGen.get();
   }
 
+  public long deleteDocuments(Term... terms) throws IOException {
+    writer.deleteDocuments(terms);
+    // Return gen as of when indexing finished:
+    return indexingGen.get();
+  }
+
   public long deleteDocuments(Query q) throws IOException {
     writer.deleteDocuments(q);
     // Return gen as of when indexing finished:
     return indexingGen.get();
   }
 
+  public long deleteDocuments(Query... queries) throws IOException {
+    writer.deleteDocuments(queries);
+    // Return gen as of when indexing finished:
+    return indexingGen.get();
+  }
+
+  public long deleteAll() throws IOException {
+    writer.deleteAll();
+    // Return gen as of when indexing finished:
+    return indexingGen.get();
+  }
+
   public long addDocument(Document d, Analyzer a) throws IOException {
     writer.addDocument(d, a);
     // Return gen as of when indexing finished:
@@ -186,6 +222,18 @@ public class NRTManager implements Close
     return indexingGen.get();
   }
 
+  public long addIndexes(Directory... dirs) throws CorruptIndexException, IOException {
+    writer.addIndexes(dirs);
+    // Return gen as of when indexing finished:
+    return indexingGen.get();
+  }
+
+  public long addIndexes(IndexReader... readers) throws CorruptIndexException, IOException {
+    writer.addIndexes(readers);
+    // Return gen as of when indexing finished:
+    return indexingGen.get();
+  }
+
   /**
    * Waits for a given {@link SearcherManager} target generation to be available
    * via {@link #getSearcherManager(boolean)}. If the current generation is less