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

svn commit: r1200407 - in /lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index: SegmentCoreReaders.java SegmentMerger.java codecs/DefaultTermVectorsFormat.java codecs/TermVectorsFormat.java

Author: rmuir
Date: Thu Nov 10 16:20:51 2011
New Revision: 1200407

URL: http://svn.apache.org/viewvc?rev=1200407&view=rev
Log:
LUCENE-2621: SegmentReader and SegmentMerger ask codec for vectors reader/writer

Modified:
    lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentCoreReaders.java
    lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentMerger.java
    lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/DefaultTermVectorsFormat.java
    lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/TermVectorsFormat.java

Modified: lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentCoreReaders.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentCoreReaders.java?rev=1200407&r1=1200406&r2=1200407&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentCoreReaders.java (original)
+++ lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentCoreReaders.java Thu Nov 10 16:20:51 2011
@@ -25,7 +25,7 @@ import org.apache.lucene.index.codecs.Po
 import org.apache.lucene.index.codecs.FieldsProducer;
 import org.apache.lucene.index.codecs.StoredFieldsReader;
 import org.apache.lucene.index.codecs.PerDocValues;
-import org.apache.lucene.index.codecs.DefaultTermVectorsReader;
+import org.apache.lucene.index.codecs.TermVectorsReader;
 import org.apache.lucene.store.CompoundFileDirectory;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.IOContext;
@@ -57,7 +57,7 @@ final class SegmentCoreReaders {
   private final SegmentReader owner;
   
   StoredFieldsReader fieldsReaderOrig;
-  DefaultTermVectorsReader termVectorsReaderOrig;
+  TermVectorsReader termVectorsReaderOrig;
   CompoundFileDirectory cfsReader;
   CompoundFileDirectory storeCFSReader;
 
@@ -107,7 +107,7 @@ final class SegmentCoreReaders {
     this.owner = owner;
   }
   
-  synchronized DefaultTermVectorsReader getTermVectorsReaderOrig() {
+  synchronized TermVectorsReader getTermVectorsReaderOrig() {
     return termVectorsReaderOrig;
   }
   
@@ -171,7 +171,7 @@ final class SegmentCoreReaders {
  
       if (si.getHasVectors()) { // open term vector files only as needed
         // nocommit
-        termVectorsReaderOrig = new DefaultTermVectorsReader(storeDir, storesSegment, fieldInfos, context, si.getDocStoreOffset(), si.docCount);
+        termVectorsReaderOrig = si.getCodec().termVectorsFormat().vectorsReader(storeDir, storesSegment, fieldInfos, context, si.getDocStoreOffset(), si.docCount);
       }
     }
   }

Modified: lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentMerger.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentMerger.java?rev=1200407&r1=1200406&r2=1200407&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentMerger.java (original)
+++ lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentMerger.java Thu Nov 10 16:20:51 2011
@@ -27,7 +27,6 @@ import org.apache.lucene.index.FieldInfo
 import org.apache.lucene.index.IndexReader.FieldOption;
 import org.apache.lucene.index.MergePolicy.MergeAbortedException;
 import org.apache.lucene.index.codecs.Codec;
-import org.apache.lucene.index.codecs.DefaultTermVectorsWriter;
 import org.apache.lucene.index.codecs.FieldsConsumer;
 import org.apache.lucene.index.codecs.StoredFieldsWriter;
 import org.apache.lucene.index.codecs.PerDocConsumer;
@@ -233,7 +232,7 @@ final class SegmentMerger {
    */
   // nocommit: move to codec
   private final void mergeVectors(SegmentWriteState segmentWriteState) throws IOException {
-    TermVectorsWriter termVectorsWriter = new DefaultTermVectorsWriter(directory, segment, mergeState.fieldInfos, context);
+    TermVectorsWriter termVectorsWriter = codec.termVectorsFormat().vectorsWriter(directory, segment, mergeState.fieldInfos, context);
     // Used for bulk-reading raw bytes for term vectors
     int rawDocLengths[] = new int[MAX_RAW_MERGE_DOCS];
     int rawDocLengths2[] = new int[MAX_RAW_MERGE_DOCS];

Modified: lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/DefaultTermVectorsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/DefaultTermVectorsFormat.java?rev=1200407&r1=1200406&r2=1200407&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/DefaultTermVectorsFormat.java (original)
+++ lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/DefaultTermVectorsFormat.java Thu Nov 10 16:20:51 2011
@@ -20,12 +20,24 @@ package org.apache.lucene.index.codecs;
 import java.io.IOException;
 import java.util.Set;
 
+import org.apache.lucene.index.FieldInfos;
 import org.apache.lucene.index.SegmentInfo;
 import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.IOContext;
 
 public class DefaultTermVectorsFormat extends TermVectorsFormat {
 
   @Override
+  public TermVectorsReader vectorsReader(Directory directory, String segment, FieldInfos fieldInfos, IOContext context, int docStoreOffset, int size) throws IOException {
+    return new DefaultTermVectorsReader(directory, segment, fieldInfos, context, docStoreOffset, size);
+  }
+
+  @Override
+  public TermVectorsWriter vectorsWriter(Directory directory, String segment, FieldInfos fieldInfos, IOContext context) throws IOException {
+    return new DefaultTermVectorsWriter(directory, segment, fieldInfos, context);
+  }
+
+  @Override
   public void files(Directory dir, SegmentInfo info, Set<String> files) throws IOException {
     // nocommit impl
   }

Modified: lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/TermVectorsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/TermVectorsFormat.java?rev=1200407&r1=1200406&r2=1200407&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/TermVectorsFormat.java (original)
+++ lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/codecs/TermVectorsFormat.java Thu Nov 10 16:20:51 2011
@@ -20,12 +20,17 @@ package org.apache.lucene.index.codecs;
 import java.io.IOException;
 import java.util.Set;
 
+import org.apache.lucene.index.FieldInfos;
 import org.apache.lucene.index.SegmentInfo;
 import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.IOContext;
 
 /**
  * Controls the format of term vectors
  */
 public abstract class TermVectorsFormat {
+  // nocommit: privatize size-check and docstore crap
+  public abstract TermVectorsReader vectorsReader(Directory directory, String segment, FieldInfos fieldInfos, IOContext context, int docStoreOffset, int size) throws IOException;
+  public abstract TermVectorsWriter vectorsWriter(Directory directory, String segment, FieldInfos fieldInfos, IOContext context) throws IOException;
   public abstract void files(Directory dir, SegmentInfo info, Set<String> files) throws IOException;
 }