Index: lucene/contrib/misc/src/java/org/apache/lucene/index/PKIndexSplitter.java
===================================================================
--- lucene/contrib/misc/src/java/org/apache/lucene/index/PKIndexSplitter.java	(revision 1145077)
+++ lucene/contrib/misc/src/java/org/apache/lucene/index/PKIndexSplitter.java	(working copy)
@@ -19,7 +19,6 @@
 
 import java.io.IOException;
 
-import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.index.IndexWriterConfig.OpenMode;
 import org.apache.lucene.search.DocIdSet;
 import org.apache.lucene.search.DocIdSetIterator;
@@ -39,17 +38,30 @@
   private final Filter docsInFirstIndex;
   private final Directory input;
   private final Directory dir1;
-  private final Directory dir2; 
+  private final Directory dir2;
+  private final IndexWriterConfig config1;
+  private final IndexWriterConfig config2;
   
   /**
    * Split an index based on a {@link Filter}. All documents that match the filter
    * are sent to dir1, remaining ones to dir2.
    */
-  public PKIndexSplitter(Directory input, Directory dir1, Directory dir2, Filter docsInFirstIndex) {
+  public PKIndexSplitter(Version version, Directory input, Directory dir1, Directory dir2, Filter docsInFirstIndex) {
+    this(input, dir1, dir2, docsInFirstIndex, newDefaultConfig(version), newDefaultConfig(version));
+  }
+  
+  private static IndexWriterConfig newDefaultConfig(Version version) {
+    return  new IndexWriterConfig(version, null).setOpenMode(OpenMode.CREATE);
+  }
+  
+  public PKIndexSplitter(Directory input, Directory dir1, 
+      Directory dir2, Filter docsInFirstIndex, IndexWriterConfig config1, IndexWriterConfig config2) {
     this.input = input;
     this.dir1 = dir1;
     this.dir2 = dir2;
     this.docsInFirstIndex = docsInFirstIndex;
+    this.config1 = config1;
+    this.config2 = config2;
   }
   
   /**
@@ -57,27 +69,33 @@
    * and a 'middle' term.  If the middle term is present, it's
    * sent to dir2.
    */
-  public PKIndexSplitter(Directory input, Directory dir1, Directory dir2, Term midTerm) {
-    this(input, dir1, dir2,
+  public PKIndexSplitter(Version version, Directory input, Directory dir1, Directory dir2, Term midTerm) {
+    this(version, input, dir1, dir2,
       new TermRangeFilter(midTerm.field(), null, midTerm.bytes(), true, false));
   }
   
+  public PKIndexSplitter(Directory input, Directory dir1, 
+      Directory dir2, Term midTerm, IndexWriterConfig config1, IndexWriterConfig config2) {
+    this(input, dir1, dir2,
+      new TermRangeFilter(midTerm.field(), null, midTerm.bytes(), true, false), config1, config2);
+  }
+  
   public void split() throws IOException {
     boolean success = false;
     IndexReader reader = IndexReader.open(input);
     try {
-      createIndex(dir1, reader, docsInFirstIndex, false);
-      createIndex(dir2, reader, docsInFirstIndex, true);
+      // pass an individual config in here since one config can not be reused!
+      createIndex(config1, dir1, reader, docsInFirstIndex, false);
+      createIndex(config2, dir2, reader, docsInFirstIndex, true);
       success = true;
     } finally {
       IOUtils.closeSafely(!success, reader);
     }
   }
   
-  private void createIndex(Directory target, IndexReader reader, Filter preserveFilter, boolean negateFilter) throws IOException {
+  private void createIndex(IndexWriterConfig config, Directory target, IndexReader reader, Filter preserveFilter, boolean negateFilter) throws IOException {
     boolean success = false;
-    IndexWriter w = new IndexWriter(target, new IndexWriterConfig(
-        Version.LUCENE_CURRENT, null).setOpenMode(OpenMode.CREATE));
+    IndexWriter w = new IndexWriter(target, config);
     try {
       w.addIndexes(new DocumentFilteredIndexReader(reader, preserveFilter, negateFilter));
       success = true;
Index: lucene/contrib/misc/src/test/org/apache/lucene/index/TestPKIndexSplitter.java
===================================================================
--- lucene/contrib/misc/src/test/org/apache/lucene/index/TestPKIndexSplitter.java	(revision 1145077)
+++ lucene/contrib/misc/src/test/org/apache/lucene/index/TestPKIndexSplitter.java	(working copy)
@@ -68,7 +68,9 @@
   private void checkSplitting(Directory dir, Term splitTerm, int leftCount, int rightCount) throws Exception {
     Directory dir1 = newDirectory();
     Directory dir2 = newDirectory();
-    PKIndexSplitter splitter = new PKIndexSplitter(dir, dir1, dir2, splitTerm);
+    PKIndexSplitter splitter = new PKIndexSplitter(dir, dir1, dir2, splitTerm,
+        newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random)),
+        newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random)));
     splitter.split();
     
     IndexReader ir1 = IndexReader.open(dir1);
