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 2013/08/06 17:50:50 UTC
svn commit: r1511009 - in /lucene/dev/trunk/lucene: CHANGES.txt
core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsReader.java
core/src/test/org/apache/lucene/codecs/compressing/TestCompressingTermVectorsFormat.java
Author: rmuir
Date: Tue Aug 6 15:50:50 2013
New Revision: 1511009
URL: http://svn.apache.org/r1511009
Log:
LUCENE-5156: remove seek-by-ord from CompressingTermVectors
Modified:
lucene/dev/trunk/lucene/CHANGES.txt
lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsReader.java
lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestCompressingTermVectorsFormat.java
Modified: lucene/dev/trunk/lucene/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/CHANGES.txt?rev=1511009&r1=1511008&r2=1511009&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/CHANGES.txt (original)
+++ lucene/dev/trunk/lucene/CHANGES.txt Tue Aug 6 15:50:50 2013
@@ -146,6 +146,9 @@ API Changes
should match for its high and low frequent sub-queries. Previously this was only
supported on the low frequent terms query. (Simon Willnauer)
+* LUCENE-5156: CompressingTermVectors TermsEnum no longer supports ord().
+ (Robert Muir)
+
Optimizations
* LUCENE-5088: Added TermFilter to filter docs by a specific term.
Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsReader.java?rev=1511009&r1=1511008&r2=1511009&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsReader.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsReader.java Tue Aug 6 15:50:50 2013
@@ -851,16 +851,7 @@ public final class CompressingTermVector
@Override
public void seekExact(long ord) throws IOException {
- if (ord < -1 || ord >= numTerms) {
- throw new IOException("ord is out of range: ord=" + ord + ", numTerms=" + numTerms);
- }
- if (ord < this.ord) {
- reset();
- }
- for (int i = this.ord; i < ord; ++i) {
- next();
- }
- assert ord == this.ord();
+ throw new UnsupportedOperationException();
}
@Override
@@ -870,7 +861,7 @@ public final class CompressingTermVector
@Override
public long ord() throws IOException {
- return ord;
+ throw new UnsupportedOperationException();
}
@Override
Modified: lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestCompressingTermVectorsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestCompressingTermVectorsFormat.java?rev=1511009&r1=1511008&r2=1511009&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestCompressingTermVectorsFormat.java (original)
+++ lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestCompressingTermVectorsFormat.java Tue Aug 6 15:50:50 2013
@@ -1,7 +1,18 @@
package org.apache.lucene.codecs.compressing;
import org.apache.lucene.codecs.Codec;
+import org.apache.lucene.document.Document;
+import org.apache.lucene.document.Field;
+import org.apache.lucene.document.FieldType;
+import org.apache.lucene.document.TextField;
+import org.apache.lucene.index.AtomicReader;
import org.apache.lucene.index.BaseTermVectorsFormatTestCase;
+import org.apache.lucene.index.RandomIndexWriter;
+import org.apache.lucene.index.Terms;
+import org.apache.lucene.index.TermsEnum;
+import org.apache.lucene.index.TermsEnum.SeekStatus;
+import org.apache.lucene.store.Directory;
+import org.apache.lucene.util.BytesRef;
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
@@ -27,4 +38,35 @@ public class TestCompressingTermVectorsF
return CompressingCodec.randomInstance(random());
}
+ // https://issues.apache.org/jira/browse/LUCENE-5156
+ public void testNoOrds() throws Exception {
+ Directory dir = newDirectory();
+ RandomIndexWriter iw = new RandomIndexWriter(random(), dir);
+ Document doc = new Document();
+ FieldType ft = new FieldType(TextField.TYPE_NOT_STORED);
+ ft.setStoreTermVectors(true);
+ doc.add(new Field("foo", "this is a test", ft));
+ iw.addDocument(doc);
+ AtomicReader ir = getOnlySegmentReader(iw.getReader());
+ Terms terms = ir.getTermVector(0, "foo");
+ assertNotNull(terms);
+ TermsEnum termsEnum = terms.iterator(null);
+ assertEquals(SeekStatus.FOUND, termsEnum.seekCeil(new BytesRef("this")));
+ try {
+ termsEnum.ord();
+ fail();
+ } catch (UnsupportedOperationException expected) {
+ // expected exception
+ }
+
+ try {
+ termsEnum.seekExact(0);
+ fail();
+ } catch (UnsupportedOperationException expected) {
+ // expected exception
+ }
+ ir.close();
+ iw.close();
+ dir.close();
+ }
}