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/10/29 22:04:13 UTC

svn commit: r1195008 - in /lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index: FieldInfos.java IndexFileNameFilter.java IndexWriter.java SegmentReadState.java SegmentWriteState.java codecs/DefaultDocValuesProducer.java

Author: mikemccand
Date: Sat Oct 29 20:04:13 2011
New Revision: 1195008

URL: http://svn.apache.org/viewvc?rev=1195008&view=rev
Log:
TestDemo passes w/ per-field format

Modified:
    lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/FieldInfos.java
    lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/IndexFileNameFilter.java
    lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/IndexWriter.java
    lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentReadState.java
    lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentWriteState.java
    lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/DefaultDocValuesProducer.java

Modified: lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/FieldInfos.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/FieldInfos.java?rev=1195008&r1=1195007&r2=1195008&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/FieldInfos.java (original)
+++ lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/FieldInfos.java Sat Oct 29 20:04:13 2011
@@ -773,5 +773,14 @@ public final class FieldInfos implements
     }
     return roFis;
   }
-  
+
+  public boolean anyDocValuesFields() {
+    for (FieldInfo fi : fieldInfos) {
+      if (fi.hasDocValues()) { 
+        return true;
+      }
+    }
+
+    return false;
+  }
 }

Modified: lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/IndexFileNameFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/IndexFileNameFilter.java?rev=1195008&r1=1195007&r2=1195008&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/IndexFileNameFilter.java (original)
+++ lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/IndexFileNameFilter.java Sat Oct 29 20:04:13 2011
@@ -48,6 +48,8 @@ public class IndexFileNameFilter impleme
   // nocommit: untested!!
   private final Pattern luceneFilePattern = Pattern.compile("^_[a-z0-9]+(_[a-z0-9]+)?\\.[a-z0-9]+$");
 
+  // nocommit: hmm fails to detect N.fnx (no leading _)
+
   /* (non-Javadoc)
    * @see java.io.FilenameFilter#accept(java.io.File, java.lang.String)
    */

Modified: lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/IndexWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/IndexWriter.java?rev=1195008&r1=1195007&r2=1195008&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/IndexWriter.java (original)
+++ lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/IndexWriter.java Sat Oct 29 20:04:13 2011
@@ -2590,7 +2590,7 @@ public class IndexWriter implements Clos
 
       // Now create the compound file if needed
       if (useCompoundFile) {
-        merger.createCompoundFile(mergedName + ".cfs", info, context);
+        merger.createCompoundFile(IndexFileNames.segmentFileName(mergedName, "", IndexFileNames.COMPOUND_FILE_EXTENSION), info, context);
 
         // delete new non cfs files directly: they were never
         // registered with IFD

Modified: lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentReadState.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentReadState.java?rev=1195008&r1=1195007&r2=1195008&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentReadState.java (original)
+++ lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentReadState.java Sat Oct 29 20:04:13 2011
@@ -39,7 +39,7 @@ public class SegmentReadState {
 
   public SegmentReadState(Directory dir, SegmentInfo info,
       FieldInfos fieldInfos, IOContext context, int termsIndexDivisor) {
-    this(dir, info, fieldInfos,  context, termsIndexDivisor, -1);
+    this(dir, info, fieldInfos,  context, termsIndexDivisor, 0);
   }
   
   public SegmentReadState(Directory dir,

Modified: lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentWriteState.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentWriteState.java?rev=1195008&r1=1195007&r2=1195008&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentWriteState.java (original)
+++ lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentWriteState.java Sat Oct 29 20:04:13 2011
@@ -66,7 +66,7 @@ public class SegmentWriteState {
     this.numDocs = numDocs;
     this.termIndexInterval = termIndexInterval;
     this.codec = codec;
-    formatId = -1;
+    formatId = 0;
     this.context = context;
   }
   

Modified: lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/DefaultDocValuesProducer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/DefaultDocValuesProducer.java?rev=1195008&r1=1195007&r2=1195008&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/DefaultDocValuesProducer.java (original)
+++ lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/DefaultDocValuesProducer.java Sat Oct 29 20:04:13 2011
@@ -45,10 +45,15 @@ public class DefaultDocValuesProducer ex
    * {@link IndexDocValues} instances for this segment and codec.
    */
   public DefaultDocValuesProducer(SegmentReadState state) throws IOException {
-    cfs = new CompoundFileDirectory(state.dir, 
-        IndexFileNames.segmentFileName(state.segmentInfo.name, state.formatId, IndexFileNames.COMPOUND_FILE_EXTENSION), 
-        state.context, false);
-    docValues = load(state.fieldInfos, state.segmentInfo.name, state.segmentInfo.docCount, cfs, state.formatId, state.context);
+    if (state.fieldInfos.anyDocValuesFields()) {
+      cfs = new CompoundFileDirectory(state.dir, 
+                                      IndexFileNames.segmentFileName(state.segmentInfo.name, state.formatId, IndexFileNames.COMPOUND_FILE_EXTENSION), 
+                                      state.context, false);
+      docValues = load(state.fieldInfos, state.segmentInfo.name, state.segmentInfo.docCount, cfs, state.formatId, state.context);
+    } else {
+      cfs = null;
+      docValues = null;
+    }
   }
   
   @Override
@@ -58,8 +63,12 @@ public class DefaultDocValuesProducer ex
 
   @Override
   protected void closeInternal(Collection<? extends Closeable> closeables) throws IOException {
-    final ArrayList<Closeable> list = new ArrayList<Closeable>(closeables);
-    list.add(cfs);
-    IOUtils.close(list);
+    if (cfs != null) {
+      final ArrayList<Closeable> list = new ArrayList<Closeable>(closeables);
+      list.add(cfs);
+      IOUtils.close(list);
+    } else {
+      IOUtils.close(closeables);
+    }
   }
 }