Return-Path: X-Original-To: apmail-lucene-commits-archive@www.apache.org Delivered-To: apmail-lucene-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 00F09102D4 for ; Mon, 17 Nov 2014 00:44:56 +0000 (UTC) Received: (qmail 75532 invoked by uid 500); 17 Nov 2014 00:44:55 -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 75523 invoked by uid 99); 17 Nov 2014 00:44:55 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 17 Nov 2014 00:44:55 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.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; Mon, 17 Nov 2014 00:44:22 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 7C6AF2388B6C; Mon, 17 Nov 2014 00:43:54 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1640053 [8/10] - in /lucene/dev/branches/lucene6005/lucene: core/src/java/org/apache/lucene/document/ core/src/java/org/apache/lucene/index/ core/src/test/org/apache/lucene/ core/src/test/org/apache/lucene/codecs/compressing/ core/src/test... Date: Mon, 17 Nov 2014 00:43:47 -0000 To: commits@lucene.apache.org From: mikemccand@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20141117004354.7C6AF2388B6C@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestPostingsOffsets.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestPostingsOffsets.java?rev=1640053&r1=1640052&r2=1640053&view=diff ============================================================================== --- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestPostingsOffsets.java (original) +++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestPostingsOffsets.java Mon Nov 17 00:43:44 2014 @@ -30,9 +30,11 @@ import org.apache.lucene.analysis.MockPa import org.apache.lucene.analysis.MockTokenizer; import org.apache.lucene.analysis.Token; import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.document.Document2; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; import org.apache.lucene.document.FieldType; +import org.apache.lucene.document.FieldTypes; import org.apache.lucene.document.IntField; import org.apache.lucene.document.NumericDocValuesField; import org.apache.lucene.document.StringField; @@ -61,22 +63,27 @@ public class TestPostingsOffsets extends Directory dir = newDirectory(); RandomIndexWriter w = new RandomIndexWriter(random(), dir, iwc); - Document doc = new Document(); + FieldTypes fieldTypes = w.getFieldTypes(); + + Document2 doc = w.newDocument(); - FieldType ft = new FieldType(TextField.TYPE_NOT_STORED); - ft.setIndexOptions(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS); if (random().nextBoolean()) { - ft.setStoreTermVectors(true); - ft.setStoreTermVectorPositions(random().nextBoolean()); - ft.setStoreTermVectorOffsets(random().nextBoolean()); + fieldTypes.enableTermVectors("content"); + if (random().nextBoolean()) { + fieldTypes.enableTermVectorPositions("content"); + } + if (random().nextBoolean()) { + fieldTypes.enableTermVectorOffsets("content"); + } } + Token[] tokens = new Token[] { makeToken("a", 1, 0, 6), makeToken("b", 1, 8, 9), makeToken("a", 1, 9, 17), makeToken("c", 1, 19, 50), }; - doc.add(new Field("content", new CannedTokenStream(tokens), ft)); + doc.addLargeText("content", new CannedTokenStream(tokens)); w.addDocument(doc); IndexReader r = w.getReader(); @@ -130,21 +137,27 @@ public class TestPostingsOffsets extends iwc = newIndexWriterConfig(analyzer); iwc.setMergePolicy(newLogMergePolicy()); // will rely on docids a bit for skipping RandomIndexWriter w = new RandomIndexWriter(random(), dir, iwc); + FieldTypes fieldTypes = w.getFieldTypes(); - FieldType ft = new FieldType(TextField.TYPE_STORED); - ft.setIndexOptions(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS); if (random().nextBoolean()) { - ft.setStoreTermVectors(true); - ft.setStoreTermVectorOffsets(random().nextBoolean()); - ft.setStoreTermVectorPositions(random().nextBoolean()); + fieldTypes.enableTermVectors("numbers"); + fieldTypes.enableTermVectors("oddeven"); + if (random().nextBoolean()) { + fieldTypes.enableTermVectorOffsets("numbers"); + fieldTypes.enableTermVectorOffsets("oddeven"); + } + if (random().nextBoolean()) { + fieldTypes.enableTermVectorPositions("numbers"); + fieldTypes.enableTermVectorPositions("oddeven"); + } } int numDocs = atLeast(500); for (int i = 0; i < numDocs; i++) { - Document doc = new Document(); - doc.add(new Field("numbers", English.intToEnglish(i), ft)); - doc.add(new Field("oddeven", (i % 2) == 0 ? "even" : "odd", ft)); - doc.add(new StringField("id", "" + i, Field.Store.NO)); + Document2 doc = w.newDocument(); + doc.addLargeText("numbers", English.intToEnglish(i)); + doc.addLargeText("oddeven", (i % 2) == 0 ? "even" : "odd"); + doc.addAtom("id", "" + i); w.addDocument(doc); } @@ -222,6 +235,7 @@ public class TestPostingsOffsets extends Directory dir = newDirectory(); RandomIndexWriter w = new RandomIndexWriter(random(), dir, iwc); + FieldTypes fieldTypes = w.getFieldTypes(); final int numDocs = atLeast(20); //final int numDocs = atLeast(5); @@ -230,17 +244,19 @@ public class TestPostingsOffsets extends // TODO: randomize what IndexOptions we use; also test // changing this up in one IW buffered segment...: - ft.setIndexOptions(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS); if (random().nextBoolean()) { - ft.setStoreTermVectors(true); - ft.setStoreTermVectorOffsets(random().nextBoolean()); - ft.setStoreTermVectorPositions(random().nextBoolean()); + fieldTypes.enableTermVectors("content"); + if (random().nextBoolean()) { + fieldTypes.enableTermVectorOffsets("content"); + } + if (random().nextBoolean()) { + fieldTypes.enableTermVectorPositions("content"); + } } for(int docCount=0;docCount tokens = new ArrayList<>(); final int numTokens = atLeast(100); //final int numTokens = atLeast(20); @@ -282,7 +298,7 @@ public class TestPostingsOffsets extends offset += offIncr + tokenOffset; //System.out.println(" " + token + " posIncr=" + token.getPositionIncrement() + " pos=" + pos + " off=" + token.startOffset() + "/" + token.endOffset() + " (freq=" + postingsByDoc.get(docCount).size() + ")"); } - doc.add(new Field("content", new CannedTokenStream(tokens.toArray(new Token[tokens.size()])), ft)); + doc.addLargeText("content", new CannedTokenStream(tokens.toArray(new Token[tokens.size()]))); w.addDocument(doc); } final DirectoryReader r = w.getReader(); @@ -352,51 +368,17 @@ public class TestPostingsOffsets extends dir.close(); } - public void testWithUnindexedFields() throws Exception { - Directory dir = newDirectory(); - RandomIndexWriter riw = new RandomIndexWriter(random(), dir, iwc); - for (int i = 0; i < 100; i++) { - Document doc = new Document(); - // ensure at least one doc is indexed with offsets - if (i < 99 && random().nextInt(2) == 0) { - // stored only - FieldType ft = new FieldType(); - ft.setStored(true); - doc.add(new Field("foo", "boo!", ft)); - } else { - FieldType ft = new FieldType(TextField.TYPE_STORED); - ft.setIndexOptions(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS); - if (random().nextBoolean()) { - // store some term vectors for the checkindex cross-check - ft.setStoreTermVectors(true); - ft.setStoreTermVectorPositions(true); - ft.setStoreTermVectorOffsets(true); - } - doc.add(new Field("foo", "bar", ft)); - } - riw.addDocument(doc); - } - CompositeReader ir = riw.getReader(); - LeafReader slow = SlowCompositeReaderWrapper.wrap(ir); - FieldInfos fis = slow.getFieldInfos(); - assertEquals(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS, fis.fieldInfo("foo").getIndexOptions()); - slow.close(); - ir.close(); - riw.close(); - dir.close(); - } - public void testAddFieldTwice() throws Exception { Directory dir = newDirectory(); RandomIndexWriter iw = new RandomIndexWriter(random(), dir); - Document doc = new Document(); - FieldType customType3 = new FieldType(TextField.TYPE_STORED); - customType3.setStoreTermVectors(true); - customType3.setStoreTermVectorPositions(true); - customType3.setStoreTermVectorOffsets(true); - customType3.setIndexOptions(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS); - doc.add(new Field("content3", "here is more content with aaa aaa aaa", customType3)); - doc.add(new Field("content3", "here is more content with aaa aaa aaa", customType3)); + FieldTypes fieldTypes = iw.getFieldTypes(); + fieldTypes.enableTermVectors("content3"); + fieldTypes.enableTermVectorPositions("content3"); + fieldTypes.enableTermVectorOffsets("content3"); + + Document2 doc = iw.newDocument(); + doc.addLargeText("content3", "here is more content with aaa aaa aaa"); + doc.addLargeText("content3", "here is more content with aaa aaa aaa"); iw.addDocument(doc); iw.close(); dir.close(); // checkindex @@ -471,13 +453,11 @@ public class TestPostingsOffsets extends }; IndexWriter iw = new IndexWriter(dir, new IndexWriterConfig(analyzer)); // add good document - Document doc = new Document(); + Document2 doc = iw.newDocument(); iw.addDocument(doc); try { - FieldType ft = new FieldType(TextField.TYPE_NOT_STORED); - ft.setIndexOptions(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS); - doc.add(new Field("foo", "bar", ft)); - doc.add(new Field("foo", "bar", ft)); + doc.addLargeText("foo", "bar"); + doc.addLargeText("foo", "bar"); iw.addDocument(doc); fail("didn't get expected exception"); } catch (IllegalArgumentException expected) {} @@ -493,7 +473,7 @@ public class TestPostingsOffsets extends public void testLegalbutVeryLargeOffsets() throws Exception { Directory dir = newDirectory(); IndexWriter iw = new IndexWriter(dir, newIndexWriterConfig(null)); - Document doc = new Document(); + Document2 doc = iw.newDocument(); Token t1 = new Token("foo", 0, Integer.MAX_VALUE-500); if (random().nextBoolean()) { t1.setPayload(new BytesRef("test")); @@ -502,14 +482,12 @@ public class TestPostingsOffsets extends TokenStream tokenStream = new CannedTokenStream( new Token[] { t1, t2 } ); - FieldType ft = new FieldType(TextField.TYPE_NOT_STORED); - ft.setIndexOptions(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS); + FieldTypes fieldTypes = iw.getFieldTypes(); // store some term vectors for the checkindex cross-check - ft.setStoreTermVectors(true); - ft.setStoreTermVectorPositions(true); - ft.setStoreTermVectorOffsets(true); - Field field = new Field("foo", tokenStream, ft); - doc.add(field); + fieldTypes.enableTermVectors("foo"); + fieldTypes.enableTermVectorPositions("foo"); + fieldTypes.enableTermVectorOffsets("foo"); + doc.addLargeText("foo", tokenStream); iw.addDocument(doc); iw.close(); dir.close(); @@ -519,18 +497,18 @@ public class TestPostingsOffsets extends private void checkTokens(Token[] field1, Token[] field2) throws IOException { Directory dir = newDirectory(); RandomIndexWriter riw = new RandomIndexWriter(random(), dir, iwc); + FieldTypes fieldTypes = riw.getFieldTypes(); + boolean success = false; try { - FieldType ft = new FieldType(TextField.TYPE_NOT_STORED); - ft.setIndexOptions(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS); // store some term vectors for the checkindex cross-check - ft.setStoreTermVectors(true); - ft.setStoreTermVectorPositions(true); - ft.setStoreTermVectorOffsets(true); + fieldTypes.enableTermVectors("body"); + fieldTypes.enableTermVectorPositions("body"); + fieldTypes.enableTermVectorOffsets("body"); - Document doc = new Document(); - doc.add(new Field("body", new CannedTokenStream(field1), ft)); - doc.add(new Field("body", new CannedTokenStream(field2), ft)); + Document2 doc = riw.newDocument(); + doc.addLargeText("body", new CannedTokenStream(field1)); + doc.addLargeText("body", new CannedTokenStream(field2)); riw.addDocument(doc); riw.close(); success = true; @@ -546,17 +524,16 @@ public class TestPostingsOffsets extends private void checkTokens(Token[] tokens) throws IOException { Directory dir = newDirectory(); RandomIndexWriter riw = new RandomIndexWriter(random(), dir, iwc); + FieldTypes fieldTypes = riw.getFieldTypes(); boolean success = false; try { - FieldType ft = new FieldType(TextField.TYPE_NOT_STORED); - ft.setIndexOptions(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS); // store some term vectors for the checkindex cross-check - ft.setStoreTermVectors(true); - ft.setStoreTermVectorPositions(true); - ft.setStoreTermVectorOffsets(true); + fieldTypes.enableTermVectors("body"); + fieldTypes.enableTermVectorPositions("body"); + fieldTypes.enableTermVectorOffsets("body"); - Document doc = new Document(); - doc.add(new Field("body", new CannedTokenStream(tokens), ft)); + Document2 doc = riw.newDocument(); + doc.addLargeText("body", new CannedTokenStream(tokens)); riw.addDocument(doc); riw.close(); success = true; Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestReaderClosed.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestReaderClosed.java?rev=1640053&r1=1640052&r2=1640053&view=diff ============================================================================== --- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestReaderClosed.java (original) +++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestReaderClosed.java Mon Nov 17 00:43:44 2014 @@ -22,6 +22,7 @@ import java.util.concurrent.RejectedExec import org.apache.lucene.analysis.MockAnalyzer; import org.apache.lucene.analysis.MockTokenizer; +import org.apache.lucene.document.Document2; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; import org.apache.lucene.search.IndexSearcher; @@ -43,15 +44,12 @@ public class TestReaderClosed extends Lu newIndexWriterConfig(new MockAnalyzer(random(), MockTokenizer.KEYWORD, false)) .setMaxBufferedDocs(TestUtil.nextInt(random(), 50, 1000))); - Document doc = new Document(); - Field field = newStringField("field", "", Field.Store.NO); - doc.add(field); - // we generate aweful prefixes: good for testing. // but for preflex codec, the test can be very slow, so use less iterations. int num = atLeast(10); for (int i = 0; i < num; i++) { - field.setStringValue(TestUtil.randomUnicodeString(random(), 10)); + Document2 doc = writer.newDocument(); + doc.addAtom("field", TestUtil.randomUnicodeString(random(), 10)); writer.addDocument(doc); } reader = writer.getReader(); Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestRollback.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestRollback.java?rev=1640053&r1=1640052&r2=1640053&view=diff ============================================================================== --- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestRollback.java (original) +++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestRollback.java Mon Nov 17 00:43:44 2014 @@ -18,6 +18,7 @@ package org.apache.lucene.index; */ import org.apache.lucene.analysis.MockAnalyzer; +import org.apache.lucene.document.Document2; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; import org.apache.lucene.store.Directory; @@ -30,8 +31,8 @@ public class TestRollback extends Lucene Directory dir = newDirectory(); RandomIndexWriter rw = new RandomIndexWriter(random(), dir); for (int i = 0; i < 5; i++) { - Document doc = new Document(); - doc.add(newStringField("pk", Integer.toString(i), Field.Store.YES)); + Document2 doc = rw.newDocument(); + doc.addAtom("pk", Integer.toString(i)); rw.addDocument(doc); } rw.close(); @@ -42,10 +43,10 @@ public class TestRollback extends Lucene .setOpenMode(IndexWriterConfig.OpenMode.APPEND)); for (int i = 0; i < 3; i++) { - Document doc = new Document(); + Document2 doc = w.newDocument(); String value = Integer.toString(i); - doc.add(newStringField("pk", value, Field.Store.YES)); - doc.add(newStringField("text", "foo", Field.Store.YES)); + doc.addAtom("pk", value); + doc.addAtom("text", "foo"); w.updateDocument(new Term("pk", value), doc); } w.rollback(); Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestSameTokenSamePosition.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestSameTokenSamePosition.java?rev=1640053&r1=1640052&r2=1640053&view=diff ============================================================================== --- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestSameTokenSamePosition.java (original) +++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestSameTokenSamePosition.java Mon Nov 17 00:43:44 2014 @@ -23,6 +23,7 @@ import org.apache.lucene.analysis.TokenS import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; import org.apache.lucene.analysis.tokenattributes.OffsetAttribute; import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute; +import org.apache.lucene.document.Document2; import org.apache.lucene.document.Document; import org.apache.lucene.document.TextField; import org.apache.lucene.store.Directory; @@ -37,8 +38,8 @@ public class TestSameTokenSamePosition e public void test() throws Exception { Directory dir = newDirectory(); RandomIndexWriter riw = new RandomIndexWriter(random(), dir); - Document doc = new Document(); - doc.add(new TextField("eng", new BugReproTokenStream())); + Document2 doc = riw.newDocument(); + doc.addLargeText("eng", new BugReproTokenStream()); riw.addDocument(doc); riw.close(); dir.close(); @@ -51,8 +52,8 @@ public class TestSameTokenSamePosition e Directory dir = newDirectory(); RandomIndexWriter riw = new RandomIndexWriter(random(), dir); for (int i = 0; i < 100; i++) { - Document doc = new Document(); - doc.add(new TextField("eng", new BugReproTokenStream())); + Document2 doc = riw.newDocument(); + doc.addLargeText("eng", new BugReproTokenStream()); riw.addDocument(doc); } riw.close(); Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestSegmentMerger.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestSegmentMerger.java?rev=1640053&r1=1640052&r2=1640053&view=diff ============================================================================== --- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestSegmentMerger.java (original) +++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestSegmentMerger.java Mon Nov 17 00:43:44 2014 @@ -43,11 +43,9 @@ public class TestSegmentMerger extends L private String mergedSegment = "test"; //First segment to be merged private Directory merge1Dir; - private Document doc1 = new Document(); private SegmentReader reader1 = null; //Second Segment to be merged private Directory merge2Dir; - private Document doc2 = new Document(); private SegmentReader reader2 = null; @Override Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestSegmentTermEnum.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestSegmentTermEnum.java?rev=1640053&r1=1640052&r2=1640053&view=diff ============================================================================== --- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestSegmentTermEnum.java (original) +++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestSegmentTermEnum.java Mon Nov 17 00:43:44 2014 @@ -19,14 +19,15 @@ package org.apache.lucene.index; import java.io.IOException; -import org.apache.lucene.document.Field; -import org.apache.lucene.util.LuceneTestCase; -import org.apache.lucene.util.BytesRef; -import org.apache.lucene.util.TestUtil; import org.apache.lucene.analysis.MockAnalyzer; +import org.apache.lucene.document.Document2; import org.apache.lucene.document.Document; +import org.apache.lucene.document.Field; import org.apache.lucene.index.IndexWriterConfig.OpenMode; import org.apache.lucene.store.Directory; +import org.apache.lucene.util.BytesRef; +import org.apache.lucene.util.LuceneTestCase; +import org.apache.lucene.util.TestUtil; public class TestSegmentTermEnum extends LuceneTestCase { @@ -133,10 +134,9 @@ public class TestSegmentTermEnum extends reader.close(); } - private void addDoc(IndexWriter writer, String value) throws IOException - { - Document doc = new Document(); - doc.add(newTextField("content", value, Field.Store.NO)); + private void addDoc(IndexWriter writer, String value) throws IOException { + Document2 doc = writer.newDocument(); + doc.addLargeText("content", value); writer.addDocument(doc); } } Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestSizeBoundedForceMerge.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestSizeBoundedForceMerge.java?rev=1640053&r1=1640052&r2=1640053&view=diff ============================================================================== --- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestSizeBoundedForceMerge.java (original) +++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestSizeBoundedForceMerge.java Mon Nov 17 00:43:44 2014 @@ -19,8 +19,10 @@ package org.apache.lucene.index; import java.io.IOException; +import org.apache.lucene.document.Document2; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; +import org.apache.lucene.document.FieldTypes; import org.apache.lucene.document.StringField; import org.apache.lucene.store.Directory; import org.apache.lucene.store.RAMDirectory; @@ -34,9 +36,9 @@ public class TestSizeBoundedForceMerge e private void addDocs(IndexWriter writer, int numDocs, boolean withID) throws IOException { for (int i = 0; i < numDocs; i++) { - Document doc = new Document(); + Document2 doc = writer.newDocument(); if (withID) { - doc.add(new StringField("id", "" + i, Field.Store.NO)); + doc.addUniqueInt("id", i); } writer.addDocument(doc); } @@ -281,13 +283,12 @@ public class TestSizeBoundedForceMerge e IndexWriterConfig conf = newWriterConfig(); IndexWriter writer = new IndexWriter(dir, conf); + FieldTypes fieldTypes = writer.getFieldTypes(); addDocs(writer, 3); addDocs(writer, 5); addDocs(writer, 3); - // delete the last document, so that the last segment is merged. - writer.deleteDocuments(new Term("id", "10")); writer.close(); conf = newWriterConfig(); @@ -334,12 +335,13 @@ public class TestSizeBoundedForceMerge e IndexWriterConfig conf = newWriterConfig(); IndexWriter writer = new IndexWriter(dir, conf); + FieldTypes fieldTypes = writer.getFieldTypes(); addDocs(writer, 5, true); // delete the last document - writer.deleteDocuments(new Term("id", "4")); + writer.deleteDocuments(fieldTypes.newIntTerm("id", 4)); writer.close(); conf = newWriterConfig(); Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestSnapshotDeletionPolicy.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestSnapshotDeletionPolicy.java?rev=1640053&r1=1640052&r2=1640053&view=diff ============================================================================== --- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestSnapshotDeletionPolicy.java (original) +++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestSnapshotDeletionPolicy.java Mon Nov 17 00:43:44 2014 @@ -24,8 +24,10 @@ import java.util.List; import java.util.Random; import org.apache.lucene.analysis.MockAnalyzer; +import org.apache.lucene.document.Document2; import org.apache.lucene.document.Document; import org.apache.lucene.document.FieldType; +import org.apache.lucene.document.FieldTypes; import org.apache.lucene.document.TextField; import org.apache.lucene.store.Directory; import org.apache.lucene.store.IndexInput; @@ -71,7 +73,7 @@ public class TestSnapshotDeletionPolicy throws RuntimeException, IOException { for (int i = 0; i < numSnapshots; i++) { // create dummy document to trigger commit. - writer.addDocument(new Document()); + writer.addDocument(writer.newDocument()); writer.commit(); snapshots.add(sdp.snapshot()); } @@ -123,16 +125,16 @@ public class TestSnapshotDeletionPolicy } dp = (SnapshotDeletionPolicy) writer.getConfig().getIndexDeletionPolicy(); writer.commit(); - + FieldTypes fieldTypes = writer.getFieldTypes(); + fieldTypes.enableTermVectors("content"); + fieldTypes.enableTermVectorPositions("content"); + fieldTypes.enableTermVectorOffsets("content"); + final Thread t = new Thread() { @Override public void run() { - Document doc = new Document(); - FieldType customType = new FieldType(TextField.TYPE_STORED); - customType.setStoreTermVectors(true); - customType.setStoreTermVectorPositions(true); - customType.setStoreTermVectorOffsets(true); - doc.add(newField("content", "aaa", customType)); + Document2 doc = writer.newDocument(); + doc.addLargeText("content", "aaa"); do { for(int i=0;i<27;i++) { try { @@ -172,12 +174,8 @@ public class TestSnapshotDeletionPolicy // Add one more document to force writer to commit a // final segment, so deletion policy has a chance to // delete again: - Document doc = new Document(); - FieldType customType = new FieldType(TextField.TYPE_STORED); - customType.setStoreTermVectors(true); - customType.setStoreTermVectorPositions(true); - customType.setStoreTermVectorOffsets(true); - doc.add(newField("content", "aaa", customType)); + Document2 doc = writer.newDocument(); + doc.addLargeText("content", "aaa"); writer.addDocument(doc); // Make sure we don't have any leftover files in the @@ -299,7 +297,7 @@ public class TestSnapshotDeletionPolicy @Override public void run() { try { - writer.addDocument(new Document()); + writer.addDocument(writer.newDocument()); writer.commit(); snapshots[finalI] = sdp.snapshot(); } catch (Exception e) { @@ -319,7 +317,7 @@ public class TestSnapshotDeletionPolicy } // Do one last commit, so that after we release all snapshots, we stay w/ one commit - writer.addDocument(new Document()); + writer.addDocument(writer.newDocument()); writer.commit(); for (int i=0;i aDocs = new HashSet<>(); - final Document doc = new Document(); - final Field f = newStringField("field", "", Field.Store.NO); - doc.add(f); - final Field idField = newStringField("id", "", Field.Store.YES); - doc.add(idField); int num = atLeast(4097); if (VERBOSE) { System.out.println("\nTEST: numDocs=" + num); } for(int id=0;id exists = new ConcurrentHashMap<>(); Thread[] threads = new Thread[TestUtil.nextInt(random(), 2, 6)]; @@ -59,12 +63,12 @@ public class TestStressDeletes extends L synchronized (locks[id]) { Boolean v = exists.get(id); if (v == null || v.booleanValue() == false) { - Document doc = new Document(); - doc.add(newStringField("id", ""+id, Field.Store.NO)); + Document2 doc = w.newDocument(); + doc.addUniqueInt("id", id); w.addDocument(doc); exists.put(id, true); } else { - w.deleteDocuments(new Term("id", ""+id)); + w.deleteDocuments(fieldTypes.newIntTerm("id", id)); exists.put(id, false); } } @@ -92,7 +96,7 @@ public class TestStressDeletes extends L IndexSearcher s = newSearcher(r); for(Map.Entry ent : exists.entrySet()) { int id = ent.getKey(); - TopDocs hits = s.search(new TermQuery(new Term("id", ""+id)), 1); + TopDocs hits = s.search(fieldTypes.newIntTermQuery("id", id), 1); if (ent.getValue()) { assertEquals(1, hits.totalHits); } else { Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestStressIndexing.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestStressIndexing.java?rev=1640053&r1=1640052&r2=1640053&view=diff ============================================================================== --- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestStressIndexing.java (original) +++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestStressIndexing.java Mon Nov 17 00:43:44 2014 @@ -74,19 +74,21 @@ public class TestStressIndexing extends @Override public void doWork() throws Exception { + FieldTypes fieldTypes = writer.getFieldTypes(); + // Add 10 docs: for(int j=0; j<10; j++) { - Document d = new Document(); + Document2 d = writer.newDocument(); int n = random().nextInt(); - d.add(newStringField("id", Integer.toString(nextID++), Field.Store.YES)); - d.add(newTextField("contents", English.intToEnglish(n), Field.Store.NO)); + d.addInt("id", nextID++); + d.addLargeText("contents", English.intToEnglish(n)); writer.addDocument(d); } // Delete 5 docs: int deleteID = nextID-1; for(int j=0; j<5; j++) { - writer.deleteDocuments(new Term("id", ""+deleteID)); + writer.deleteDocuments(fieldTypes.newIntTerm("id", deleteID)); deleteID -= 2; } } Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestStressNRT.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestStressNRT.java?rev=1640053&r1=1640052&r2=1640053&view=diff ============================================================================== --- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestStressNRT.java (original) +++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestStressNRT.java Mon Nov 17 00:43:44 2014 @@ -232,9 +232,9 @@ public class TestStressNRT extends Lucen // add tombstone first if (tombstones) { - Document d = new Document(); - d.add(newStringField("id", "-"+Integer.toString(id), Field.Store.YES)); - d.add(newField(field, Long.toString(nextVal), storedOnlyType)); + Document2 d = writer.newDocument(); + d.addAtom("id", "-"+Integer.toString(id)); + d.addStored(field, Long.toString(nextVal)); writer.updateDocument(new Term("id", "-"+Integer.toString(id)), d); } @@ -248,9 +248,9 @@ public class TestStressNRT extends Lucen // add tombstone first if (tombstones) { - Document d = new Document(); - d.add(newStringField("id", "-"+Integer.toString(id), Field.Store.YES)); - d.add(newField(field, Long.toString(nextVal), storedOnlyType)); + Document2 d = writer.newDocument(); + d.addAtom("id", "-"+Integer.toString(id)); + d.addStored(field, Long.toString(nextVal)); writer.updateDocument(new Term("id", "-"+Integer.toString(id)), d); } @@ -261,9 +261,9 @@ public class TestStressNRT extends Lucen model.put(id, -nextVal); } else { // assertU(adoc("id",Integer.toString(id), field, Long.toString(nextVal))); - Document d = new Document(); - d.add(newStringField("id", Integer.toString(id), Field.Store.YES)); - d.add(newField(field, Long.toString(nextVal), storedOnlyType)); + Document2 d = writer.newDocument(); + d.addAtom("id", Integer.toString(id)); + d.addStored(field, Long.toString(nextVal)); if (VERBOSE) { System.out.println("TEST: " + Thread.currentThread().getName() + ": u id:" + id + " val=" + nextVal); } Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestSumDocFreq.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestSumDocFreq.java?rev=1640053&r1=1640052&r2=1640053&view=diff ============================================================================== --- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestSumDocFreq.java (original) +++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestSumDocFreq.java Mon Nov 17 00:43:44 2014 @@ -17,8 +17,10 @@ package org.apache.lucene.index; * limitations under the License. */ +import org.apache.lucene.document.Document2; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; +import org.apache.lucene.document.FieldTypes; import org.apache.lucene.store.Directory; import org.apache.lucene.util.LuceneTestCase; import org.apache.lucene.util.TestUtil; @@ -34,22 +36,17 @@ public class TestSumDocFreq extends Luce Directory dir = newDirectory(); RandomIndexWriter writer = new RandomIndexWriter(random(), dir); + FieldTypes fieldTypes = writer.getFieldTypes(); - Document doc = new Document(); - Field id = newStringField("id", "", Field.Store.NO); - Field field1 = newTextField("foo", "", Field.Store.NO); - Field field2 = newTextField("bar", "", Field.Store.NO); - doc.add(id); - doc.add(field1); - doc.add(field2); for (int i = 0; i < numDocs; i++) { - id.setStringValue("" + i); + Document2 doc = writer.newDocument(); + doc.addUniqueInt("id", i); char ch1 = (char) TestUtil.nextInt(random(), 'a', 'z'); char ch2 = (char) TestUtil.nextInt(random(), 'a', 'z'); - field1.setStringValue("" + ch1 + " " + ch2); + doc.addLargeText("foo", "" + ch1 + " " + ch2); ch1 = (char) TestUtil.nextInt(random(), 'a', 'z'); ch2 = (char) TestUtil.nextInt(random(), 'a', 'z'); - field2.setStringValue("" + ch1 + " " + ch2); + doc.addLargeText("bar", "" + ch1 + " " + ch2); writer.addDocument(doc); } @@ -60,7 +57,7 @@ public class TestSumDocFreq extends Luce int numDeletions = atLeast(20); for (int i = 0; i < numDeletions; i++) { - writer.deleteDocuments(new Term("id", "" + random().nextInt(numDocs))); + writer.deleteDocuments(fieldTypes.newIntTerm("id", random().nextInt(numDocs))); } writer.forceMerge(1); writer.close(); Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestTermVectorsReader.java URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestTermVectorsReader.java?rev=1640053&r1=1640052&r2=1640053&view=diff ============================================================================== --- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestTermVectorsReader.java (original) +++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestTermVectorsReader.java Mon Nov 17 00:43:44 2014 @@ -26,9 +26,11 @@ import org.apache.lucene.analysis.tokena import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute; import org.apache.lucene.codecs.Codec; import org.apache.lucene.codecs.TermVectorsReader; +import org.apache.lucene.document.Document2; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; import org.apache.lucene.document.FieldType; +import org.apache.lucene.document.FieldTypes; import org.apache.lucene.document.StoredField; import org.apache.lucene.document.TextField; import org.apache.lucene.search.DocIdSetIterator; @@ -96,28 +98,21 @@ public class TestTermVectorsReader exten setMergePolicy(newLogMergePolicy(false, 10)) .setUseCompoundFile(false) ); - - Document doc = new Document(); + FieldTypes fieldTypes = writer.getFieldTypes(); for(int i=0;i terms, Map termToID, int id) throws IOException { - Document doc = new Document(); - doc.add(new IntField("id", id, Field.Store.YES)); - doc.add(new NumericDocValuesField("id", id)); + Document2 doc = w.newDocument(); + doc.addUniqueInt("id", id); if (VERBOSE) { System.out.println("TEST: addDoc id:" + id + " terms=" + terms); } for (String s2 : terms) { - doc.add(newStringField("f", s2, Field.Store.NO)); + doc.addAtom("f", s2); termToID.put(new BytesRef(s2), id); } w.addDocument(doc); @@ -185,6 +185,8 @@ public class TestTermsEnum extends Lucen public void testIntersectRandom() throws IOException { final Directory dir = newDirectory(); final RandomIndexWriter w = new RandomIndexWriter(random(), dir); + FieldTypes fieldTypes = w.getFieldTypes(); + fieldTypes.setMultiValued("f"); final int numTerms = atLeast(300); //final int numTerms = 50; @@ -358,9 +360,8 @@ public class TestTermsEnum extends Lucen final RandomIndexWriter w = new RandomIndexWriter(random(), d, iwc); for(String term : terms) { - Document doc = new Document(); - Field f = newStringField(FIELD, term, Field.Store.NO); - doc.add(f); + Document2 doc = w.newDocument(); + doc.addAtom(FIELD, term); w.addDocument(doc); } if (r != null) { @@ -497,10 +498,10 @@ public class TestTermsEnum extends Lucen public void testZeroTerms() throws Exception { d = newDirectory(); final RandomIndexWriter w = new RandomIndexWriter(random(), d); - Document doc = new Document(); - doc.add(newTextField("field", "one two three", Field.Store.NO)); - doc = new Document(); - doc.add(newTextField("field2", "one two three", Field.Store.NO)); + Document2 doc = w.newDocument(); + doc.addLargeText("field", "one two three"); + doc = w.newDocument(); + doc.addLargeText("field2", "one two three"); w.addDocument(doc); w.commit(); w.deleteDocuments(new Term("field", "one")); @@ -720,16 +721,16 @@ public class TestTermsEnum extends Lucen IndexWriterConfig iwc = newIndexWriterConfig(new MockAnalyzer(random())); iwc.setMergePolicy(new LogDocMergePolicy()); RandomIndexWriter w = new RandomIndexWriter(random(), dir, iwc); - Document doc = new Document(); - doc.add(newTextField("field", "aaa", Field.Store.NO)); + Document2 doc = w.newDocument(); + doc.addAtom("field", "aaa"); w.addDocument(doc); - doc = new Document(); - doc.add(newStringField("field", "bbb", Field.Store.NO)); + doc = w.newDocument(); + doc.addAtom("field", "bbb"); w.addDocument(doc); - doc = new Document(); - doc.add(newTextField("field", "ccc", Field.Store.NO)); + doc = w.newDocument(); + doc.addAtom("field", "ccc"); w.addDocument(doc); w.forceMerge(1); @@ -770,20 +771,20 @@ public class TestTermsEnum extends Lucen IndexWriterConfig iwc = newIndexWriterConfig(new MockAnalyzer(random())); iwc.setMergePolicy(new LogDocMergePolicy()); RandomIndexWriter w = new RandomIndexWriter(random(), dir, iwc); - Document doc = new Document(); - doc.add(newStringField("field", "abc", Field.Store.NO)); + Document2 doc = w.newDocument(); + doc.addAtom("field", "abc"); w.addDocument(doc); - doc = new Document(); - doc.add(newStringField("field", "abd", Field.Store.NO)); + doc = w.newDocument(); + doc.addAtom("field", "abd"); w.addDocument(doc); - doc = new Document(); - doc.add(newStringField("field", "acd", Field.Store.NO)); + doc = w.newDocument(); + doc.addAtom("field", "acd"); w.addDocument(doc); - doc = new Document(); - doc.add(newStringField("field", "bcd", Field.Store.NO)); + doc = w.newDocument(); + doc.addAtom("field", "bcd"); w.addDocument(doc); w.forceMerge(1); @@ -827,17 +828,20 @@ public class TestTermsEnum extends Lucen IndexWriterConfig iwc = newIndexWriterConfig(new MockAnalyzer(random())); iwc.setMergePolicy(new LogDocMergePolicy()); RandomIndexWriter w = new RandomIndexWriter(random(), dir, iwc); - Document doc = new Document(); - doc.add(newStringField("field", "", Field.Store.NO)); - doc.add(newStringField("field", "abc", Field.Store.NO)); + FieldTypes fieldTypes = w.getFieldTypes(); + fieldTypes.disableSorting("field"); + + Document2 doc = w.newDocument(); + doc.addAtom("field", ""); + doc.addAtom("field", "abc"); w.addDocument(doc); - doc = new Document(); + doc = w.newDocument(); // add empty string to both documents, so that singletonDocID == -1. // For a FST-based term dict, we'll expect to see the first arc is // flaged with HAS_FINAL_OUTPUT - doc.add(newStringField("field", "abc", Field.Store.NO)); - doc.add(newStringField("field", "", Field.Store.NO)); + doc.addAtom("field", "abc"); + doc.addAtom("field", ""); w.addDocument(doc); w.forceMerge(1); @@ -894,8 +898,8 @@ public class TestTermsEnum extends Lucen terms.add(prefix + TestUtil.randomRealisticUnicodeString(random(), 1, 20)); } for(String term : terms) { - Document doc = new Document(); - doc.add(newStringField("id", term, Field.Store.YES)); + Document2 doc = w.newDocument(); + doc.addUniqueAtom("id", term); w.addDocument(doc); } IndexReader r = w.getReader(); @@ -979,8 +983,8 @@ public class TestTermsEnum extends Lucen IndexWriterConfig iwc = newIndexWriterConfig(new MockAnalyzer(random())); iwc.setOpenMode(IndexWriterConfig.OpenMode.CREATE); RandomIndexWriter w = new RandomIndexWriter(random(), dir, iwc); - Document doc = new Document(); - doc.add(newTextField("field", sb.toString(), Field.Store.NO)); + Document2 doc = w.newDocument(); + doc.addLargeText("field", sb.toString()); w.addDocument(doc); IndexReader r = w.getReader(); assertEquals(1, r.leaves().size());