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 2012/08/21 16:39:14 UTC

svn commit: r1375580 - in /lucene/dev/trunk: ./ lucene/ lucene/core/ lucene/core/src/java/org/apache/lucene/codecs/bloom/ lucene/core/src/java/org/apache/lucene/codecs/memory/ lucene/core/src/java/org/apache/lucene/index/ lucene/core/src/test/org/apach...

Author: rmuir
Date: Tue Aug 21 14:39:13 2012
New Revision: 1375580

URL: http://svn.apache.org/viewvc?rev=1375580&view=rev
Log:
LUCENE-4316: deprecate Fields.getUniqueTermCount, remove AtomicReader.getUniqueTermCount

Modified:
    lucene/dev/trunk/   (props changed)
    lucene/dev/trunk/lucene/   (props changed)
    lucene/dev/trunk/lucene/CHANGES.txt   (contents, props changed)
    lucene/dev/trunk/lucene/core/   (props changed)
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/bloom/BloomFilteringPostingsFormat.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/memory/DirectPostingsFormat.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/AtomicReader.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/CheckIndex.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/Fields.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/FilterAtomicReader.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/package.html
    lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReader.java
    lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecs.java
    lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingPostingsFormat.java

Modified: lucene/dev/trunk/lucene/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/CHANGES.txt?rev=1375580&r1=1375579&r2=1375580&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/CHANGES.txt (original)
+++ lucene/dev/trunk/lucene/CHANGES.txt Tue Aug 21 14:39:13 2012
@@ -55,6 +55,12 @@ API Changes
 * LUCENE-4307: Renamed IndexReader.getTopReaderContext to 
   IndexReader.getContext.  (Robert Muir)
 
+* LUCENE-4316: Deprecate Fields.getUniqueTermCount and remove it from
+  AtomicReader. If you really want the unique term count across all
+  fields, just sum up Terms.size() across those fields. This method
+  only exists so that this statistic can be accessed for Lucene 3.x 
+  segments, which don't support Terms.size().  (Uwe Schindler, Robert Muir)
+
 Bug Fixes
 
 * LUCENE-4297: BooleanScorer2 would multiply the coord() factor

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/bloom/BloomFilteringPostingsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/bloom/BloomFilteringPostingsFormat.java?rev=1375580&r1=1375579&r2=1375580&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/bloom/BloomFilteringPostingsFormat.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/bloom/BloomFilteringPostingsFormat.java Tue Aug 21 14:39:13 2012
@@ -211,10 +211,6 @@ public class BloomFilteringPostingsForma
       return delegateFieldsProducer.size();
     }
     
-    public long getUniqueTermCount() throws IOException {
-      return delegateFieldsProducer.getUniqueTermCount();
-    }
-    
     class BloomFilteredTerms extends Terms {
       private Terms delegateTerms;
       private FuzzySet filter;

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/memory/DirectPostingsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/memory/DirectPostingsFormat.java?rev=1375580&r1=1375579&r2=1375580&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/memory/DirectPostingsFormat.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/memory/DirectPostingsFormat.java Tue Aug 21 14:39:13 2012
@@ -145,15 +145,6 @@ public class DirectPostingsFormat extend
     }
 
     @Override
-    public long getUniqueTermCount() {
-      long numTerms = 0;      
-      for(DirectField field : fields.values()) {
-        numTerms += field.terms.length;
-      }
-      return numTerms;
-    }
-
-    @Override
     public void close() {
     }
   }

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/AtomicReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/AtomicReader.java?rev=1375580&r1=1375579&r2=1375580&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/AtomicReader.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/AtomicReader.java Tue Aug 21 14:39:13 2012
@@ -175,17 +175,6 @@ public abstract class AtomicReader exten
     }
     return null;
   }
-
-  /** Returns the number of unique terms (across all fields)
-   *  in this reader.
-   */
-  public final long getUniqueTermCount() throws IOException {
-    final Fields fields = fields();
-    if (fields == null) {
-      return 0;
-    }
-    return fields.getUniqueTermCount();
-  }
   
   /**
    * Returns {@link DocValues} for this field.

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/CheckIndex.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/CheckIndex.java?rev=1375580&r1=1375579&r2=1375580&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/CheckIndex.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/CheckIndex.java Tue Aug 21 14:39:13 2012
@@ -1112,21 +1112,6 @@ public class CheckIndex {
         throw new RuntimeException("fieldCount mismatch " + fieldCount + " vs recomputed field count " + computedFieldCount);
       }
     }
-    
-    // for most implementations, this is boring (just the sum across all fields)
-    // but codecs that don't work per-field like preflex actually implement this,
-    // but don't implement it on Terms, so the check isn't redundant.
-    long uniqueTermCountAllFields = fields.getUniqueTermCount();
-    
-    // this means something is seriously screwed, e.g. we are somehow getting enclosed in PFCW!!!!!!
-    
-    if (uniqueTermCountAllFields == -1) {
-      throw new RuntimeException("invalid termCount: -1");
-    }
-    
-    if (status.termCount != uniqueTermCountAllFields) {
-      throw new RuntimeException("termCount mismatch " + uniqueTermCountAllFields + " vs " + (status.termCount));
-    }
 
     if (doPrint) {
       msg("OK [" + status.termCount + " terms; " + status.totFreq + " terms/docs pairs; " + status.totPos + " tokens]");

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/Fields.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/Fields.java?rev=1375580&r1=1375579&r2=1375580&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/Fields.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/Fields.java Tue Aug 21 14:39:13 2012
@@ -38,26 +38,5 @@ public abstract class Fields implements 
    * {@link #iterator} will return as many field names. */
   public abstract int size();
   
