From commits-return-1160-apmail-lucene-commits-archive=www.apache.org@lucene.apache.org Thu Jul 22 19:36:19 2010 Return-Path: Delivered-To: apmail-lucene-commits-archive@www.apache.org Received: (qmail 34470 invoked from network); 22 Jul 2010 19:36:19 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 22 Jul 2010 19:36:19 -0000 Received: (qmail 65148 invoked by uid 500); 22 Jul 2010 19:36:19 -0000 Mailing-List: contact commits-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@lucene.apache.org Delivered-To: mailing list commits@lucene.apache.org Received: (qmail 65135 invoked by uid 99); 22 Jul 2010 19:36:19 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 22 Jul 2010 19:36:19 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 22 Jul 2010 19:36:15 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 986312388C18; Thu, 22 Jul 2010 19:35:00 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: svn commit: r966819 [10/20] - in /lucene/dev/branches/realtime_search: ./ lucene/ lucene/backwards/ lucene/contrib/ lucene/contrib/benchmark/conf/ lucene/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ lucene/contrib/benchmark/src/... Date: Thu, 22 Jul 2010 19:34:52 -0000 To: commits@lucene.apache.org From: buschmi@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100722193500.986312388C18@eris.apache.org> Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestPayloads.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestPayloads.java?rev=966819&r1=966818&r2=966819&view=diff ============================================================================== --- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestPayloads.java (original) +++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestPayloads.java Thu Jul 22 19:34:35 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 @@ -190,7 +188,7 @@ public class TestPayloads extends Lucene Term[] terms = generateTerms(fieldName, numTerms); StringBuilder sb = new StringBuilder(); for (int i = 0; i < terms.length; i++) { - sb.append(terms[i].text); + sb.append(terms[i].text()); sb.append(" "); } String content = sb.toString(); @@ -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,21 @@ 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(); + final BytesRef payload = tp.getPayload(); + assertEquals(termText, pool.bytesToString(payload.bytes, payload.offset, payload.length)); } - tp.close(); + } } - terms.close(); reader.close(); assertEquals(pool.size(), numThreads); @@ -537,7 +552,7 @@ public class TestPayloads extends Lucene this.pool = pool; payload = pool.get(); generateRandomData(payload); - term = pool.bytesToString(payload); + term = pool.bytesToString(payload, 0, payload.length); first = true; payloadAtt = addAttribute(PayloadAttribute.class); termAtt = addAttribute(CharTermAttribute.class); @@ -570,10 +585,9 @@ public class TestPayloads extends Lucene } } - private BytesRef utf8Result = new BytesRef(10); - - synchronized String bytesToString(byte[] bytes) { - String s = new String(bytes); + static String bytesToString(byte[] bytes, int start, int length) { + String s = new String(bytes, start, length); + BytesRef utf8Result = new BytesRef(10); UnicodeUtil.UTF16toUTF8(s, 0, s.length(), utf8Result); try { return new String(utf8Result.bytes, 0, utf8Result.length, "UTF-8"); Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestPositionBasedTermVectorMapper.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestPositionBasedTermVectorMapper.java?rev=966819&r1=966818&r2=966819&view=diff ============================================================================== --- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestPositionBasedTermVectorMapper.java (original) +++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestPositionBasedTermVectorMapper.java Thu Jul 22 19:34:35 2010 @@ -15,6 +15,7 @@ package org.apache.lucene.index; * limitations under the License. */ +import org.apache.lucene.util.BytesRef; import org.apache.lucene.util.LuceneTestCase; import java.io.IOException; @@ -65,7 +66,7 @@ public class TestPositionBasedTermVector //Test single position for (int i = 0; i < tokens.length; i++) { String token = tokens[i]; - mapper.map(token, 1, null, thePositions[i]); + mapper.map(new BytesRef(token), 1, null, thePositions[i]); } Map> map = mapper.getFieldToTerms(); Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java?rev=966819&r1=966818&r2=966819&view=diff ============================================================================== --- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java (original) +++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java Thu Jul 22 19:34:35 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 stored = mergedReader.getFieldNames(IndexReader.FieldOption.INDEXED_WITH_TERMVECTOR); assertTrue(stored != null); @@ -96,7 +100,7 @@ public class TestSegmentMerger extends L TermFreqVector vector = mergedReader.getTermFreqVector(0, DocHelper.TEXT_FIELD_2_KEY); assertTrue(vector != null); - String [] terms = vector.getTerms(); + BytesRef [] terms = vector.getTerms(); assertTrue(terms != null); //System.out.println("Terms size: " + terms.length); assertTrue(terms.length == 3); @@ -106,7 +110,7 @@ public class TestSegmentMerger extends L assertTrue(vector instanceof TermPositionVector == true); for (int i = 0; i < terms.length; i++) { - String term = terms[i]; + String term = terms[i].utf8ToString(); int freq = freqs[i]; //System.out.println("Term: " + term + " Freq: " + freq); assertTrue(DocHelper.FIELD_2_TEXT.indexOf(term) != -1); Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestSegmentReader.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestSegmentReader.java?rev=966819&r1=966818&r2=966819&view=diff ============================================================================== --- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestSegmentReader.java (original) +++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestSegmentReader.java Thu Jul 22 19:34:35 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); } @@ -184,11 +192,11 @@ public class TestSegmentReader extends L public void testTermVectors() throws IOException { TermFreqVector result = reader.getTermFreqVector(0, DocHelper.TEXT_FIELD_2_KEY); assertTrue(result != null); - String [] terms = result.getTerms(); + BytesRef [] terms = result.getTerms(); int [] freqs = result.getTermFrequencies(); assertTrue(terms != null && terms.length == 3 && freqs != null && freqs.length == 3); for (int i = 0; i < terms.length; i++) { - String term = terms[i]; + String term = terms[i].utf8ToString(); int freq = freqs[i]; assertTrue(DocHelper.FIELD_2_TEXT.indexOf(term) != -1); assertTrue(freq > 0); Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestSegmentTermDocs.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestSegmentTermDocs.java?rev=966819&r1=966818&r2=966819&view=diff ============================================================================== --- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestSegmentTermDocs.java (original) +++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestSegmentTermDocs.java Thu Jul 22 19:34:35 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/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestSegmentTermEnum.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestSegmentTermEnum.java?rev=966819&r1=966818&r2=966819&view=diff ============================================================================== --- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestSegmentTermEnum.java (original) +++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestSegmentTermEnum.java Thu Jul 22 19:34:35 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/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestStressIndexing.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestStressIndexing.java?rev=966819&r1=966818&r2=966819&view=diff ============================================================================== --- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestStressIndexing.java (original) +++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestStressIndexing.java Thu Jul 22 19:34:35 2010 @@ -153,8 +153,6 @@ public class TestStressIndexing extends modifier.close(); - FlexTestUtil.verifyFlexVsPreFlex(RANDOM, directory); - for(int i=0;i