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 2010/06/16 17:17:36 UTC
svn commit: r955257 [3/4] - in /lucene/dev/trunk: lucene/
lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/
lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/quality/utils/
lucene/contrib/demo/src/java/org/apache/l...
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReader.java?rev=955257&r1=955256&r2=955257&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReader.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReader.java Wed Jun 16 15:17:32 2010
@@ -55,6 +55,8 @@ import org.apache.lucene.store.NoSuchDir
import org.apache.lucene.store.RAMDirectory;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util._TestUtil;
+import org.apache.lucene.util.BytesRef;
+import org.apache.lucene.util.Bits;
public class TestIndexReader extends LuceneTestCase
{
@@ -287,22 +289,17 @@ public class TestIndexReader extends Luc
int expected)
throws IOException
{
- TermDocs tdocs = null;
-
- try {
- tdocs = reader.termDocs(term);
- assertNotNull(msg + ", null TermDocs", tdocs);
- int count = 0;
- while(tdocs.next()) {
- count++;
- }
- assertEquals(msg + ", count mismatch", expected, count);
-
- } finally {
- if (tdocs != null)
- tdocs.close();
+ DocsEnum tdocs = MultiFields.getTermDocsEnum(reader,
+ MultiFields.getDeletedDocs(reader),
+ term.field(),
+ new BytesRef(term.text()));
+ int count = 0;
+ if (tdocs != null) {
+ while(tdocs.nextDoc()!= tdocs.NO_MORE_DOCS) {
+ count++;
+ }
}
-
+ assertEquals(msg + ", count mismatch", expected, count);
}
public void testBasicDelete() throws IOException {
@@ -1348,21 +1345,26 @@ public class TestIndexReader extends Luc
}
// check dictionary and posting lists
- TermEnum enum1 = index1.terms();
- TermEnum enum2 = index2.terms();
- TermPositions tp1 = index1.termPositions();
- TermPositions tp2 = index2.termPositions();
- while(enum1.next()) {
- assertTrue(enum2.next());
- assertEquals("Different term in dictionary.", enum1.term(), enum2.term());
- tp1.seek(enum1.term());
- tp2.seek(enum1.term());
- while(tp1.next()) {
- assertTrue(tp2.next());
- assertEquals("Different doc id in postinglist of term " + enum1.term() + ".", tp1.doc(), tp2.doc());
- assertEquals("Different term frequence in postinglist of term " + enum1.term() + ".", tp1.freq(), tp2.freq());
- for (int i = 0; i < tp1.freq(); i++) {
- assertEquals("Different positions in postinglist of term " + enum1.term() + ".", tp1.nextPosition(), tp2.nextPosition());
+ FieldsEnum fenum1 = MultiFields.getFields(index1).iterator();
+ FieldsEnum fenum2 = MultiFields.getFields(index1).iterator();
+ String field1 = null;
+ Bits delDocs = MultiFields.getDeletedDocs(index1);
+ while((field1=fenum1.next()) != null) {
+ assertEquals("Different fields", field1, fenum2.next());
+ TermsEnum enum1 = fenum1.terms();
+ TermsEnum enum2 = fenum2.terms();
+ while(enum1.next() != null) {
+ assertEquals("Different terms", enum1.term(), enum2.next());
+ DocsAndPositionsEnum tp1 = enum1.docsAndPositions(delDocs, null);
+ DocsAndPositionsEnum tp2 = enum2.docsAndPositions(delDocs, null);
+
+ while(tp1.nextDoc() != DocsEnum.NO_MORE_DOCS) {
+ assertTrue(tp2.nextDoc() != DocsEnum.NO_MORE_DOCS);
+ assertEquals("Different doc id in postinglist of term " + enum1.term() + ".", tp1.docID(), tp2.docID());
+ assertEquals("Different term frequence in postinglist of term " + enum1.term() + ".", tp1.freq(), tp2.freq());
+ for (int i = 0; i < tp1.freq(); i++) {
+ assertEquals("Different positions in postinglist of term " + enum1.term() + ".", tp1.nextPosition(), tp2.nextPosition());
+ }
}
}
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReaderReopen.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReaderReopen.java?rev=955257&r1=955256&r2=955257&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReaderReopen.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReaderReopen.java Wed Jun 16 15:17:32 2010
@@ -863,8 +863,6 @@ public class TestIndexReaderReopen exten
assertReaderClosed(reader, true, true);
assertReaderClosed(firstReader, true, true);
- FlexTestUtil.verifyFlexVsPreFlex(rnd, dir);
-
dir.close();
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java?rev=955257&r1=955256&r2=955257&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java Wed Jun 16 15:17:32 2010
@@ -1379,8 +1379,11 @@ public class TestIndexWriter extends Luc
assertEquals(1, reader.numDocs());
Term t = new Term("field", "a");
assertEquals(1, reader.docFreq(t));
- TermDocs td = reader.termDocs(t);
- td.next();
+ DocsEnum td = MultiFields.getTermDocsEnum(reader,
+ MultiFields.getDeletedDocs(reader),
+ "field",
+ new BytesRef("a"));
+ td.nextDoc();
assertEquals(128*1024, td.freq());
reader.close();
dir.close();
@@ -1701,9 +1704,13 @@ public class TestIndexWriter extends Luc
// Make sure the doc that hit the exception was marked
// as deleted:
- TermDocs tdocs = reader.termDocs(t);
+ DocsEnum tdocs = MultiFields.getTermDocsEnum(reader,
+ MultiFields.getDeletedDocs(reader),
+ t.field(),
+ new BytesRef(t.text()));
+
int count = 0;
- while(tdocs.next()) {
+ while(tdocs.nextDoc() != DocsEnum.NO_MORE_DOCS) {
count++;
}
assertEquals(2, count);
@@ -2244,9 +2251,12 @@ public class TestIndexWriter extends Luc
// Quick test to make sure index is not corrupt:
IndexReader reader = IndexReader.open(dir, true);
- TermDocs tdocs = reader.termDocs(new Term("field", "aaa"));
+ DocsEnum tdocs = MultiFields.getTermDocsEnum(reader,
+ MultiFields.getDeletedDocs(reader),
+ "field",
+ new BytesRef("aaa"));
int count = 0;
- while(tdocs.next()) {
+ while(tdocs.nextDoc() != DocsEnum.NO_MORE_DOCS) {
count++;
}
assertTrue(count > 0);
@@ -3454,8 +3464,13 @@ public class TestIndexWriter extends Luc
Query q = new SpanTermQuery(new Term("field", "a"));
hits = s.search(q, null, 1000).scoreDocs;
assertEquals(1, hits.length);
- TermPositions tps = s.getIndexReader().termPositions(new Term("field", "a"));
- assertTrue(tps.next());
+
+ DocsAndPositionsEnum tps = MultiFields.getTermPositionsEnum(s.getIndexReader(),
+ MultiFields.getDeletedDocs(s.getIndexReader()),
+ "field",
+ new BytesRef("a"));
+
+ assertTrue(tps.nextDoc() != DocsEnum.NO_MORE_DOCS);
assertEquals(1, tps.freq());
assertEquals(0, tps.nextPosition());
w.close();
@@ -4465,12 +4480,12 @@ public class TestIndexWriter extends Luc
// test that the terms were indexed.
- assertTrue(ir.termDocs(new Term("binary","doc1field1")).next());
- assertTrue(ir.termDocs(new Term("binary","doc2field1")).next());
- assertTrue(ir.termDocs(new Term("binary","doc3field1")).next());
- assertTrue(ir.termDocs(new Term("string","doc1field2")).next());
- assertTrue(ir.termDocs(new Term("string","doc2field2")).next());
- assertTrue(ir.termDocs(new Term("string","doc3field2")).next());
+ assertTrue(MultiFields.getTermDocsEnum(ir, null, "binary", new BytesRef("doc1field1")).nextDoc() != DocsEnum.NO_MORE_DOCS);
+ assertTrue(MultiFields.getTermDocsEnum(ir, null, "binary", new BytesRef("doc2field1")).nextDoc() != DocsEnum.NO_MORE_DOCS);
+ assertTrue(MultiFields.getTermDocsEnum(ir, null, "binary", new BytesRef("doc3field1")).nextDoc() != DocsEnum.NO_MORE_DOCS);
+ assertTrue(MultiFields.getTermDocsEnum(ir, null, "string", new BytesRef("doc1field2")).nextDoc() != DocsEnum.NO_MORE_DOCS);
+ assertTrue(MultiFields.getTermDocsEnum(ir, null, "string", new BytesRef("doc2field2")).nextDoc() != DocsEnum.NO_MORE_DOCS);
+ assertTrue(MultiFields.getTermDocsEnum(ir, null, "string", new BytesRef("doc3field2")).nextDoc() != DocsEnum.NO_MORE_DOCS);
ir.close();
dir.close();
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java?rev=955257&r1=955256&r2=955257&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java Wed Jun 16 15:17:32 2010
@@ -38,6 +38,7 @@ import org.apache.lucene.store.MockRAMDi
import org.apache.lucene.store.AlreadyClosedException;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util._TestUtil;
+import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.ThreadInterruptedException;
public class TestIndexWriterReader extends LuceneTestCase {
@@ -63,12 +64,16 @@ public class TestIndexWriterReader exten
public static int count(Term t, IndexReader r) throws IOException {
int count = 0;
- TermDocs td = r.termDocs(t);
- while (td.next()) {
- td.doc();
- count++;
+ DocsEnum td = MultiFields.getTermDocsEnum(r,
+ MultiFields.getDeletedDocs(r),
+ t.field(), new BytesRef(t.text()));
+
+ if (td != null) {
+ while (td.nextDoc() != DocsEnum.NO_MORE_DOCS) {
+ td.docID();
+ count++;
+ }
}
- td.close();
return count;
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestLazyProxSkipping.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestLazyProxSkipping.java?rev=955257&r1=955256&r2=955257&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestLazyProxSkipping.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestLazyProxSkipping.java Wed Jun 16 15:17:32 2010
@@ -30,6 +30,7 @@ import org.apache.lucene.store.Directory
import org.apache.lucene.store.IndexInput;
import org.apache.lucene.store.RAMDirectory;
import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.util.BytesRef;
/**
* Tests lazy skipping on the proximity file.
@@ -127,17 +128,26 @@ public class TestLazyProxSkipping extend
writer.close();
IndexReader reader = IndexReader.open(directory, true);
- TermPositions tp = reader.termPositions();
- tp.seek(new Term(this.field, "b"));
+
+ DocsAndPositionsEnum tp = MultiFields.getTermPositionsEnum(reader,
+ MultiFields.getDeletedDocs(reader),
+ this.field,
+ new BytesRef("b"));
+
for (int i = 0; i < 10; i++) {
- tp.next();
- assertEquals(tp.doc(), i);
+ tp.nextDoc();
+ assertEquals(tp.docID(), i);
assertEquals(tp.nextPosition(), 1);
}
- tp.seek(new Term(this.field, "a"));
+
+ tp = MultiFields.getTermPositionsEnum(reader,
+ MultiFields.getDeletedDocs(reader),
+ this.field,
+ new BytesRef("a"));
+
for (int i = 0; i < 10; i++) {
- tp.next();
- assertEquals(tp.doc(), i);
+ tp.nextDoc();
+ assertEquals(tp.docID(), i);
assertEquals(tp.nextPosition(), 0);
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java?rev=955257&r1=955256&r2=955257&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java Wed Jun 16 15:17:32 2010
@@ -21,7 +21,6 @@ import java.io.IOException;
import java.io.Reader;
import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.analysis.TokenFilter;
import org.apache.lucene.analysis.TokenStream;
@@ -34,6 +33,7 @@ import org.apache.lucene.store.Directory
import org.apache.lucene.store.IndexInput;
import org.apache.lucene.store.MockRAMDirectory;
import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.util.BytesRef;
/**
* This testcase tests whether multi-level skipping is being used
@@ -68,11 +68,12 @@ public class TestMultiLevelSkipList exte
writer.close();
IndexReader reader = SegmentReader.getOnlySegmentReader(dir);
- TermPositions tp = reader.termPositions();
for (int i = 0; i < 2; i++) {
counter = 0;
- tp.seek(term);
+ DocsAndPositionsEnum tp = reader.termPositionsEnum(reader.getDeletedDocs(),
+ term.field(),
+ new BytesRef(term.text()));
checkSkipTo(tp, 14, 185); // no skips
checkSkipTo(tp, 17, 190); // one skip on level 0
@@ -84,18 +85,18 @@ public class TestMultiLevelSkipList exte
}
}
- public void checkSkipTo(TermPositions tp, int target, int maxCounter) throws IOException {
- tp.skipTo(target);
+ public void checkSkipTo(DocsAndPositionsEnum tp, int target, int maxCounter) throws IOException {
+ tp.advance(target);
if (maxCounter < counter) {
fail("Too many bytes read: " + counter);
}
- assertEquals("Wrong document " + tp.doc() + " after skipTo target " + target, target, tp.doc());
+ assertEquals("Wrong document " + tp.docID() + " after skipTo target " + target, target, tp.docID());
assertEquals("Frequency is not 1: " + tp.freq(), 1,tp.freq());
tp.nextPosition();
- byte[] b = new byte[1];
- tp.getPayload(b, 0);
- assertEquals("Wrong payload for the target " + target + ": " + b[0], (byte) target, b[0]);
+ BytesRef b = tp.getPayload();
+ assertEquals(1, b.length);
+ assertEquals("Wrong payload for the target " + target + ": " + b.bytes[b.offset], (byte) target, b.bytes[b.offset]);
}
private static class PayloadAnalyzer extends Analyzer {
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestOmitTf.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestOmitTf.java?rev=955257&r1=955256&r2=955257&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestOmitTf.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestOmitTf.java Wed Jun 16 15:17:32 2010
@@ -19,7 +19,6 @@ package org.apache.lucene.index;
import java.io.IOException;
import java.util.Collection;
-import java.util.Random;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util._TestUtil;
@@ -87,10 +86,7 @@ public class TestOmitTf extends LuceneTe
f2.setOmitTermFreqAndPositions(false);
d.add(f2);
- Random rnd = newRandom();
-
writer.addDocument(d);
- FlexTestUtil.verifyFlexVsPreFlex(rnd, writer);
// force merge
writer.optimize();
@@ -98,8 +94,6 @@ public class TestOmitTf extends LuceneTe
writer.close();
_TestUtil.checkIndex(ram);
- FlexTestUtil.verifyFlexVsPreFlex(rnd, ram);
-
SegmentReader reader = SegmentReader.getOnlySegmentReader(ram);
FieldInfos fi = reader.fieldInfos();
assertTrue("OmitTermFreqAndPositions field bit should be set.", fi.fieldInfo("f1").omitTermFreqAndPositions);
@@ -145,12 +139,8 @@ public class TestOmitTf extends LuceneTe
for(int i=0;i<30;i++)
writer.addDocument(d);
- Random rnd = newRandom();
- FlexTestUtil.verifyFlexVsPreFlex(rnd, writer);
-
// force merge
writer.optimize();
- FlexTestUtil.verifyFlexVsPreFlex(rnd, writer);
// flush
writer.close();
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestParallelReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestParallelReader.java?rev=955257&r1=955256&r2=955257&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestParallelReader.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestParallelReader.java Wed Jun 16 15:17:32 2010
@@ -195,26 +195,6 @@ public class TestParallelReader extends
}
- public void testAllTermDocs() throws IOException {
- Directory dir1 = getDir1();
- Directory dir2 = getDir2();
- ParallelReader pr = new ParallelReader();
- pr.add(IndexReader.open(dir1, false));
- pr.add(IndexReader.open(dir2, false));
- int NUM_DOCS = 2;
- TermDocs td = pr.termDocs(null);
- for(int i=0;i<NUM_DOCS;i++) {
- assertTrue(td.next());
- assertEquals(i, td.doc());
- assertEquals(1, td.freq());
- }
- td.close();
- pr.close();
- dir1.close();
- dir2.close();
- }
-
-
private void queryTest(Query query) throws IOException {
ScoreDoc[] parallelHits = parallel.search(query, null, 1000).scoreDocs;
ScoreDoc[] singleHits = single.search(query, null, 1000).scoreDocs;
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestParallelTermEnum.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestParallelTermEnum.java?rev=955257&r1=955256&r2=955257&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestParallelTermEnum.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestParallelTermEnum.java Wed Jun 16 15:17:32 2010
@@ -26,6 +26,7 @@ import org.apache.lucene.document.Field;
import org.apache.lucene.document.Field.Index;
import org.apache.lucene.document.Field.Store;
import org.apache.lucene.store.RAMDirectory;
+import org.apache.lucene.util.Bits;
public class TestParallelTermEnum extends LuceneTestCase {
private IndexReader ir1;
@@ -77,105 +78,123 @@ public class TestParallelTermEnum extend
pr.add(ir1);
pr.add(ir2);
- TermDocs td = pr.termDocs();
+ Bits delDocs = pr.getDeletedDocs();
- TermEnum te = pr.terms();
- assertTrue(te.next());
- assertEquals("field1:brown", te.term().toString());
- td.seek(te.term());
- assertTrue(td.next());
- assertEquals(0, td.doc());
- assertFalse(td.next());
- assertTrue(te.next());
- assertEquals("field1:fox", te.term().toString());
- td.seek(te.term());
- assertTrue(td.next());
- assertEquals(0, td.doc());
- assertFalse(td.next());
- assertTrue(te.next());
- assertEquals("field1:jumps", te.term().toString());
- td.seek(te.term());
- assertTrue(td.next());
- assertEquals(0, td.doc());
- assertFalse(td.next());
- assertTrue(te.next());
- assertEquals("field1:quick", te.term().toString());
- td.seek(te.term());
- assertTrue(td.next());
- assertEquals(0, td.doc());
- assertFalse(td.next());
- assertTrue(te.next());
- assertEquals("field1:the", te.term().toString());
- td.seek(te.term());
- assertTrue(td.next());
- assertEquals(0, td.doc());
- assertFalse(td.next());
- assertTrue(te.next());
- assertEquals("field2:brown", te.term().toString());
- td.seek(te.term());
- assertTrue(td.next());
- assertEquals(0, td.doc());
- assertFalse(td.next());
- assertTrue(te.next());
- assertEquals("field2:fox", te.term().toString());
- td.seek(te.term());
- assertTrue(td.next());
- assertEquals(0, td.doc());
- assertFalse(td.next());
- assertTrue(te.next());
- assertEquals("field2:jumps", te.term().toString());
- td.seek(te.term());
- assertTrue(td.next());
- assertEquals(0, td.doc());
- assertFalse(td.next());
- assertTrue(te.next());
- assertEquals("field2:quick", te.term().toString());
- td.seek(te.term());
- assertTrue(td.next());
- assertEquals(0, td.doc());
- assertFalse(td.next());
- assertTrue(te.next());
- assertEquals("field2:the", te.term().toString());
- td.seek(te.term());
- assertTrue(td.next());
- assertEquals(0, td.doc());
- assertFalse(td.next());
- assertTrue(te.next());
- assertEquals("field3:dog", te.term().toString());
- td.seek(te.term());
- assertTrue(td.next());
- assertEquals(0, td.doc());
- assertFalse(td.next());
- assertTrue(te.next());
- assertEquals("field3:fox", te.term().toString());
- td.seek(te.term());
- assertTrue(td.next());
- assertEquals(0, td.doc());
- assertFalse(td.next());
- assertTrue(te.next());
- assertEquals("field3:jumps", te.term().toString());
- td.seek(te.term());
- assertTrue(td.next());
- assertEquals(0, td.doc());
- assertFalse(td.next());
- assertTrue(te.next());
- assertEquals("field3:lazy", te.term().toString());
- td.seek(te.term());
- assertTrue(td.next());
- assertEquals(0, td.doc());
- assertFalse(td.next());
- assertTrue(te.next());
- assertEquals("field3:over", te.term().toString());
- td.seek(te.term());
- assertTrue(td.next());
- assertEquals(0, td.doc());
- assertFalse(td.next());
- assertTrue(te.next());
- assertEquals("field3:the", te.term().toString());
- td.seek(te.term());
- assertTrue(td.next());
- assertEquals(0, td.doc());
- assertFalse(td.next());
- assertFalse(te.next());
+ FieldsEnum fe = pr.fields().iterator();
+
+ String f = fe.next();
+ assertEquals("field0", f);
+ f = fe.next();
+ assertEquals("field1", f);
+
+ TermsEnum te = fe.terms();
+
+ assertEquals("brown", te.next().utf8ToString());
+ DocsEnum td = te.docs(delDocs, null);
+ assertTrue(td.nextDoc() != DocsEnum.NO_MORE_DOCS);
+ assertEquals(0, td.docID());
+ assertEquals(td.nextDoc(), DocsEnum.NO_MORE_DOCS);
+
+ assertEquals("fox", te.next().utf8ToString());
+ td = te.docs(delDocs, td);
+ assertTrue(td.nextDoc() != DocsEnum.NO_MORE_DOCS);
+ assertEquals(0, td.docID());
+ assertEquals(td.nextDoc(), DocsEnum.NO_MORE_DOCS);
+
+ assertEquals("jumps", te.next().utf8ToString());
+ td = te.docs(delDocs, td);
+ assertTrue(td.nextDoc() != DocsEnum.NO_MORE_DOCS);
+ assertEquals(0, td.docID());
+ assertEquals(td.nextDoc(), DocsEnum.NO_MORE_DOCS);
+
+ assertEquals("quick", te.next().utf8ToString());
+ td = te.docs(delDocs, td);
+ assertTrue(td.nextDoc() != DocsEnum.NO_MORE_DOCS);
+ assertEquals(0, td.docID());
+ assertEquals(td.nextDoc(), DocsEnum.NO_MORE_DOCS);
+
+ assertEquals("the", te.next().utf8ToString());
+ td = te.docs(delDocs, td);
+ assertTrue(td.nextDoc() != DocsEnum.NO_MORE_DOCS);
+ assertEquals(0, td.docID());
+ assertEquals(td.nextDoc(), DocsEnum.NO_MORE_DOCS);
+
+ assertNull(te.next());
+ f = fe.next();
+ assertEquals("field2", f);
+ te = fe.terms();
+
+ assertEquals("brown", te.next().utf8ToString());
+ td = te.docs(delDocs, td);
+ assertTrue(td.nextDoc() != DocsEnum.NO_MORE_DOCS);
+ assertEquals(0, td.docID());
+ assertEquals(td.nextDoc(), DocsEnum.NO_MORE_DOCS);
+
+ assertEquals("fox", te.next().utf8ToString());
+ td = te.docs(delDocs, td);
+ assertTrue(td.nextDoc() != DocsEnum.NO_MORE_DOCS);
+ assertEquals(0, td.docID());
+ assertEquals(td.nextDoc(), DocsEnum.NO_MORE_DOCS);
+
+ assertEquals("jumps", te.next().utf8ToString());
+ td = te.docs(delDocs, td);
+ assertTrue(td.nextDoc() != DocsEnum.NO_MORE_DOCS);
+ assertEquals(0, td.docID());
+ assertEquals(td.nextDoc(), DocsEnum.NO_MORE_DOCS);
+
+ assertEquals("quick", te.next().utf8ToString());
+ td = te.docs(delDocs, td);
+ assertTrue(td.nextDoc() != DocsEnum.NO_MORE_DOCS);
+ assertEquals(0, td.docID());
+ assertEquals(td.nextDoc(), DocsEnum.NO_MORE_DOCS);
+
+ assertEquals("the", te.next().utf8ToString());
+ td = te.docs(delDocs, td);
+ assertTrue(td.nextDoc() != DocsEnum.NO_MORE_DOCS);
+ assertEquals(0, td.docID());
+ assertEquals(td.nextDoc(), DocsEnum.NO_MORE_DOCS);
+
+ assertNull(te.next());
+ f = fe.next();
+ assertEquals("field3", f);
+ te = fe.terms();
+
+ assertEquals("dog", te.next().utf8ToString());
+ td = te.docs(delDocs, td);
+ assertTrue(td.nextDoc() != DocsEnum.NO_MORE_DOCS);
+ assertEquals(0, td.docID());
+ assertEquals(td.nextDoc(), DocsEnum.NO_MORE_DOCS);
+
+ assertEquals("fox", te.next().utf8ToString());
+ td = te.docs(delDocs, td);
+ assertTrue(td.nextDoc() != DocsEnum.NO_MORE_DOCS);
+ assertEquals(0, td.docID());
+ assertEquals(td.nextDoc(), DocsEnum.NO_MORE_DOCS);
+
+ assertEquals("jumps", te.next().utf8ToString());
+ td = te.docs(delDocs, td);
+ assertTrue(td.nextDoc() != DocsEnum.NO_MORE_DOCS);
+ assertEquals(0, td.docID());
+ assertEquals(td.nextDoc(), DocsEnum.NO_MORE_DOCS);
+
+ assertEquals("lazy", te.next().utf8ToString());
+ td = te.docs(delDocs, td);
+ assertTrue(td.nextDoc() != DocsEnum.NO_MORE_DOCS);
+ assertEquals(0, td.docID());
+ assertEquals(td.nextDoc(), DocsEnum.NO_MORE_DOCS);
+
+ assertEquals("over", te.next().utf8ToString());
+ td = te.docs(delDocs, td);
+ assertTrue(td.nextDoc() != DocsEnum.NO_MORE_DOCS);
+ assertEquals(0, td.docID());
+ assertEquals(td.nextDoc(), DocsEnum.NO_MORE_DOCS);
+
+ assertEquals("the", te.next().utf8ToString());
+ td = te.docs(delDocs, td);
+ assertTrue(td.nextDoc() != DocsEnum.NO_MORE_DOCS);
+ assertEquals(0, td.docID());
+ assertEquals(td.nextDoc(), DocsEnum.NO_MORE_DOCS);
+
+ assertNull(te.next());
}
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestPayloads.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestPayloads.java?rev=955257&r1=955256&r2=955257&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestPayloads.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestPayloads.java Wed Jun 16 15:17:32 2010
@@ -41,6 +41,7 @@ import org.apache.lucene.store.Directory
import org.apache.lucene.store.FSDirectory;
import org.apache.lucene.store.MockRAMDirectory;
import org.apache.lucene.util.BytesRef;
+import org.apache.lucene.util.Bits;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.UnicodeUtil;
import org.apache.lucene.util._TestUtil;
@@ -141,8 +142,6 @@ public class TestPayloads extends Lucene
analyzer.setPayloadData("f3", "somedata".getBytes(), 0, 3);
writer.addDocument(d);
- FlexTestUtil.verifyFlexVsPreFlex(rnd, writer);
-
// force merge
writer.optimize();
// flush
@@ -154,7 +153,6 @@ public class TestPayloads extends Lucene
assertTrue("Payload field bit should be set.", fi.fieldInfo("f2").storePayloads);
assertTrue("Payload field bit should be set.", fi.fieldInfo("f3").storePayloads);
reader.close();
- FlexTestUtil.verifyFlexVsPreFlex(rnd, ram);
}
// Tests if payloads are correctly stored and loaded using both RamDirectory and FSDirectory
@@ -220,9 +218,7 @@ public class TestPayloads extends Lucene
writer.addDocument(d);
}
- FlexTestUtil.verifyFlexVsPreFlex(rnd, writer);
writer.optimize();
- FlexTestUtil.verifyFlexVsPreFlex(rnd, writer);
// flush
writer.close();
@@ -232,83 +228,87 @@ public class TestPayloads extends Lucene
* first we test if all payloads are stored correctly
*/
IndexReader reader = IndexReader.open(dir, true);
-
+
byte[] verifyPayloadData = new byte[payloadDataLength];
offset = 0;
- TermPositions[] tps = new TermPositions[numTerms];
+ DocsAndPositionsEnum[] tps = new DocsAndPositionsEnum[numTerms];
for (int i = 0; i < numTerms; i++) {
- tps[i] = reader.termPositions(terms[i]);
+ tps[i] = MultiFields.getTermPositionsEnum(reader,
+ MultiFields.getDeletedDocs(reader),
+ terms[i].field(),
+ new BytesRef(terms[i].text()));
}
- while (tps[0].next()) {
+ while (tps[0].nextDoc() != DocsEnum.NO_MORE_DOCS) {
for (int i = 1; i < numTerms; i++) {
- tps[i].next();
+ tps[i].nextDoc();
}
int freq = tps[0].freq();
for (int i = 0; i < freq; i++) {
for (int j = 0; j < numTerms; j++) {
tps[j].nextPosition();
- tps[j].getPayload(verifyPayloadData, offset);
- offset += tps[j].getPayloadLength();
+ BytesRef br = tps[j].getPayload();
+ System.arraycopy(br.bytes, br.offset, verifyPayloadData, offset, br.length);
+ offset += br.length;
}
}
}
- for (int i = 0; i < numTerms; i++) {
- tps[i].close();
- }
-
assertByteArrayEquals(payloadData, verifyPayloadData);
/*
* test lazy skipping
*/
- TermPositions tp = reader.termPositions(terms[0]);
- tp.next();
+ DocsAndPositionsEnum tp = MultiFields.getTermPositionsEnum(reader,
+ MultiFields.getDeletedDocs(reader),
+ terms[0].field(),
+ new BytesRef(terms[0].text()));
+ tp.nextDoc();
tp.nextPosition();
// NOTE: prior rev of this test was failing to first
// call next here:
- tp.next();
+ tp.nextDoc();
// now we don't read this payload
tp.nextPosition();
- assertEquals("Wrong payload length.", 1, tp.getPayloadLength());
- byte[] payload = tp.getPayload(null, 0);
- assertEquals(payload[0], payloadData[numTerms]);
- // NOTE: prior rev of this test was failing to first
- // call next here:
- tp.next();
+ BytesRef payload = tp.getPayload();
+ assertEquals("Wrong payload length.", 1, payload.length);
+ assertEquals(payload.bytes[payload.offset], payloadData[numTerms]);
+ tp.nextDoc();
tp.nextPosition();
// we don't read this payload and skip to a different document
- tp.skipTo(5);
+ tp.advance(5);
tp.nextPosition();
- assertEquals("Wrong payload length.", 1, tp.getPayloadLength());
- payload = tp.getPayload(null, 0);
- assertEquals(payload[0], payloadData[5 * numTerms]);
+ payload = tp.getPayload();
+ assertEquals("Wrong payload length.", 1, payload.length);
+ assertEquals(payload.bytes[payload.offset], payloadData[5 * numTerms]);
/*
* Test different lengths at skip points
*/
- tp.seek(terms[1]);
- tp.next();
+ tp = MultiFields.getTermPositionsEnum(reader,
+ MultiFields.getDeletedDocs(reader),
+ terms[1].field(),
+ new BytesRef(terms[1].text()));
+ tp.nextDoc();
tp.nextPosition();
- assertEquals("Wrong payload length.", 1, tp.getPayloadLength());
- tp.skipTo(skipInterval - 1);
+ assertEquals("Wrong payload length.", 1, tp.getPayload().length);
+ tp.advance(skipInterval - 1);
tp.nextPosition();
- assertEquals("Wrong payload length.", 1, tp.getPayloadLength());
- tp.skipTo(2 * skipInterval - 1);
+ assertEquals("Wrong payload length.", 1, tp.getPayload().length);
+ tp.advance(2 * skipInterval - 1);
tp.nextPosition();
- assertEquals("Wrong payload length.", 1, tp.getPayloadLength());
- tp.skipTo(3 * skipInterval - 1);
+ assertEquals("Wrong payload length.", 1, tp.getPayload().length);
+ tp.advance(3 * skipInterval - 1);
tp.nextPosition();
- assertEquals("Wrong payload length.", 3 * skipInterval - 2 * numDocs - 1, tp.getPayloadLength());
+ assertEquals("Wrong payload length.", 3 * skipInterval - 2 * numDocs - 1, tp.getPayload().length);
/*
* Test multiple call of getPayload()
*/
- tp.getPayload(null, 0);
+ assertFalse(tp.hasPayload());
reader.close();
@@ -326,23 +326,24 @@ public class TestPayloads extends Lucene
writer.addDocument(d);
- FlexTestUtil.verifyFlexVsPreFlex(rnd, writer);
writer.optimize();
- FlexTestUtil.verifyFlexVsPreFlex(rnd, writer);
// flush
writer.close();
reader = IndexReader.open(dir, true);
- tp = reader.termPositions(new Term(fieldName, singleTerm));
- tp.next();
+ tp = MultiFields.getTermPositionsEnum(reader,
+ MultiFields.getDeletedDocs(reader),
+ fieldName,
+ new BytesRef(singleTerm));
+ tp.nextDoc();
tp.nextPosition();
-
- verifyPayloadData = new byte[tp.getPayloadLength()];
- tp.getPayload(verifyPayloadData, 0);
+
+ BytesRef br = tp.getPayload();
+ verifyPayloadData = new byte[br.length];
byte[] portion = new byte[1500];
System.arraycopy(payloadData, 100, portion, 0, 1500);
- assertByteArrayEquals(portion, verifyPayloadData);
+ assertByteArrayEquals(portion, br.bytes, br.offset, br.length);
reader.close();
}
@@ -389,6 +390,18 @@ public class TestPayloads extends Lucene
}
}
+ void assertByteArrayEquals(byte[] b1, byte[] b2, int b2offset, int b2length) {
+ if (b1.length != b2length) {
+ fail("Byte arrays have different lengths: " + b1.length + ", " + b2length);
+ }
+
+ for (int i = 0; i < b1.length; i++) {
+ if (b1[i] != b2[b2offset+i]) {
+ fail("Byte arrays different at index " + i + ": " + b1[i] + ", " + b2[b2offset+i]);
+ }
+ }
+ }
+
/**
* This Analyzer uses an WhitespaceTokenizer and PayloadFilter.
@@ -506,19 +519,20 @@ public class TestPayloads extends Lucene
}
writer.close();
IndexReader reader = IndexReader.open(dir, true);
- TermEnum terms = reader.terms();
- while (terms.next()) {
- TermPositions tp = reader.termPositions(terms.term());
- while(tp.next()) {
- int freq = tp.freq();
- for (int i = 0; i < freq; i++) {
- tp.nextPosition();
- assertEquals(pool.bytesToString(tp.getPayload(new byte[5], 0)), terms.term().text);
- }
+ TermsEnum terms = MultiFields.getFields(reader).terms(field).iterator();
+ Bits delDocs = MultiFields.getDeletedDocs(reader);
+ DocsAndPositionsEnum tp = null;
+ while (terms.next() != null) {
+ String termText = terms.term().utf8ToString();
+ tp = terms.docsAndPositions(delDocs, tp);
+ while(tp.nextDoc() != DocsEnum.NO_MORE_DOCS) {
+ int freq = tp.freq();
+ for (int i = 0; i < freq; i++) {
+ tp.nextPosition();
+ assertEquals(tp.getPayload().utf8ToString(), termText);
}
- tp.close();
+ }
}
- terms.close();
reader.close();
assertEquals(pool.size(), numThreads);
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java?rev=955257&r1=955256&r2=955257&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java Wed Jun 16 15:17:32 2010
@@ -23,6 +23,7 @@ import org.apache.lucene.store.Directory
import org.apache.lucene.store.RAMDirectory;
import org.apache.lucene.document.Document;
import org.apache.lucene.index.codecs.CodecProvider;
+import org.apache.lucene.util.BytesRef;
import java.io.IOException;
import java.util.Collection;
@@ -85,9 +86,12 @@ public class TestSegmentMerger extends L
assertTrue(newDoc2 != null);
assertTrue(DocHelper.numFields(newDoc2) == DocHelper.numFields(doc2) - DocHelper.unstored.size());
- TermDocs termDocs = mergedReader.termDocs(new Term(DocHelper.TEXT_FIELD_2_KEY, "field"));
+ DocsEnum termDocs = MultiFields.getTermDocsEnum(mergedReader,
+ MultiFields.getDeletedDocs(mergedReader),
+ DocHelper.TEXT_FIELD_2_KEY,
+ new BytesRef("field"));
assertTrue(termDocs != null);
- assertTrue(termDocs.next() == true);
+ assertTrue(termDocs.nextDoc() != DocsEnum.NO_MORE_DOCS);
Collection<String> stored = mergedReader.getFieldNames(IndexReader.FieldOption.INDEXED_WITH_TERMVECTOR);
assertTrue(stored != null);
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestSegmentReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestSegmentReader.java?rev=955257&r1=955256&r2=955257&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestSegmentReader.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestSegmentReader.java Wed Jun 16 15:17:32 2010
@@ -23,6 +23,7 @@ import java.util.Iterator;
import java.util.List;
import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.util.BytesRef;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Fieldable;
@@ -113,33 +114,40 @@ public class TestSegmentReader extends L
}
public void testTerms() throws IOException {
- TermEnum terms = reader.terms();
- assertTrue(terms != null);
- while (terms.next() == true)
- {
- Term term = terms.term();
- assertTrue(term != null);
- //System.out.println("Term: " + term);
- String fieldValue = (String)DocHelper.nameValues.get(term.field());
- assertTrue(fieldValue.indexOf(term.text()) != -1);
+ FieldsEnum fields = MultiFields.getFields(reader).iterator();
+ String field;
+ while((field = fields.next()) != null) {
+ TermsEnum terms = fields.terms();
+ while(terms.next() != null) {
+ BytesRef term = terms.term();
+ assertTrue(term != null);
+ String fieldValue = (String) DocHelper.nameValues.get(field);
+ assertTrue(fieldValue.indexOf(term.utf8ToString()) != -1);
+ }
}
- TermDocs termDocs = reader.termDocs();
- assertTrue(termDocs != null);
- termDocs.seek(new Term(DocHelper.TEXT_FIELD_1_KEY, "field"));
- assertTrue(termDocs.next() == true);
+ DocsEnum termDocs = MultiFields.getTermDocsEnum(reader,
+ MultiFields.getDeletedDocs(reader),
+ DocHelper.TEXT_FIELD_1_KEY,
+ new BytesRef("field"));
+ assertTrue(termDocs.nextDoc() != DocsEnum.NO_MORE_DOCS);
+
+ termDocs = MultiFields.getTermDocsEnum(reader,
+ MultiFields.getDeletedDocs(reader),
+ DocHelper.NO_NORMS_KEY,
+ new BytesRef(DocHelper.NO_NORMS_TEXT));
- termDocs.seek(new Term(DocHelper.NO_NORMS_KEY, DocHelper.NO_NORMS_TEXT));
- assertTrue(termDocs.next() == true);
+ assertTrue(termDocs.nextDoc() != DocsEnum.NO_MORE_DOCS);
- TermPositions positions = reader.termPositions();
- assertTrue(positions != null);
- positions.seek(new Term(DocHelper.TEXT_FIELD_1_KEY, "field"));
+ DocsAndPositionsEnum positions = MultiFields.getTermPositionsEnum(reader,
+ MultiFields.getDeletedDocs(reader),
+ DocHelper.TEXT_FIELD_1_KEY,
+ new BytesRef("field"));
// NOTE: prior rev of this test was failing to first
// call next here:
- assertTrue(positions.next());
- assertTrue(positions.doc() == 0);
+ assertTrue(positions.nextDoc() != DocsEnum.NO_MORE_DOCS);
+ assertTrue(positions.docID() == 0);
assertTrue(positions.nextPosition() >= 0);
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestSegmentTermDocs.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestSegmentTermDocs.java?rev=955257&r1=955256&r2=955257&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestSegmentTermDocs.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestSegmentTermDocs.java Wed Jun 16 15:17:32 2010
@@ -24,6 +24,7 @@ import org.apache.lucene.store.Directory
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
+import org.apache.lucene.util.BytesRef;
import java.io.IOException;
@@ -56,11 +57,12 @@ public class TestSegmentTermDocs extends
SegmentReader reader = SegmentReader.get(true, info, indexDivisor);
assertTrue(reader != null);
assertEquals(indexDivisor, reader.getTermInfosIndexDivisor());
- TermDocs termDocs = reader.termDocs();
- assertTrue(termDocs != null);
- termDocs.seek(new Term(DocHelper.TEXT_FIELD_2_KEY, "field"));
- if (termDocs.next() == true) {
- int docId = termDocs.doc();
+
+ TermsEnum terms = reader.fields().terms(DocHelper.TEXT_FIELD_2_KEY).iterator();
+ terms.seek(new BytesRef("field"));
+ DocsEnum termDocs = terms.docs(reader.getDeletedDocs(), null);
+ if (termDocs.nextDoc() != DocsEnum.NO_MORE_DOCS) {
+ int docId = termDocs.docID();
assertTrue(docId == 0);
int freq = termDocs.freq();
assertTrue(freq == 3);
@@ -77,20 +79,21 @@ public class TestSegmentTermDocs extends
//After adding the document, we should be able to read it back in
SegmentReader reader = SegmentReader.get(true, info, indexDivisor);
assertTrue(reader != null);
- TermDocs termDocs = reader.termDocs();
- assertTrue(termDocs != null);
- termDocs.seek(new Term("textField2", "bad"));
- assertTrue(termDocs.next() == false);
+ DocsEnum termDocs = reader.termDocsEnum(reader.getDeletedDocs(),
+ "textField2",
+ new BytesRef("bad"));
+
+ assertNull(termDocs);
reader.close();
}
{
//After adding the document, we should be able to read it back in
SegmentReader reader = SegmentReader.get(true, info, indexDivisor);
assertTrue(reader != null);
- TermDocs termDocs = reader.termDocs();
- assertTrue(termDocs != null);
- termDocs.seek(new Term("junk", "bad"));
- assertTrue(termDocs.next() == false);
+ DocsEnum termDocs = reader.termDocsEnum(reader.getDeletedDocs(),
+ "junk",
+ new BytesRef("bad"));
+ assertNull(termDocs);
reader.close();
}
}
@@ -121,105 +124,125 @@ public class TestSegmentTermDocs extends
IndexReader reader = IndexReader.open(dir, null, true, indexDivisor);
- TermDocs tdocs = reader.termDocs();
+ DocsEnum tdocs = MultiFields.getTermDocsEnum(reader,
+ MultiFields.getDeletedDocs(reader),
+ ta.field(),
+ new BytesRef(ta.text()));
// without optimization (assumption skipInterval == 16)
// with next
- tdocs.seek(ta);
- assertTrue(tdocs.next());
- assertEquals(0, tdocs.doc());
- assertEquals(4, tdocs.freq());
- assertTrue(tdocs.next());
- assertEquals(1, tdocs.doc());
- assertEquals(4, tdocs.freq());
- assertTrue(tdocs.skipTo(0));
- assertEquals(2, tdocs.doc());
- assertTrue(tdocs.skipTo(4));
- assertEquals(4, tdocs.doc());
- assertTrue(tdocs.skipTo(9));
- assertEquals(9, tdocs.doc());
- assertFalse(tdocs.skipTo(10));
+ assertTrue(tdocs.nextDoc() != DocsEnum.NO_MORE_DOCS);
+ assertEquals(0, tdocs.docID());
+ assertEquals(4, tdocs.freq());
+ assertTrue(tdocs.nextDoc() != DocsEnum.NO_MORE_DOCS);
+ assertEquals(1, tdocs.docID());
+ assertEquals(4, tdocs.freq());
+ assertTrue(tdocs.advance(0) != DocsEnum.NO_MORE_DOCS);
+ assertEquals(2, tdocs.docID());
+ assertTrue(tdocs.advance(4) != DocsEnum.NO_MORE_DOCS);
+ assertEquals(4, tdocs.docID());
+ assertTrue(tdocs.advance(9) != DocsEnum.NO_MORE_DOCS);
+ assertEquals(9, tdocs.docID());
+ assertFalse(tdocs.advance(10) != DocsEnum.NO_MORE_DOCS);
// without next
- tdocs.seek(ta);
- assertTrue(tdocs.skipTo(0));
- assertEquals(0, tdocs.doc());
- assertTrue(tdocs.skipTo(4));
- assertEquals(4, tdocs.doc());
- assertTrue(tdocs.skipTo(9));
- assertEquals(9, tdocs.doc());
- assertFalse(tdocs.skipTo(10));
+ tdocs = MultiFields.getTermDocsEnum(reader,
+ MultiFields.getDeletedDocs(reader),
+ ta.field(),
+ new BytesRef(ta.text()));
+
+ assertTrue(tdocs.advance(0) != DocsEnum.NO_MORE_DOCS);
+ assertEquals(0, tdocs.docID());
+ assertTrue(tdocs.advance(4) != DocsEnum.NO_MORE_DOCS);
+ assertEquals(4, tdocs.docID());
+ assertTrue(tdocs.advance(9) != DocsEnum.NO_MORE_DOCS);
+ assertEquals(9, tdocs.docID());
+ assertFalse(tdocs.advance(10) != DocsEnum.NO_MORE_DOCS);
// exactly skipInterval documents and therefore with optimization
// with next
- tdocs.seek(tb);
- assertTrue(tdocs.next());
- assertEquals(10, tdocs.doc());
- assertEquals(4, tdocs.freq());
- assertTrue(tdocs.next());
- assertEquals(11, tdocs.doc());
- assertEquals(4, tdocs.freq());
- assertTrue(tdocs.skipTo(5));
- assertEquals(12, tdocs.doc());
- assertTrue(tdocs.skipTo(15));
- assertEquals(15, tdocs.doc());
- assertTrue(tdocs.skipTo(24));
- assertEquals(24, tdocs.doc());
- assertTrue(tdocs.skipTo(25));
- assertEquals(25, tdocs.doc());
- assertFalse(tdocs.skipTo(26));
+ tdocs = MultiFields.getTermDocsEnum(reader,
+ MultiFields.getDeletedDocs(reader),
+ tb.field(),
+ new BytesRef(tb.text()));
+
+ assertTrue(tdocs.nextDoc() != DocsEnum.NO_MORE_DOCS);
+ assertEquals(10, tdocs.docID());
+ assertEquals(4, tdocs.freq());
+ assertTrue(tdocs.nextDoc() != DocsEnum.NO_MORE_DOCS);
+ assertEquals(11, tdocs.docID());
+ assertEquals(4, tdocs.freq());
+ assertTrue(tdocs.advance(5) != DocsEnum.NO_MORE_DOCS);
+ assertEquals(12, tdocs.docID());
+ assertTrue(tdocs.advance(15) != DocsEnum.NO_MORE_DOCS);
+ assertEquals(15, tdocs.docID());
+ assertTrue(tdocs.advance(24) != DocsEnum.NO_MORE_DOCS);
+ assertEquals(24, tdocs.docID());
+ assertTrue(tdocs.advance(25) != DocsEnum.NO_MORE_DOCS);
+ assertEquals(25, tdocs.docID());
+ assertFalse(tdocs.advance(26) != DocsEnum.NO_MORE_DOCS);
// without next
- tdocs.seek(tb);
- assertTrue(tdocs.skipTo(5));
- assertEquals(10, tdocs.doc());
- assertTrue(tdocs.skipTo(15));
- assertEquals(15, tdocs.doc());
- assertTrue(tdocs.skipTo(24));
- assertEquals(24, tdocs.doc());
- assertTrue(tdocs.skipTo(25));
- assertEquals(25, tdocs.doc());
- assertFalse(tdocs.skipTo(26));
+ tdocs = MultiFields.getTermDocsEnum(reader,
+ MultiFields.getDeletedDocs(reader),
+ tb.field(),
+ new BytesRef(tb.text()));
+
+ assertTrue(tdocs.advance(5) != DocsEnum.NO_MORE_DOCS);
+ assertEquals(10, tdocs.docID());
+ assertTrue(tdocs.advance(15) != DocsEnum.NO_MORE_DOCS);
+ assertEquals(15, tdocs.docID());
+ assertTrue(tdocs.advance(24) != DocsEnum.NO_MORE_DOCS);
+ assertEquals(24, tdocs.docID());
+ assertTrue(tdocs.advance(25) != DocsEnum.NO_MORE_DOCS);
+ assertEquals(25, tdocs.docID());
+ assertFalse(tdocs.advance(26) != DocsEnum.NO_MORE_DOCS);
// much more than skipInterval documents and therefore with optimization
// with next
- tdocs.seek(tc);
- assertTrue(tdocs.next());
- assertEquals(26, tdocs.doc());
- assertEquals(4, tdocs.freq());
- assertTrue(tdocs.next());
- assertEquals(27, tdocs.doc());
- assertEquals(4, tdocs.freq());
- assertTrue(tdocs.skipTo(5));
- assertEquals(28, tdocs.doc());
- assertTrue(tdocs.skipTo(40));
- assertEquals(40, tdocs.doc());
- assertTrue(tdocs.skipTo(57));
- assertEquals(57, tdocs.doc());
- assertTrue(tdocs.skipTo(74));
- assertEquals(74, tdocs.doc());
- assertTrue(tdocs.skipTo(75));
- assertEquals(75, tdocs.doc());
- assertFalse(tdocs.skipTo(76));
+ tdocs = MultiFields.getTermDocsEnum(reader,
+ MultiFields.getDeletedDocs(reader),
+ tc.field(),
+ new BytesRef(tc.text()));
+
+ assertTrue(tdocs.nextDoc() != DocsEnum.NO_MORE_DOCS);
+ assertEquals(26, tdocs.docID());
+ assertEquals(4, tdocs.freq());
+ assertTrue(tdocs.nextDoc() != DocsEnum.NO_MORE_DOCS);
+ assertEquals(27, tdocs.docID());
+ assertEquals(4, tdocs.freq());
+ assertTrue(tdocs.advance(5) != DocsEnum.NO_MORE_DOCS);
+ assertEquals(28, tdocs.docID());
+ assertTrue(tdocs.advance(40) != DocsEnum.NO_MORE_DOCS);
+ assertEquals(40, tdocs.docID());
+ assertTrue(tdocs.advance(57) != DocsEnum.NO_MORE_DOCS);
+ assertEquals(57, tdocs.docID());
+ assertTrue(tdocs.advance(74) != DocsEnum.NO_MORE_DOCS);
+ assertEquals(74, tdocs.docID());
+ assertTrue(tdocs.advance(75) != DocsEnum.NO_MORE_DOCS);
+ assertEquals(75, tdocs.docID());
+ assertFalse(tdocs.advance(76) != DocsEnum.NO_MORE_DOCS);
//without next
- tdocs.seek(tc);
- assertTrue(tdocs.skipTo(5));
- assertEquals(26, tdocs.doc());
- assertTrue(tdocs.skipTo(40));
- assertEquals(40, tdocs.doc());
- assertTrue(tdocs.skipTo(57));
- assertEquals(57, tdocs.doc());
- assertTrue(tdocs.skipTo(74));
- assertEquals(74, tdocs.doc());
- assertTrue(tdocs.skipTo(75));
- assertEquals(75, tdocs.doc());
- assertFalse(tdocs.skipTo(76));
+ tdocs = MultiFields.getTermDocsEnum(reader,
+ MultiFields.getDeletedDocs(reader),
+ tc.field(),
+ new BytesRef(tc.text()));
+ assertTrue(tdocs.advance(5) != DocsEnum.NO_MORE_DOCS);
+ assertEquals(26, tdocs.docID());
+ assertTrue(tdocs.advance(40) != DocsEnum.NO_MORE_DOCS);
+ assertEquals(40, tdocs.docID());
+ assertTrue(tdocs.advance(57) != DocsEnum.NO_MORE_DOCS);
+ assertEquals(57, tdocs.docID());
+ assertTrue(tdocs.advance(74) != DocsEnum.NO_MORE_DOCS);
+ assertEquals(74, tdocs.docID());
+ assertTrue(tdocs.advance(75) != DocsEnum.NO_MORE_DOCS);
+ assertEquals(75, tdocs.docID());
+ assertFalse(tdocs.advance(76) != DocsEnum.NO_MORE_DOCS);
- tdocs.close();
reader.close();
dir.close();
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestSegmentTermEnum.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestSegmentTermEnum.java?rev=955257&r1=955256&r2=955257&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestSegmentTermEnum.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestSegmentTermEnum.java Wed Jun 16 15:17:32 2010
@@ -20,6 +20,7 @@ package org.apache.lucene.index;
import java.io.IOException;
import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.util.BytesRef;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
@@ -83,36 +84,32 @@ public class TestSegmentTermEnum extends
throws IOException
{
IndexReader reader = IndexReader.open(dir, true);
- TermEnum termEnum = null;
+ TermsEnum termEnum = MultiFields.getTerms(reader, "content").iterator();
// create enumeration of all terms
- termEnum = reader.terms();
// go to the first term (aaa)
termEnum.next();
// assert that term is 'aaa'
- assertEquals("aaa", termEnum.term().text());
+ assertEquals("aaa", termEnum.term().utf8ToString());
assertEquals(200, termEnum.docFreq());
// go to the second term (bbb)
termEnum.next();
// assert that term is 'bbb'
- assertEquals("bbb", termEnum.term().text());
+ assertEquals("bbb", termEnum.term().utf8ToString());
assertEquals(100, termEnum.docFreq());
- termEnum.close();
-
- // create enumeration of terms after term 'aaa', including 'aaa'
- termEnum = reader.terms(new Term("content", "aaa"));
+ // create enumeration of terms after term 'aaa',
+ // including 'aaa'
+ termEnum.seek(new BytesRef("aaa"));
// assert that term is 'aaa'
- assertEquals("aaa", termEnum.term().text());
+ assertEquals("aaa", termEnum.term().utf8ToString());
assertEquals(200, termEnum.docFreq());
// go to term 'bbb'
termEnum.next();
// assert that term is 'bbb'
- assertEquals("bbb", termEnum.term().text());
+ assertEquals("bbb", termEnum.term().utf8ToString());
assertEquals(100, termEnum.docFreq());
-
- termEnum.close();
}
private void addDoc(IndexWriter writer, String value) throws IOException
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestStressIndexing.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestStressIndexing.java?rev=955257&r1=955256&r2=955257&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestStressIndexing.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestStressIndexing.java Wed Jun 16 15:17:32 2010
@@ -153,8 +153,6 @@ public class TestStressIndexing extends
modifier.close();
- FlexTestUtil.verifyFlexVsPreFlex(RANDOM, directory);
-
for(int i=0;i<numThread;i++)
assertTrue(! threads[i].failed);
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestStressIndexing2.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestStressIndexing2.java?rev=955257&r1=955256&r2=955257&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestStressIndexing2.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestStressIndexing2.java Wed Jun 16 15:17:32 2010
@@ -71,8 +71,6 @@ public class TestStressIndexing2 extends
IndexReader r = dw.writer.getReader();
dw.writer.commit();
verifyEquals(r, dir, "id");
- FlexTestUtil.verifyFlexVsPreFlex(this.r, r);
- FlexTestUtil.verifyFlexVsPreFlex(this.r, dir);
r.close();
dw.writer.close();
dir.close();
@@ -94,8 +92,6 @@ public class TestStressIndexing2 extends
// verifyEquals(dir2, dir2, "id");
verifyEquals(dir1, dir2, "id");
- FlexTestUtil.verifyFlexVsPreFlex(r, dir1);
- FlexTestUtil.verifyFlexVsPreFlex(r, dir2);
}
public void testMultiConfig() throws Throwable {
@@ -121,9 +117,6 @@ public class TestStressIndexing2 extends
indexSerial(docs, dir2);
//System.out.println("TEST: verify");
verifyEquals(dir1, dir2, "id");
-
- FlexTestUtil.verifyFlexVsPreFlex(r, dir1);
- FlexTestUtil.verifyFlexVsPreFlex(r, dir2);
}
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestTermdocPerf.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestTermdocPerf.java?rev=955257&r1=955256&r2=955257&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestTermdocPerf.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestTermdocPerf.java Wed Jun 16 15:17:32 2010
@@ -30,6 +30,7 @@ import org.apache.lucene.index.IndexWrit
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.RAMDirectory;
import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.util.BytesRef;
class RepeatingTokenStream extends TokenStream {
public int num;
@@ -94,16 +95,18 @@ public class TestTermdocPerf extends Luc
if (VERBOSE) System.out.println("milliseconds for creation of " + ndocs + " docs = " + (end-start));
IndexReader reader = IndexReader.open(dir, true);
- TermEnum tenum = reader.terms(new Term("foo","val"));
- TermDocs tdocs = reader.termDocs();
+
+ TermsEnum tenum = MultiFields.getTerms(reader, "foo").iterator();
start = System.currentTimeMillis();
int ret=0;
+ DocsEnum tdocs = null;
for (int i=0; i<iter; i++) {
- tdocs.seek(tenum);
- while (tdocs.next()) {
- ret += tdocs.doc();
+ tenum.seek(new BytesRef("val"));
+ tdocs = tenum.docs(MultiFields.getDeletedDocs(reader), tdocs);
+ while (tdocs.nextDoc() != DocsEnum.NO_MORE_DOCS) {
+ ret += tdocs.docID();
}
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/JustCompileSearch.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/JustCompileSearch.java?rev=955257&r1=955256&r2=955257&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/JustCompileSearch.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/JustCompileSearch.java Wed Jun 16 15:17:32 2010
@@ -298,25 +298,6 @@ final class JustCompileSearch {
}
- static final class JustCompileFilteredTermEnum extends FilteredTermEnum {
-
- @Override
- public float difference() {
- throw new UnsupportedOperationException(UNSUPPORTED_MSG);
- }
-
- @Override
- protected boolean endEnum() {
- throw new UnsupportedOperationException(UNSUPPORTED_MSG);
- }
-
- @Override
- protected boolean termCompare(Term term) {
- throw new UnsupportedOperationException(UNSUPPORTED_MSG);
- }
-
- }
-
static final class JustCompilePhraseScorer extends PhraseScorer {
JustCompilePhraseScorer(Weight weight, DocsAndPositionsEnum[] docs, int[] offsets,
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestAutomatonQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestAutomatonQuery.java?rev=955257&r1=955256&r2=955257&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestAutomatonQuery.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestAutomatonQuery.java Wed Jun 16 15:17:32 2010
@@ -196,10 +196,4 @@ public class TestAutomatonQuery extends
assertSame(TermsEnum.EMPTY, aq.getTermsEnum(searcher.getIndexReader()));
assertEquals(0, automatonQueryNrHits(aq));
}
-
- @Deprecated
- public void testBackwardsLayer() {
- assertTrue(new AutomatonQuery(newTerm("bogus"), BasicAutomata
- .makeString("piece")).hasNewAPI);
- }
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFuzzyQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFuzzyQuery.java?rev=955257&r1=955256&r2=955257&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFuzzyQuery.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFuzzyQuery.java Wed Jun 16 15:17:32 2010
@@ -377,10 +377,4 @@ public class TestFuzzyQuery extends Luce
doc.add(new Field("field", text, Field.Store.YES, Field.Index.ANALYZED));
writer.addDocument(doc);
}
-
- @Deprecated
- public void testBackwardsLayer() {
- assertTrue(new FuzzyQuery(new Term("dummy", "dummy")).hasNewAPI);
- }
-
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java?rev=955257&r1=955256&r2=955257&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java Wed Jun 16 15:17:32 2010
@@ -19,21 +19,20 @@ package org.apache.lucene.search;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.Term;
-import org.apache.lucene.index.TermEnum;
+import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
+import org.apache.lucene.index.MultiFields;
+import org.apache.lucene.util.BytesRef;
import org.apache.lucene.store.MockRAMDirectory;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.Version;
import java.io.IOException;
-import java.util.HashSet;
import java.util.LinkedList;
-import java.util.Collections;
/**
* This class tests the MultiPhraseQuery class.
@@ -73,13 +72,16 @@ public class TestMultiPhraseQuery extend
// this TermEnum gives "piccadilly", "pie" and "pizza".
String prefix = "pi";
- TermEnum te = ir.terms(new Term("body", prefix));
+ TermsEnum te = MultiFields.getFields(ir).terms("body").iterator();
+ te.seek(new BytesRef(prefix));
do {
- if (te.term().text().startsWith(prefix))
- {
- termsWithPrefix.add(te.term());
+ String s = te.term().utf8ToString();
+ if (s.startsWith(prefix)) {
+ termsWithPrefix.add(new Term("body", s));
+ } else {
+ break;
}
- } while (te.next());
+ } while (te.next() != null);
query1.add(termsWithPrefix.toArray(new Term[0]));
assertEquals("body:\"blueberry (piccadilly pie pizza)\"", query1.toString());
@@ -96,13 +98,14 @@ public class TestMultiPhraseQuery extend
MultiPhraseQuery query3 = new MultiPhraseQuery();
termsWithPrefix.clear();
prefix = "blue";
- te = ir.terms(new Term("body", prefix));
+ te.seek(new BytesRef(prefix));
+
do {
- if (te.term().text().startsWith(prefix))
+ if (te.term().utf8ToString().startsWith(prefix))
{
- termsWithPrefix.add(te.term());
+ termsWithPrefix.add(new Term("body", te.term().utf8ToString()));
}
- } while (te.next());
+ } while (te.next() != null);
ir.close();
query3.add(termsWithPrefix.toArray(new Term[0]));
query3.add(new Term("body", "pizza"));
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery64.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery64.java?rev=955257&r1=955256&r2=955257&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery64.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery64.java Wed Jun 16 15:17:32 2010
@@ -590,10 +590,4 @@ public class TestNumericRangeQuery64 ext
);
// difference to int range is tested in TestNumericRangeQuery32
}
-
- @Test @Deprecated
- public void testBackwardsLayer() {
- assertTrue(NumericRangeQuery.newLongRange("dummy", null, null, true, true).hasNewAPI);
- }
-
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPhrasePrefixQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPhrasePrefixQuery.java?rev=955257&r1=955256&r2=955257&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPhrasePrefixQuery.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPhrasePrefixQuery.java Wed Jun 16 15:17:32 2010
@@ -21,11 +21,13 @@ import org.apache.lucene.util.LuceneTest
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
+import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.Term;
-import org.apache.lucene.index.TermEnum;
+import org.apache.lucene.index.MultiFields;
+import org.apache.lucene.util.BytesRef;
import org.apache.lucene.store.RAMDirectory;
import java.io.IOException;
@@ -79,13 +81,16 @@ public class TestPhrasePrefixQuery exten
// this TermEnum gives "piccadilly", "pie" and "pizza".
String prefix = "pi";
- TermEnum te = ir.terms(new Term("body", prefix + "*"));
+ TermsEnum te = MultiFields.getFields(ir).terms("body").iterator();
+ te.seek(new BytesRef(prefix));
do {
- if (te.term().text().startsWith(prefix))
- {
- termsWithPrefix.add(te.term());
+ String s = te.term().utf8ToString();
+ if (s.startsWith(prefix)) {
+ termsWithPrefix.add(new Term("body", s));
+ } else {
+ break;
}
- } while (te.next());
+ } while (te.next() != null);
query1.add(termsWithPrefix.toArray(new Term[0]));
query2.add(termsWithPrefix.toArray(new Term[0]));
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPositionIncrement.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPositionIncrement.java?rev=955257&r1=955256&r2=955257&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPositionIncrement.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPositionIncrement.java Wed Jun 16 15:17:32 2010
@@ -32,11 +32,12 @@ import org.apache.lucene.analysis.tokena
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
+import org.apache.lucene.index.MultiFields;
+import org.apache.lucene.index.DocsAndPositionsEnum;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.Term;
-import org.apache.lucene.index.TermPositions;
import org.apache.lucene.queryParser.QueryParser;
import org.apache.lucene.store.MockRAMDirectory;
import org.apache.lucene.store.Directory;
@@ -50,6 +51,7 @@ import org.apache.lucene.search.spans.Sp
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.automaton.CharacterRunAutomaton;
import org.apache.lucene.util.automaton.RegExp;
+import org.apache.lucene.util.BytesRef;
/**
* Term position unit test.
@@ -99,13 +101,19 @@ public class TestPositionIncrement exten
IndexSearcher searcher = new IndexSearcher(store, true);
- TermPositions pos = searcher.getIndexReader().termPositions(new Term("field", "1"));
- pos.next();
+ DocsAndPositionsEnum pos = MultiFields.getTermPositionsEnum(searcher.getIndexReader(),
+ MultiFields.getDeletedDocs(searcher.getIndexReader()),
+ "field",
+ new BytesRef("1"));
+ pos.nextDoc();
// first token should be at position 0
assertEquals(0, pos.nextPosition());
- pos = searcher.getIndexReader().termPositions(new Term("field", "2"));
- pos.next();
+ pos = MultiFields.getTermPositionsEnum(searcher.getIndexReader(),
+ MultiFields.getDeletedDocs(searcher.getIndexReader()),
+ "field",
+ new BytesRef("2"));
+ pos.nextDoc();
// second token should be at position 2
assertEquals(2, pos.nextPosition());
@@ -238,9 +246,13 @@ public class TestPositionIncrement exten
IndexReader r = writer.getReader();
- TermPositions tp = r.termPositions(new Term("content", "a"));
+ DocsAndPositionsEnum tp = MultiFields.getTermPositionsEnum(r,
+ MultiFields.getDeletedDocs(r),
+ "content",
+ new BytesRef("a"));
+
int count = 0;
- assertTrue(tp.next());
+ assertTrue(tp.nextDoc() != tp.NO_MORE_DOCS);
// "a" occurs 4 times
assertEquals(4, tp.freq());
int expected = 0;
@@ -250,7 +262,7 @@ public class TestPositionIncrement exten
assertEquals(6, tp.nextPosition());
// only one doc has "a"
- assertFalse(tp.next());
+ assertEquals(tp.NO_MORE_DOCS, tp.nextDoc());
IndexSearcher is = new IndexSearcher(r);
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPrefixQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPrefixQuery.java?rev=955257&r1=955256&r2=955257&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPrefixQuery.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPrefixQuery.java Wed Jun 16 15:17:32 2010
@@ -59,9 +59,4 @@ public class TestPrefixQuery extends Luc
hits = searcher.search(query, null, 1000).scoreDocs;
assertEquals("everything", 3, hits.length);
}
-
- @Deprecated
- public void testBackwardsLayer() {
- assertTrue(new PrefixQuery(new Term("dummy", "dummy")).hasNewAPI);
- }
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestRegexpQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestRegexpQuery.java?rev=955257&r1=955256&r2=955257&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestRegexpQuery.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestRegexpQuery.java Wed Jun 16 15:17:32 2010
@@ -25,7 +25,6 @@ import org.apache.lucene.document.Docume
import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.Term;
-import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.store.RAMDirectory;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.automaton.Automaton;
@@ -120,9 +119,4 @@ public class TestRegexpQuery extends Luc
public void testBacktracking() throws IOException {
assertEquals(1, regexQueryNrHits("4934[314]"));
}
-
- @Deprecated
- public void testBackwardsLayer() {
- assertTrue(new RegexpQuery(newTerm(".*")).hasNewAPI);
- }
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTermRangeQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTermRangeQuery.java?rev=955257&r1=955256&r2=955257&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTermRangeQuery.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTermRangeQuery.java Wed Jun 16 15:17:32 2010
@@ -420,9 +420,4 @@ public class TestTermRangeQuery extends
//assertEquals("C added => A,B,<empty string>,C in range", 3, hits.length());
searcher.close();
}
-
- @Deprecated
- public void testBackwardsLayer() {
- assertTrue(new TermRangeQuery("dummy", null, null, true, true).hasNewAPI);
- }
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTermVectors.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTermVectors.java?rev=955257&r1=955256&r2=955257&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTermVectors.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTermVectors.java Wed Jun 16 15:17:32 2010
@@ -244,40 +244,38 @@ public class TestTermVectors extends Luc
writer.addDocument(testDoc4);
writer.close();
IndexSearcher knownSearcher = new IndexSearcher(dir, true);
- TermEnum termEnum = knownSearcher.reader.terms();
- TermDocs termDocs = knownSearcher.reader.termDocs();
- //System.out.println("Terms: " + termEnum.size() + " Orig Len: " + termArray.length);
-
- //Similarity sim = knownSearcher.getSimilarity();
- while (termEnum.next() == true)
- {
- Term term = termEnum.term();
- //System.out.println("Term: " + term);
- termDocs.seek(term);
- while (termDocs.next())
- {
- int docId = termDocs.doc();
- int freq = termDocs.freq();
- //System.out.println("Doc Id: " + docId + " freq " + freq);
- TermFreqVector vector = knownSearcher.reader.getTermFreqVector(docId, "field");
- //float tf = sim.tf(freq);
- //float idf = sim.idf(knownSearcher.docFreq(term), knownSearcher.maxDoc());
- //float qNorm = sim.queryNorm()
- //This is fine since we don't have stop words
- //float lNorm = sim.lengthNorm("field", vector.getTerms().length);
- //float coord = sim.coord()
- //System.out.println("TF: " + tf + " IDF: " + idf + " LenNorm: " + lNorm);
- assertTrue(vector != null);
- String[] vTerms = vector.getTerms();
- int [] freqs = vector.getTermFrequencies();
- for (int i = 0; i < vTerms.length; i++)
- {
- if (term.text().equals(vTerms[i]))
- {
- assertTrue(freqs[i] == freq);
- }
+ FieldsEnum fields = MultiFields.getFields(knownSearcher.reader).iterator();
+
+ DocsEnum docs = null;
+ while(fields.next() != null) {
+ TermsEnum terms = fields.terms();
+ while(terms.next() != null) {
+ String text = terms.term().utf8ToString();
+ docs = terms.docs(MultiFields.getDeletedDocs(knownSearcher.reader), docs);
+
+ while (docs.nextDoc() != DocsEnum.NO_MORE_DOCS) {
+ int docId = docs.docID();
+ int freq = docs.freq();
+ //System.out.println("Doc Id: " + docId + " freq " + freq);
+ TermFreqVector vector = knownSearcher.reader.getTermFreqVector(docId, "field");
+ //float tf = sim.tf(freq);
+ //float idf = sim.idf(knownSearcher.docFreq(term), knownSearcher.maxDoc());
+ //float qNorm = sim.queryNorm()
+ //This is fine since we don't have stop words
+ //float lNorm = sim.lengthNorm("field", vector.getTerms().length);
+ //float coord = sim.coord()
+ //System.out.println("TF: " + tf + " IDF: " + idf + " LenNorm: " + lNorm);
+ assertTrue(vector != null);
+ String[] vTerms = vector.getTerms();
+ int [] freqs = vector.getTermFrequencies();
+ for (int i = 0; i < vTerms.length; i++)
+ {
+ if (text.equals(vTerms[i]))
+ {
+ assertTrue(freqs[i] == freq);
+ }
+ }
}
-
}
//System.out.println("--------");
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestWildcard.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestWildcard.java?rev=955257&r1=955256&r2=955257&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestWildcard.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestWildcard.java Wed Jun 16 15:17:32 2010
@@ -19,12 +19,10 @@ package org.apache.lucene.search;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.analysis.MockAnalyzer;
-import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.Field.Store;
import org.apache.lucene.document.Field.Index;
-import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.Term;
@@ -309,62 +307,4 @@ public class TestWildcard
searcher.close();
}
- @Deprecated
- private static final class OldWildcardQuery extends MultiTermQuery {
- final Term term;
-
- OldWildcardQuery(Term term) {
- this.term = term;
- }
-
- @Override
- protected FilteredTermEnum getEnum(IndexReader reader) throws IOException {
- return new WildcardTermEnum(reader, term);
- }
-
- @Override
- public String toString(String field) {
- return "OldWildcard(" + term.toString()+ ")";
- }
- }
-
- @Deprecated
- public void testDeprecatedTermEnum() throws Exception {
- RAMDirectory indexStore = getIndexStore("body", new String[]
- {"metal", "metals"});
- IndexSearcher searcher = new IndexSearcher(indexStore, true);
- Query query1 = new TermQuery(new Term("body", "metal"));
- Query query2 = new OldWildcardQuery(new Term("body", "metal*"));
- Query query3 = new OldWildcardQuery(new Term("body", "m*tal"));
- Query query4 = new OldWildcardQuery(new Term("body", "m*tal*"));
- Query query5 = new OldWildcardQuery(new Term("body", "m*tals"));
-
- BooleanQuery query6 = new BooleanQuery();
- query6.add(query5, BooleanClause.Occur.SHOULD);
-
- BooleanQuery query7 = new BooleanQuery();
- query7.add(query3, BooleanClause.Occur.SHOULD);
- query7.add(query5, BooleanClause.Occur.SHOULD);
-
- // Queries do not automatically lower-case search terms:
- Query query8 = new OldWildcardQuery(new Term("body", "M*tal*"));
-
- assertMatches(searcher, query1, 1);
- assertMatches(searcher, query2, 2);
- assertMatches(searcher, query3, 1);
- assertMatches(searcher, query4, 2);
- assertMatches(searcher, query5, 1);
- assertMatches(searcher, query6, 1);
- assertMatches(searcher, query7, 2);
- assertMatches(searcher, query8, 0);
- assertMatches(searcher, new OldWildcardQuery(new Term("body", "*tall")), 0);
- assertMatches(searcher, new OldWildcardQuery(new Term("body", "*tal")), 1);
- assertMatches(searcher, new OldWildcardQuery(new Term("body", "*tal*")), 2);
- }
-
- @Deprecated
- public void testBackwardsLayer() {
- assertTrue(new WildcardQuery(new Term("body", "metal*")).hasNewAPI);
- assertFalse(new OldWildcardQuery(new Term("body", "metal*")).hasNewAPI);
- }
}
Modified: lucene/dev/trunk/modules/analysis/common/src/java/org/apache/lucene/analysis/query/QueryAutoStopWordAnalyzer.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/modules/analysis/common/src/java/org/apache/lucene/analysis/query/QueryAutoStopWordAnalyzer.java?rev=955257&r1=955256&r2=955257&view=diff
==============================================================================
--- lucene/dev/trunk/modules/analysis/common/src/java/org/apache/lucene/analysis/query/QueryAutoStopWordAnalyzer.java (original)
+++ lucene/dev/trunk/modules/analysis/common/src/java/org/apache/lucene/analysis/query/QueryAutoStopWordAnalyzer.java Wed Jun 16 15:17:32 2010
@@ -18,12 +18,14 @@ package org.apache.lucene.analysis.query
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.Term;
-import org.apache.lucene.index.TermEnum;
+import org.apache.lucene.index.TermsEnum;
+import org.apache.lucene.index.Terms;
+import org.apache.lucene.index.MultiFields;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.core.StopFilter;
-import org.apache.lucene.util.StringHelper;
import org.apache.lucene.util.Version;
+import org.apache.lucene.util.BytesRef;
import java.io.IOException;
import java.io.Reader;
@@ -141,20 +143,15 @@ public final class QueryAutoStopWordAnal
*/
public int addStopWords(IndexReader reader, String fieldName, int maxDocFreq) throws IOException {
HashSet<String> stopWords = new HashSet<String>();
- String internedFieldName = StringHelper.intern(fieldName);
- TermEnum te = reader.terms(new Term(fieldName));
- Term term = te.term();
- while (term != null) {
- if (term.field() != internedFieldName) {
- break;
+ Terms terms = MultiFields.getTerms(reader, fieldName);
+ if (terms != null) {
+ TermsEnum te = terms.iterator();
+ BytesRef text;
+ while ((text = te.next()) != null) {
+ if (te.docFreq() > maxDocFreq) {
+ stopWords.add(text.utf8ToString());
+ }
}
- if (te.docFreq() > maxDocFreq) {
- stopWords.add(term.text());
- }
- if (!te.next()) {
- break;
- }
- term = te.term();
}
stopWordsPerField.put(fieldName, stopWords);
Modified: lucene/dev/trunk/modules/analysis/common/src/test/org/apache/lucene/analysis/core/TestKeywordAnalyzer.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/modules/analysis/common/src/test/org/apache/lucene/analysis/core/TestKeywordAnalyzer.java?rev=955257&r1=955256&r2=955257&view=diff
==============================================================================
--- lucene/dev/trunk/modules/analysis/common/src/test/org/apache/lucene/analysis/core/TestKeywordAnalyzer.java (original)
+++ lucene/dev/trunk/modules/analysis/common/src/test/org/apache/lucene/analysis/core/TestKeywordAnalyzer.java Wed Jun 16 15:17:32 2010
@@ -21,17 +21,17 @@ import java.io.StringReader;
import org.apache.lucene.analysis.BaseTokenStreamTestCase;
import org.apache.lucene.analysis.TokenStream;
-import org.apache.lucene.analysis.core.KeywordAnalyzer;
import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
-import org.apache.lucene.index.Term;
-import org.apache.lucene.index.TermDocs;
+import org.apache.lucene.index.DocsEnum;
+import org.apache.lucene.index.MultiFields;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.store.RAMDirectory;
+import org.apache.lucene.util.BytesRef;
public class TestKeywordAnalyzer extends BaseTokenStreamTestCase {
@@ -82,10 +82,16 @@ public class TestKeywordAnalyzer extends
writer.close();
IndexReader reader = IndexReader.open(dir, true);
- TermDocs td = reader.termDocs(new Term("partnum", "Q36"));
- assertTrue(td.next());
- td = reader.termDocs(new Term("partnum", "Q37"));
- assertTrue(td.next());
+ DocsEnum td = MultiFields.getTermDocsEnum(reader,
+ MultiFields.getDeletedDocs(reader),
+ "partnum",
+ new BytesRef("Q36"));
+ assertTrue(td.nextDoc() != DocsEnum.NO_MORE_DOCS);
+ td = MultiFields.getTermDocsEnum(reader,
+ MultiFields.getDeletedDocs(reader),
+ "partnum",
+ new BytesRef("Q37"));
+ assertTrue(td.nextDoc() != DocsEnum.NO_MORE_DOCS);
}
// LUCENE-1441