-  /** Returns the number of terms for all fields, or -1 if this 
-   *  measure isn't stored by the codec. Note that, just like 
-   *  other term measures, this measure does not take deleted 
-   *  documents into account. */
-  // TODO: deprecate?
-  public long getUniqueTermCount() throws IOException {
-    long numTerms = 0;
-    for (String field : this) {
-      Terms terms = terms(field);
-      if (terms != null) {
-        final long termCount = terms.size();
-        if (termCount == -1) {
-          return -1;
-        }
-          
-        numTerms += termCount;
-      }
-    }
-    return numTerms;
-  }
-  
   public final static Fields[] EMPTY_ARRAY = new Fields[0];
 }

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/FilterAtomicReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/FilterAtomicReader.java?rev=1375580&r1=1375579&r2=1375580&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/FilterAtomicReader.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/FilterAtomicReader.java Tue Aug 21 14:39:13 2012
@@ -60,11 +60,6 @@ public class FilterAtomicReader extends 
     public int size() {
       return in.size();
     }
-
-    @Override
-    public long getUniqueTermCount() throws IOException {
-      return in.getUniqueTermCount();
-    }
   }
 
   /** Base class for filtering {@link Terms}

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/package.html
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/package.html?rev=1375580&r1=1375579&r2=1375580&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/package.html (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/package.html Tue Aug 21 14:39:13 2012
@@ -212,9 +212,6 @@ while ((docid = docsAndPositionsEnum.nex
            number of deleted documents in the index.
        <li>{@link org.apache.lucene.index.Fields#size}: Returns the number of indexed
            fields.
-       <li>{@link org.apache.lucene.index.Fields#getUniqueTermCount}: Returns the number 
-           of indexed terms, the sum of {@link org.apache.lucene.index.Terms#size}
-           across all fields.
     </ul>
 </p>
 <a name="documentstats"></a>

Modified: lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReader.java?rev=1375580&r1=1375579&r2=1375580&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReader.java (original)
+++ lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReader.java Tue Aug 21 14:39:13 2012
@@ -807,7 +807,8 @@ public void testFilesOpenClose() throws 
   
     DirectoryReader r = DirectoryReader.open(dir);
     AtomicReader r1 = getOnlySegmentReader(r);
-    assertEquals(36, r1.getUniqueTermCount());
+    assertEquals(26, r1.terms("field").size());
+    assertEquals(10, r1.terms("number").size());
     writer.addDocument(doc);
     writer.commit();
     DirectoryReader r2 = DirectoryReader.openIfChanged(r);
@@ -815,7 +816,8 @@ public void testFilesOpenClose() throws 
     r.close();
   
     for(AtomicReaderContext s : r2.leaves()) {
-      assertEquals(36, s.reader().getUniqueTermCount());
+      assertEquals(26, s.reader().terms("field").size());
+      assertEquals(10, s.reader().terms("number").size());
     }
     r2.close();
     writer.close();

Modified: lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecs.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecs.java?rev=1375580&r1=1375579&r2=1375580&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecs.java (original)
+++ lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecs.java Tue Aug 21 14:39:13 2012
@@ -191,10 +191,6 @@ public class TestDuelingCodecs extends L
     if (leftFields.size() != -1 && rightFields.size() != -1) {
       assertEquals(info, leftFields.size(), rightFields.size());
     }
-    
-    if (leftFields.getUniqueTermCount() != -1 && rightFields.getUniqueTermCount() != -1) {
-      assertEquals(info, leftFields.getUniqueTermCount(), rightFields.getUniqueTermCount());
-    }
   }
   
   /** 

Modified: lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingPostingsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingPostingsFormat.java?rev=1375580&r1=1375579&r2=1375580&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingPostingsFormat.java (original)
+++ lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingPostingsFormat.java Tue Aug 21 14:39:13 2012
@@ -86,11 +86,6 @@ public class AssertingPostingsFormat ext
     public int size() {
       return in.size();
     }
-
-    @Override
-    public long getUniqueTermCount() throws IOException {
-      return in.getUniqueTermCount();
-    }
   }
   
   static class AssertingFieldsConsumer extends FieldsConsumer {