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/13 04:25:21 UTC
svn commit: r1372243 [2/2] - in /lucene/dev/trunk: lucene/
lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/
lucene/core/src/java/org/apache/lucene/codecs/
lucene/core/src/java/org/apache/lucene/codecs/bloom/
lucene/core/src/java/org/apache...
Modified: lucene/dev/trunk/lucene/misc/src/java/org/apache/lucene/misc/HighFreqTerms.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/misc/src/java/org/apache/lucene/misc/HighFreqTerms.java?rev=1372243&r1=1372242&r2=1372243&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/misc/src/java/org/apache/lucene/misc/HighFreqTerms.java (original)
+++ lucene/dev/trunk/lucene/misc/src/java/org/apache/lucene/misc/HighFreqTerms.java Mon Aug 13 02:25:19 2012
@@ -25,7 +25,6 @@ import org.apache.lucene.index.MultiFiel
import org.apache.lucene.index.Fields;
import org.apache.lucene.index.ReaderUtil;
import org.apache.lucene.index.TermsEnum;
-import org.apache.lucene.index.FieldsEnum;
import org.apache.lucene.index.Terms;
import org.apache.lucene.index.DocsEnum;
import org.apache.lucene.search.DocIdSetIterator;
@@ -133,16 +132,10 @@ public class HighFreqTerms {
throw new RuntimeException("no fields found for this index");
}
tiq = new TermStatsQueue(numTerms);
- FieldsEnum fieldsEnum = fields.iterator();
- while (true) {
- field = fieldsEnum.next();
- if (field != null) {
- Terms terms = fieldsEnum.terms();
- if (terms != null) {
- tiq.fill(field, terms.iterator(null));
- }
- } else {
- break;
+ for (String fieldName : fields) {
+ Terms terms = fields.terms(fieldName);
+ if (terms != null) {
+ tiq.fill(fieldName, terms.iterator(null));
}
}
}
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=1372243&r1=1372242&r2=1372243&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 Mon Aug 13 02:25:19 2012
@@ -19,6 +19,7 @@ package org.apache.lucene.codecs.asserti
import java.io.IOException;
import java.util.Comparator;
+import java.util.Iterator;
import org.apache.lucene.codecs.FieldsConsumer;
import org.apache.lucene.codecs.FieldsProducer;
@@ -30,7 +31,6 @@ import org.apache.lucene.codecs.lucene40
import org.apache.lucene.index.AssertingAtomicReader;
import org.apache.lucene.index.FieldInfo;
import org.apache.lucene.index.FieldInfo.IndexOptions;
-import org.apache.lucene.index.FieldsEnum;
import org.apache.lucene.index.SegmentReadState;
import org.apache.lucene.index.SegmentWriteState;
import org.apache.lucene.index.Terms;
@@ -70,10 +70,10 @@ public class AssertingPostingsFormat ext
}
@Override
- public FieldsEnum iterator() throws IOException {
- FieldsEnum iterator = in.iterator();
+ public Iterator<String> iterator() {
+ Iterator<String> iterator = in.iterator();
assert iterator != null;
- return new AssertingAtomicReader.AssertingFieldsEnum(iterator);
+ return iterator;
}
@Override
Modified: lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/codecs/ramonly/RAMOnlyPostingsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/codecs/ramonly/RAMOnlyPostingsFormat.java?rev=1372243&r1=1372242&r2=1372243&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/codecs/ramonly/RAMOnlyPostingsFormat.java (original)
+++ lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/codecs/ramonly/RAMOnlyPostingsFormat.java Mon Aug 13 02:25:19 2012
@@ -39,7 +39,6 @@ import org.apache.lucene.index.DocsAndPo
import org.apache.lucene.index.DocsEnum;
import org.apache.lucene.index.FieldInfo.IndexOptions;
import org.apache.lucene.index.FieldInfo;
-import org.apache.lucene.index.FieldsEnum;
import org.apache.lucene.index.IndexFileNames;
import org.apache.lucene.index.SegmentReadState;
import org.apache.lucene.index.SegmentWriteState;
@@ -50,6 +49,7 @@ import org.apache.lucene.store.IndexOutp
import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.IOUtils;
+import org.apache.lucene.util.UnmodifiableIterator;
/** Stores all postings data in RAM, but writes a small
* token (header + single int) to identify which "slot" the
@@ -112,8 +112,8 @@ public class RAMOnlyPostingsFormat exten
}
@Override
- public FieldsEnum iterator() {
- return new RAMFieldsEnum(this);
+ public Iterator<String> iterator() {
+ return new UnmodifiableIterator<String>(fieldToTerms.keySet().iterator());
}
@Override
@@ -303,33 +303,6 @@ public class RAMOnlyPostingsFormat exten
}
}
- // Classes for reading from the postings state
- static class RAMFieldsEnum extends FieldsEnum {
- private final RAMPostings postings;
- private final Iterator<String> it;
- private String current;
-
- public RAMFieldsEnum(RAMPostings postings) {
- this.postings = postings;
- this.it = postings.fieldToTerms.keySet().iterator();
- }
-
- @Override
- public String next() {
- if (it.hasNext()) {
- current = it.next();
- } else {
- current = null;
- }
- return current;
- }
-
- @Override
- public Terms terms() {
- return postings.fieldToTerms.get(current);
- }
- }
-
static class RAMTermsEnum extends TermsEnum {
Iterator<String> it;
String current;
Modified: lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/index/AssertingAtomicReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/index/AssertingAtomicReader.java?rev=1372243&r1=1372242&r2=1372243&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/index/AssertingAtomicReader.java (original)
+++ lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/index/AssertingAtomicReader.java Mon Aug 13 02:25:19 2012
@@ -1,6 +1,7 @@
package org.apache.lucene.index;
import java.io.IOException;
+import java.util.Iterator;
import org.apache.lucene.search.DocIdSetIterator;
import org.apache.lucene.util.Bits;
@@ -60,10 +61,10 @@ public class AssertingAtomicReader exten
}
@Override
- public FieldsEnum iterator() throws IOException {
- FieldsEnum fieldsEnum = super.iterator();
- assert fieldsEnum != null;
- return new AssertingFieldsEnum(fieldsEnum);
+ public Iterator<String> iterator() {
+ Iterator<String> iterator = super.iterator();
+ assert iterator != null;
+ return iterator;
}
@Override
@@ -74,21 +75,6 @@ public class AssertingAtomicReader exten
}
/**
- * Wraps a FieldsEnum but with additional asserts
- */
- public static class AssertingFieldsEnum extends FilterFieldsEnum {
- public AssertingFieldsEnum(FieldsEnum in) {
- super(in);
- }
-
- @Override
- public Terms terms() throws IOException {
- Terms terms = super.terms();
- return terms == null ? null : new AssertingTerms(terms);
- }
- }
-
- /**
* Wraps a Terms but with additional asserts
*/
public static class AssertingTerms extends FilterTerms {
Modified: lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/index/FieldFilterAtomicReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/index/FieldFilterAtomicReader.java?rev=1372243&r1=1372242&r2=1372243&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/index/FieldFilterAtomicReader.java (original)
+++ lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/index/FieldFilterAtomicReader.java Mon Aug 13 02:25:19 2012
@@ -19,6 +19,8 @@ package org.apache.lucene.index;
import java.io.IOException;
import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.NoSuchElementException;
import java.util.Set;
public final class FieldFilterAtomicReader extends FilterAtomicReader {
@@ -125,15 +127,16 @@ public final class FieldFilterAtomicRead
}
private class FieldFilterFields extends FilterFields {
+
public FieldFilterFields(Fields in) {
super(in);
}
@Override
- public int size() throws IOException {
+ public int size() {
// TODO: add faster implementation!
int c = 0;
- final FieldsEnum it = iterator();
+ final Iterator<String> it = iterator();
while (it.next() != null) {
c++;
}
@@ -141,16 +144,46 @@ public final class FieldFilterAtomicRead
}
@Override
- public FieldsEnum iterator() throws IOException {
- return new FilterFieldsEnum(super.iterator()) {
+ public Iterator<String> iterator() {
+ final Iterator<String> in = super.iterator();
+ return new Iterator<String>() {
+ String cached = null;
+
+ @Override
+ public String next() {
+ if (cached != null) {
+ String next = cached;
+ cached = null;
+ return next;
+ } else {
+ String next = doNext();
+ if (next == null) {
+ throw new NoSuchElementException();
+ } else {
+ return next;
+ }
+ }
+ }
+
@Override
- public String next() throws IOException {
- String f;
- while ((f = super.next()) != null) {
- if (hasField(f)) return f;
+ public boolean hasNext() {
+ return cached != null || (cached = doNext()) != null;
+ }
+
+ private String doNext() {
+ while (in.hasNext()) {
+ String field = in.next();
+ if (hasField(field)) {
+ return field;
+ }
}
return null;
- }
+ }
+
+ @Override
+ public void remove() {
+ throw new UnsupportedOperationException();
+ }
};
}
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/component/TermVectorComponent.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/component/TermVectorComponent.java?rev=1372243&r1=1372242&r2=1372243&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/component/TermVectorComponent.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/component/TermVectorComponent.java Mon Aug 13 02:25:19 2012
@@ -16,7 +16,6 @@ import java.util.Map.Entry;
import org.apache.lucene.index.DocsAndPositionsEnum;
import org.apache.lucene.index.FieldInfo;
import org.apache.lucene.index.Fields;
-import org.apache.lucene.index.FieldsEnum;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.StoredFieldVisitor;
import org.apache.lucene.index.Terms;
@@ -318,10 +317,8 @@ public class TermVectorComponent extends
} else {
// extract all fields
final Fields vectors = reader.getTermVectors(docId);
- final FieldsEnum fieldsEnum = vectors.iterator();
- String field;
- while((field = fieldsEnum.next()) != null) {
- Terms terms = fieldsEnum.terms();
+ for (String field : vectors) {
+ Terms terms = vectors.terms(field);
if (terms != null) {
termsEnum = terms.iterator(termsEnum);
mapOneVector(docNL, allFields, reader, docId, termsEnum, field);