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 2014/11/11 12:24:56 UTC

svn commit: r1638066 [2/4] - in /lucene/dev/branches/lucene6005/lucene/core/src: java/ java/org/apache/lucene/document/ java/org/apache/lucene/index/ test/org/apache/lucene/codecs/lucene50/ test/org/apache/lucene/codecs/perfield/ test/org/apache/lucene...

Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestMultiFields.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestMultiFields.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestMultiFields.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestMultiFields.java Tue Nov 11 11:24:51 2014
@@ -17,12 +17,13 @@ package org.apache.lucene.index;
  * limitations under the License.
  */
 
+import java.util.*;
+
+import org.apache.lucene.analysis.*;
+import org.apache.lucene.document.*;
 import org.apache.lucene.search.DocIdSetIterator;
 import org.apache.lucene.store.*;
 import org.apache.lucene.util.*;
-import org.apache.lucene.document.*;
-import org.apache.lucene.analysis.*;
-import java.util.*;
 
 public class TestMultiFields extends LuceneTestCase {
 
@@ -46,11 +47,6 @@ public class TestMultiFields extends Luc
       List<BytesRef> terms = new ArrayList<>();
 
       int numDocs = TestUtil.nextInt(random(), 1, 100 * RANDOM_MULTIPLIER);
-      Document doc = new Document();
-      Field f = newStringField("field", "", Field.Store.NO);
-      doc.add(f);
-      Field id = newStringField("id", "", Field.Store.NO);
-      doc.add(id);
 
       boolean onlyUniqueTerms = random().nextBoolean();
       if (VERBOSE) {
@@ -59,11 +55,12 @@ public class TestMultiFields extends Luc
       Set<BytesRef> uniqueTerms = new HashSet<>();
       for(int i=0;i<numDocs;i++) {
 
+        Document2 doc = w.newDocument();
         if (!onlyUniqueTerms && random().nextBoolean() && terms.size() > 0) {
           // re-use existing term
           BytesRef term = terms.get(random().nextInt(terms.size()));
           docs.get(term).add(i);
-          f.setStringValue(term.utf8ToString());
+          doc.addAtom("field", term.utf8ToString());
         } else {
           String s = TestUtil.randomUnicodeString(random(), 10);
           BytesRef term = new BytesRef(s);
@@ -73,9 +70,9 @@ public class TestMultiFields extends Luc
           docs.get(term).add(i);
           terms.add(term);
           uniqueTerms.add(term);
-          f.setStringValue(s);
+          doc.addAtom("field", s);
         }
-        id.setStringValue(""+i);
+        doc.addUniqueAtom("id", ""+i);
         w.addDocument(doc);
         if (random().nextInt(4) == 1) {
           w.commit();
@@ -126,7 +123,7 @@ public class TestMultiFields extends Luc
         DocsEnum docsEnum = TestUtil.docs(random(), reader, "field", term, liveDocs, null, DocsEnum.FLAG_NONE);
         if (docsEnum == null) {
           for(int docID : docs.get(term)) {
-            assert deleted.contains(docID);
+            assertTrue(deleted.contains(docID));
           }
         } else {
           for(int docID : docs.get(term)) {
@@ -161,8 +158,8 @@ public class TestMultiFields extends Luc
   public void testSeparateEnums() throws Exception {
     Directory dir = newDirectory();
     IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(new MockAnalyzer(random())));
-    Document d = new Document();
-    d.add(newStringField("f", "j", Field.Store.NO));
+    Document2 d = w.newDocument();
+    d.addAtom("f", "j");
     w.addDocument(d);
     w.commit();
     w.addDocument(d);
@@ -179,8 +176,8 @@ public class TestMultiFields extends Luc
   public void testTermDocsEnum() throws Exception {
     Directory dir = newDirectory();
     IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(new MockAnalyzer(random())));
-    Document d = new Document();
-    d.add(newStringField("f", "j", Field.Store.NO));
+    Document2 d = w.newDocument();
+    d.addAtom("f", "j");
     w.addDocument(d);
     w.commit();
     w.addDocument(d);

Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestTermsEnum2.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestTermsEnum2.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestTermsEnum2.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestTermsEnum2.java Tue Nov 11 11:24:51 2014
@@ -25,8 +25,7 @@ import java.util.TreeSet;
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.analysis.MockTokenizer;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
+import org.apache.lucene.document.Document2;
 import org.apache.lucene.index.TermsEnum.SeekStatus;
 import org.apache.lucene.search.AutomatonQuery;
 import org.apache.lucene.search.CheckHits;
@@ -56,15 +55,13 @@ public class TestTermsEnum2 extends Luce
     RandomIndexWriter writer = new RandomIndexWriter(random(), dir,
         newIndexWriterConfig(new MockAnalyzer(random(), MockTokenizer.KEYWORD, false))
             .setMaxBufferedDocs(TestUtil.nextInt(random(), 50, 1000)));
-    Document doc = new Document();
-    Field field = newStringField("field", "", Field.Store.YES);
-    doc.add(field);
     terms = new TreeSet<>();
  
     int num = atLeast(200);
     for (int i = 0; i < num; i++) {
       String s = TestUtil.randomUnicodeString(random());
-      field.setStringValue(s);
+      Document2 doc = writer.newDocument();
+      doc.addAtom("field", s);
       terms.add(new BytesRef(s));
       writer.addDocument(doc);
     }

Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestUniqueAtom.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestUniqueAtom.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestUniqueAtom.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/index/TestUniqueAtom.java Tue Nov 11 11:24:51 2014
@@ -20,13 +20,10 @@ package org.apache.lucene.index;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
-import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.CountDownLatch;
 
 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.search.ReferenceManager;
 import org.apache.lucene.store.Directory;
@@ -278,7 +275,7 @@ public class TestUniqueAtom extends Luce
       fail("did not hit exception");
     } catch (RuntimeException re) {
       // expected
-      assertEquals("UNIQUE_ATOM field=\"field\" is not unique: term=[6f 6e 65] matches both docID=0 and docID=1; unable to fix this index", re.getMessage());
+      assertEquals("UNIQUE_ATOM field=\"field\" is not unique: e.g. term=[6f 6e 65] matches both docID=0 and docID=1", re.getMessage());
     }
     
     dir.close();

Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/FuzzyTermOnShortTermsTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/FuzzyTermOnShortTermsTest.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/FuzzyTermOnShortTermsTest.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/FuzzyTermOnShortTermsTest.java Tue Nov 11 11:24:51 2014
@@ -16,14 +16,12 @@
  */
 package org.apache.lucene.search;
 
-
 import java.io.IOException;
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.Tokenizer;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
+import org.apache.lucene.document.Document2;
 import org.apache.lucene.index.DirectoryReader;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.RandomIndexWriter;
@@ -33,7 +31,6 @@ import org.apache.lucene.util.LuceneTest
 import org.apache.lucene.util.TestUtil;
 import org.junit.Test;
 
-
 public class FuzzyTermOnShortTermsTest extends LuceneTestCase {
    private final static String FIELD = "field";
    
@@ -87,10 +84,9 @@ public class FuzzyTermOnShortTermsTest e
           .setMaxBufferedDocs(TestUtil.nextInt(random(), 100, 1000)).setMergePolicy(newLogMergePolicy()));
 
       for (String s : vals){
-         Document d = new Document();
-         d.add(newTextField(FIELD, s, Field.Store.YES));
+         Document2 d = writer.newDocument();
+         d.addLargeText(FIELD, s);
          writer.addDocument(d);
-            
       }
       writer.close();
       return directory;

Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestAutomatonQueryUnicode.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestAutomatonQueryUnicode.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestAutomatonQueryUnicode.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestAutomatonQueryUnicode.java Tue Nov 11 11:24:51 2014
@@ -19,8 +19,7 @@ package org.apache.lucene.search;
 
 import java.io.IOException;
 
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
+import org.apache.lucene.document.Document2;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.index.Term;
@@ -46,38 +45,28 @@ public class TestAutomatonQueryUnicode e
     super.setUp();
     directory = newDirectory();
     RandomIndexWriter writer = new RandomIndexWriter(random(), directory);
-    Document doc = new Document();
-    Field titleField = newTextField("title", "some title", Field.Store.NO);
-    Field field = newTextField(FN, "", Field.Store.NO);
-    Field footerField = newTextField("footer", "a footer", Field.Store.NO);
-    doc.add(titleField);
-    doc.add(field);
-    doc.add(footerField);
-    field.setStringValue("\uD866\uDF05abcdef");
-    writer.addDocument(doc);
-    field.setStringValue("\uD866\uDF06ghijkl");
-    writer.addDocument(doc);
-    // this sorts before the previous two in UTF-8/UTF-32, but after in UTF-16!!!
-    field.setStringValue("\uFB94mnopqr"); 
-    writer.addDocument(doc);
-    field.setStringValue("\uFB95stuvwx"); // this one too.
-    writer.addDocument(doc);
-    field.setStringValue("a\uFFFCbc");
-    writer.addDocument(doc);
-    field.setStringValue("a\uFFFDbc");
-    writer.addDocument(doc);
-    field.setStringValue("a\uFFFEbc");
-    writer.addDocument(doc);
-    field.setStringValue("a\uFB94bc");
-    writer.addDocument(doc);
-    field.setStringValue("bacadaba");
-    writer.addDocument(doc);
-    field.setStringValue("\uFFFD");
-    writer.addDocument(doc);
-    field.setStringValue("\uFFFD\uD866\uDF05");
-    writer.addDocument(doc);
-    field.setStringValue("\uFFFD\uFFFD");
-    writer.addDocument(doc);
+
+    for(String body : new String[] {
+        "\uD866\uDF05abcdef",
+        "\uD866\uDF06ghijkl",
+        "\uFB94mnopqr", // this sorts before the previous two in UTF-8/UTF-32, but after in UTF-16!!!
+        "\uFB95stuvwx", // this one too.
+        "a\uFFFCbc",
+        "a\uFFFDbc",
+        "a\uFFFEbc",
+        "a\uFB94bc",
+        "bacadaba",
+        "\uFFFD",
+        "\uFFFD\uD866\uDF05",
+        "\uFFFD\uFFFD" }) {
+
+      Document2 doc = writer.newDocument();
+      doc.addLargeText(FN, body);
+      doc.addShortText("title", "some title");
+      doc.addShortText("footer", "a footer");
+      writer.addDocument(doc);
+    }
+
     reader = writer.getReader();
     searcher = newSearcher(reader);
     writer.close();

Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestBooleanCoord.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestBooleanCoord.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestBooleanCoord.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestBooleanCoord.java Tue Nov 11 11:24:51 2014
@@ -20,10 +20,8 @@ package org.apache.lucene.search;
 import java.io.IOException;
 import java.util.concurrent.atomic.AtomicBoolean;
 
-import org.apache.lucene.analysis.MockAnalyzer;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.StringField;
+import org.apache.lucene.document.Document2;
+import org.apache.lucene.document.FieldTypes;
 import org.apache.lucene.index.DirectoryReader;
 import org.apache.lucene.index.FieldInvertState;
 import org.apache.lucene.index.IndexWriter;
@@ -49,22 +47,24 @@ public class TestBooleanCoord extends Lu
   public static void beforeClass() throws Exception {
     dir = newDirectory();
     IndexWriter iw = new IndexWriter(dir, new IndexWriterConfig(null));
-    
+    FieldTypes fieldTypes = iw.getFieldTypes();
+    fieldTypes.setMultiValued("field");
+
     // we only add two documents for testing:
     // the first document has 3 terms A,B,C (for positive matching). we test scores against this.
     // the second document has 3 negative terms 1,2,3 that exist in the segment (for non-null scorers)
     // to test terms that don't exist (null scorers), we use X,Y,Z
     
-    Document doc = new Document();
-    doc.add(new StringField("field", "A", Field.Store.NO));
-    doc.add(new StringField("field", "B", Field.Store.NO));
-    doc.add(new StringField("field", "C", Field.Store.NO));
+    Document2 doc = iw.newDocument();
+    doc.addAtom("field", "A");
+    doc.addAtom("field", "B");
+    doc.addAtom("field", "C");
     iw.addDocument(doc);
     
-    doc = new Document();
-    doc.add(new StringField("field", "1", Field.Store.NO));
-    doc.add(new StringField("field", "2", Field.Store.NO));
-    doc.add(new StringField("field", "3", Field.Store.NO));
+    doc = iw.newDocument();
+    doc.addAtom("field", "1");
+    doc.addAtom("field", "2");
+    doc.addAtom("field", "3");
     iw.addDocument(doc);
 
     iw.close();

Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestBooleanMinShouldMatch.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestBooleanMinShouldMatch.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestBooleanMinShouldMatch.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestBooleanMinShouldMatch.java Tue Nov 11 11:24:51 2014
@@ -23,8 +23,6 @@ import java.util.Locale;
 import java.util.Random;
 
 import org.apache.lucene.document.Document2;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.index.Term;
@@ -60,11 +58,11 @@ public class TestBooleanMinShouldMatch e
     RandomIndexWriter w = new RandomIndexWriter(random(), index);
 
     for (int i = 0; i < data.length; i++) {
-      Document doc = new Document();
-      doc.add(newStringField("id", String.valueOf(i), Field.Store.YES));//Field.Keyword("id",String.valueOf(i)));
-      doc.add(newStringField("all", "all", Field.Store.YES));//Field.Keyword("all","all"));
+      Document2 doc = w.newDocument();
+      doc.addUniqueAtom("id", String.valueOf(i));//Field.Keyword("id",String.valueOf(i)));
+      doc.addLargeText("all", "all");//Field.Keyword("all","all"));
       if (null != data[i]) {
-        doc.add(newTextField("data", data[i], Field.Store.YES));//Field.Text("data",data[i]));
+        doc.addLargeText("data", data[i]);//Field.Text("data",data[i]));
       }
       w.addDocument(doc);
     }

Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestBooleanQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestBooleanQuery.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestBooleanQuery.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestBooleanQuery.java Tue Nov 11 11:24:51 2014
@@ -27,14 +27,12 @@ import java.util.concurrent.TimeUnit;
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.MockAnalyzer;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.TextField;
-import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.document.Document2;
 import org.apache.lucene.index.DirectoryReader;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.index.IndexWriterConfig;
+import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.index.MultiReader;
 import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.index.Term;
@@ -81,8 +79,8 @@ public class TestBooleanQuery extends Lu
   public void testNullOrSubScorer() throws Throwable {
     Directory dir = newDirectory();
     RandomIndexWriter w = new RandomIndexWriter(random(), dir);
-    Document doc = new Document();
-    doc.add(newTextField("field", "a b c d", Field.Store.NO));
+    Document2 doc = w.newDocument();
+    doc.addLargeText("field", "a b c d");
     w.addDocument(doc);
 
     IndexReader r = w.getReader();
@@ -145,16 +143,16 @@ public class TestBooleanQuery extends Lu
   public void testDeMorgan() throws Exception {
     Directory dir1 = newDirectory();
     RandomIndexWriter iw1 = new RandomIndexWriter(random(), dir1);
-    Document doc1 = new Document();
-    doc1.add(newTextField("field", "foo bar", Field.Store.NO));
+    Document2 doc1 = iw1.newDocument();
+    doc1.addLargeText("field", "foo bar");
     iw1.addDocument(doc1);
     IndexReader reader1 = iw1.getReader();
     iw1.close();
     
     Directory dir2 = newDirectory();
     RandomIndexWriter iw2 = new RandomIndexWriter(random(), dir2);
-    Document doc2 = new Document();
-    doc2.add(newTextField("field", "foo baz", Field.Store.NO));
+    Document2 doc2 = iw2.newDocument();
+    doc2.addLargeText("field", "foo baz");
     iw2.addDocument(doc2);
     IndexReader reader2 = iw2.getReader();
     iw2.close();
@@ -205,8 +203,8 @@ public class TestBooleanQuery extends Lu
       if (random().nextInt(20) <= 1) {
         contents += " f";
       }
-      Document doc = new Document();
-      doc.add(new TextField("field", contents, Field.Store.NO));
+      Document2 doc = w.newDocument();
+      doc.addLargeText("field", contents);
       w.addDocument(doc);
     }
     w.forceMerge(1);
@@ -301,8 +299,8 @@ public class TestBooleanQuery extends Lu
     IndexWriterConfig config = new IndexWriterConfig(indexerAnalyzer);
     IndexWriter writer = new IndexWriter(directory, config);
     String FIELD = "content";
-    Document d = new Document();
-    d.add(new TextField(FIELD, "clockwork orange", Field.Store.YES));
+    Document2 d = writer.newDocument();
+    d.addLargeText(FIELD, "clockwork orange");
     writer.addDocument(d);
     writer.close();
 
@@ -330,8 +328,8 @@ public class TestBooleanQuery extends Lu
   public void testInOrderWithMinShouldMatch() throws Exception {
     Directory dir = newDirectory();
     RandomIndexWriter w = new RandomIndexWriter(random(), dir);
-    Document doc = new Document();
-    doc.add(newTextField("field", "some text here", Field.Store.NO));
+    Document2 doc = w.newDocument();
+    doc.addLargeText("field", "some text here");
     w.addDocument(doc);
     IndexReader r = w.getReader();
     w.close();

Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestBooleanScorer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestBooleanScorer.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestBooleanScorer.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestBooleanScorer.java Tue Nov 11 11:24:51 2014
@@ -23,11 +23,9 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.TextField;
-import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.document.Document2;
 import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.index.Term;
 import org.apache.lucene.search.BooleanQuery.BooleanWeight;
@@ -45,8 +43,8 @@ public class TestBooleanScorer extends L
 
     RandomIndexWriter writer = new RandomIndexWriter(random(), directory);
     for (int i = 0; i < values.length; i++) {
-      Document doc = new Document();
-      doc.add(newStringField(FIELD, values[i], Field.Store.YES));
+      Document2 doc = writer.newDocument();
+      doc.addAtom(FIELD, values[i]);
       writer.addDocument(doc);
     }
     IndexReader ir = writer.getReader();
@@ -130,11 +128,11 @@ public class TestBooleanScorer extends L
   public void testMoreThan32ProhibitedClauses() throws Exception {
     final Directory d = newDirectory();
     final RandomIndexWriter w = new RandomIndexWriter(random(), d);
-    Document doc = new Document();
-    doc.add(new TextField("field", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33", Field.Store.NO));
+    Document2 doc = w.newDocument();
+    doc.addLargeText("field", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33");
     w.addDocument(doc);
-    doc = new Document();
-    doc.add(new TextField("field", "33", Field.Store.NO));
+    doc = w.newDocument();
+    doc.addLargeText("field", "33");
     w.addDocument(doc);
     final IndexReader r = w.getReader();
     w.close();
@@ -232,8 +230,8 @@ public class TestBooleanScorer extends L
   public void testEmbeddedBooleanScorer() throws Exception {
     Directory dir = newDirectory();
     RandomIndexWriter w = new RandomIndexWriter(random(), dir);
-    Document doc = new Document();
-    doc.add(newTextField("field", "doctors are people who prescribe medicines of which they know little, to cure diseases of which they know less, in human beings of whom they know nothing", Field.Store.NO));
+    Document2 doc = w.newDocument();
+    doc.addLargeText("field", "doctors are people who prescribe medicines of which they know little, to cure diseases of which they know less, in human beings of whom they know nothing");
     w.addDocument(doc);
     IndexReader r = w.getReader();
     w.close();

Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestBooleanUnevenly.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestBooleanUnevenly.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestBooleanUnevenly.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestBooleanUnevenly.java Tue Nov 11 11:24:51 2014
@@ -18,8 +18,7 @@ package org.apache.lucene.search;
  */
 
 import org.apache.lucene.analysis.MockAnalyzer;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
+import org.apache.lucene.document.Document2;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.index.Term;
@@ -46,27 +45,27 @@ public class TestBooleanUnevenly extends
   public static void beforeClass() throws Exception {
     directory = newDirectory();
     RandomIndexWriter w = new RandomIndexWriter(random(), directory, new MockAnalyzer(random()));
-    Document doc;
+    Document2 doc;
     count1 = 0;
     for (int i=0;i<2;i++) {
       for (int j=0;j<2048;j++) {
-        doc = new Document();
-        doc.add(newTextField(field, "1", Field.Store.NO));
+        doc = w.newDocument();
+        doc.addLargeText(field, "1");
         count1 ++;
         w.addDocument(doc);
       }
       for (int j=0;j<2048;j++) {
-        doc = new Document();
-        doc.add(newTextField(field, "2", Field.Store.NO));
+        doc = w.newDocument();
+        doc.addLargeText(field, "2");
         w.addDocument(doc);
       }
-      doc = new Document();
-      doc.add(newTextField(field, "1", Field.Store.NO));
+      doc = w.newDocument();
+      doc.addLargeText(field, "1");
       count1 ++;
       w.addDocument(doc);
       for (int j=0;j<2048;j++) {
-        doc = new Document();
-        doc.add(newTextField(field, "2", Field.Store.NO));
+        doc = w.newDocument();
+        doc.addLargeText(field, "2");
         w.addDocument(doc);
       }
     }

Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestConstantScoreQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestConstantScoreQuery.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestConstantScoreQuery.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestConstantScoreQuery.java Tue Nov 11 11:24:51 2014
@@ -17,8 +17,9 @@ package org.apache.lucene.search;
  * limitations under the License.
  */
 
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
+import java.io.IOException;
+
+import org.apache.lucene.document.Document2;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.index.Term;
@@ -26,8 +27,6 @@ import org.apache.lucene.search.similari
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.util.LuceneTestCase;
 
-import java.io.IOException;
-
 /** This class only tests some basic functionality in CSQ, the main parts are mostly
  * tested by MultiTermQuery tests, explanations seems to be tested in TestExplanations! */
 public class TestConstantScoreQuery extends LuceneTestCase {
@@ -84,8 +83,8 @@ public class TestConstantScoreQuery exte
       directory = newDirectory();
       RandomIndexWriter writer = new RandomIndexWriter (random(), directory);
 
-      Document doc = new Document();
-      doc.add(newStringField("field", "term", Field.Store.NO));
+      Document2 doc = writer.newDocument();
+      doc.addAtom("field", "term");
       writer.addDocument(doc);
 
       reader = writer.getReader();
@@ -129,11 +128,11 @@ public class TestConstantScoreQuery exte
   public void testConstantScoreQueryAndFilter() throws Exception {
     Directory d = newDirectory();
     RandomIndexWriter w = new RandomIndexWriter(random(), d);
-    Document doc = new Document();
-    doc.add(newStringField("field", "a", Field.Store.NO));
+    Document2 doc = w.newDocument();
+    doc.addAtom("field", "a");
     w.addDocument(doc);
-    doc = new Document();
-    doc.add(newStringField("field", "b", Field.Store.NO));
+    doc = w.newDocument();
+    doc.addAtom("field", "b");
     w.addDocument(doc);
     IndexReader r = w.getReader();
     w.close();
@@ -158,8 +157,8 @@ public class TestConstantScoreQuery exte
   public void testQueryWrapperFilter() throws IOException {
     Directory d = newDirectory();
     RandomIndexWriter w = new RandomIndexWriter(random(), d);
-    Document doc = new Document();
-    doc.add(newStringField("field", "a", Field.Store.NO));
+    Document2 doc = w.newDocument();
+    doc.addAtom("field", "a");
     w.addDocument(doc);
     IndexReader r = w.getReader();
     w.close();

Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestCustomSearcherSort.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestCustomSearcherSort.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestCustomSearcherSort.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestCustomSearcherSort.java Tue Nov 11 11:24:51 2014
@@ -26,6 +26,7 @@ import java.util.TimeZone;
 import java.util.TreeMap;
 
 import org.apache.lucene.document.DateTools;
+import org.apache.lucene.document.Document2;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
 import org.apache.lucene.index.IndexReader;
@@ -55,16 +56,16 @@ public class TestCustomSearcherSort exte
     RandomGen random = new RandomGen(random());
     for (int i = 0; i < INDEX_SIZE; ++i) { // don't decrease; if to low the
                                            // problem doesn't show up
-      Document doc = new Document();
+      Document2 doc = writer.newDocument();
       if ((i % 5) != 0) { // some documents must not have an entry in the first
                           // sort field
-        doc.add(newStringField("publicationDate_", random.getLuceneDate(), Field.Store.YES));
+        doc.addAtom("publicationDate_", random.getLuceneDate());
       }
       if ((i % 7) == 0) { // some documents to match the query (see below)
-        doc.add(newTextField("content", "test", Field.Store.YES));
+        doc.addLargeText("content", "test");
       }
       // every document has a defined 'mandant' field
-      doc.add(newStringField("mandant", Integer.toString(i % 3), Field.Store.YES));
+      doc.addAtom("mandant", Integer.toString(i % 3));
       writer.addDocument(doc);
     }
     reader = writer.getReader();

Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestDateFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestDateFilter.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestDateFilter.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestDateFilter.java Tue Nov 11 11:24:51 2014
@@ -17,16 +17,15 @@ package org.apache.lucene.search;
  * limitations under the License.
  */
 
-import org.apache.lucene.document.Field;
-import org.apache.lucene.store.Directory;
-import org.apache.lucene.util.LuceneTestCase;
+import java.io.IOException;
+
 import org.apache.lucene.document.DateTools;
-import org.apache.lucene.document.Document;
+import org.apache.lucene.document.Document2;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.index.Term;
-
-import java.io.IOException;
+import org.apache.lucene.store.Directory;
+import org.apache.lucene.util.LuceneTestCase;
 
 /**
  * DateFilter JUnit tests.
@@ -45,10 +44,10 @@ public class TestDateFilter extends Luce
     
     long now = System.currentTimeMillis();
     
-    Document doc = new Document();
+    Document2 doc = writer.newDocument();
     // add time that is in the past
-    doc.add(newStringField("datefield", DateTools.timeToString(now - 1000, DateTools.Resolution.MILLISECOND), Field.Store.YES));
-    doc.add(newTextField("body", "Today is a very sunny day in New York City", Field.Store.YES));
+    doc.addAtom("datefield", DateTools.timeToString(now - 1000, DateTools.Resolution.MILLISECOND));
+    doc.addLargeText("body", "Today is a very sunny day in New York City");
     writer.addDocument(doc);
     
     IndexReader reader = writer.getReader();
@@ -108,10 +107,10 @@ public class TestDateFilter extends Luce
     
     long now = System.currentTimeMillis();
     
-    Document doc = new Document();
+    Document2 doc = writer.newDocument();
     // add time that is in the future
-    doc.add(newStringField("datefield", DateTools.timeToString(now + 888888, DateTools.Resolution.MILLISECOND), Field.Store.YES));
-    doc.add(newTextField("body", "Today is a very sunny day in New York City", Field.Store.YES));
+    doc.addAtom("datefield", DateTools.timeToString(now + 888888, DateTools.Resolution.MILLISECOND));
+    doc.addLargeText("body", "Today is a very sunny day in New York City");
     writer.addDocument(doc);
     
     IndexReader reader = writer.getReader();

Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestDateSort.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestDateSort.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestDateSort.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestDateSort.java Tue Nov 11 11:24:51 2014
@@ -21,14 +21,10 @@ import java.util.Arrays;
 
 import org.apache.lucene.document.DateTools;
 import org.apache.lucene.document.Document2;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.SortedDocValuesField;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.index.Term;
 import org.apache.lucene.store.Directory;
-import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.LuceneTestCase;
 
 /**
@@ -52,16 +48,16 @@ public class TestDateSort extends Lucene
 
     // oldest doc:
     // Add the first document.  text = "Document 1"  dateTime = Oct 10 03:25:22 EDT 2007
-    writer.addDocument(createDocument("Document 1", 1192001122000L));
+    writer.addDocument(createDocument(writer, "Document 1", 1192001122000L));
     // Add the second document.  text = "Document 2"  dateTime = Oct 10 03:25:26 EDT 2007 
-    writer.addDocument(createDocument("Document 2", 1192001126000L));
+    writer.addDocument(createDocument(writer, "Document 2", 1192001126000L));
     // Add the third document.  text = "Document 3"  dateTime = Oct 11 07:12:13 EDT 2007 
-    writer.addDocument(createDocument("Document 3", 1192101133000L));
+    writer.addDocument(createDocument(writer, "Document 3", 1192101133000L));
     // Add the fourth document.  text = "Document 4"  dateTime = Oct 11 08:02:09 EDT 2007
-    writer.addDocument(createDocument("Document 4", 1192104129000L));
+    writer.addDocument(createDocument(writer, "Document 4", 1192104129000L));
     // latest doc:
     // Add the fifth document.  text = "Document 5"  dateTime = Oct 12 13:25:43 EDT 2007
-    writer.addDocument(createDocument("Document 5", 1192209943000L));
+    writer.addDocument(createDocument(writer, "Document 5", 1192209943000L));
 
     reader = writer.getReader();
     writer.close();
@@ -100,18 +96,15 @@ public class TestDateSort extends Lucene
     assertEquals(Arrays.asList(expectedOrder), Arrays.asList(actualOrder));
   }
 
-  private Document createDocument(String text, long time) {
-    Document document = new Document();
+  private Document2 createDocument(RandomIndexWriter writer, String text, long time) {
+    Document2 document = writer.newDocument();
 
     // Add the text field.
-    Field textField = newTextField(TEXT_FIELD, text, Field.Store.YES);
-    document.add(textField);
+    document.addLargeText(TEXT_FIELD, text);
 
     // Add the date/time field.
-    String dateTimeString = DateTools.timeToString(time, DateTools.Resolution.SECOND);
-    Field dateTimeField = newStringField(DATE_TIME_FIELD, dateTimeString, Field.Store.YES);
-    document.add(dateTimeField);
-    document.add(new SortedDocValuesField(DATE_TIME_FIELD, new BytesRef(dateTimeString)));
+    document.addAtom(DATE_TIME_FIELD,
+                     DateTools.timeToString(time, DateTools.Resolution.SECOND));
 
     return document;
   }

Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestDisjunctionMaxQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestDisjunctionMaxQuery.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestDisjunctionMaxQuery.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestDisjunctionMaxQuery.java Tue Nov 11 11:24:51 2014
@@ -24,8 +24,8 @@ import java.util.Locale;
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.MockAnalyzer;
-import org.apache.lucene.document.Document2;
 import org.apache.lucene.document.Document;
+import org.apache.lucene.document.Document2;
 import org.apache.lucene.document.Field;
 import org.apache.lucene.document.FieldType;
 import org.apache.lucene.document.TextField;
@@ -108,53 +108,39 @@ public class TestDisjunctionMaxQuery ext
     
     // d1 is an "ok" match for: albino elephant
     {
-      Document d1 = new Document();
-      d1.add(newField("id", "d1", nonAnalyzedType));// Field.Keyword("id",
-                                                                               // "d1"));
-      d1
-          .add(newTextField("hed", "elephant", Field.Store.YES));// Field.Text("hed", "elephant"));
-      d1
-          .add(newTextField("dek", "elephant", Field.Store.YES));// Field.Text("dek", "elephant"));
+      Document2 d1 = writer.newDocument();
+      d1.addUniqueAtom("id", "d1");
+      d1.addLargeText("hed", "elephant");
+      d1.addLargeText("dek", "elephant");
       writer.addDocument(d1);
     }
     
     // d2 is a "good" match for: albino elephant
     {
-      Document d2 = new Document();
-      d2.add(newField("id", "d2", nonAnalyzedType));// Field.Keyword("id",
-                                                                               // "d2"));
-      d2
-          .add(newTextField("hed", "elephant", Field.Store.YES));// Field.Text("hed", "elephant"));
-      d2.add(newTextField("dek", "albino", Field.Store.YES));// Field.Text("dek",
-                                                                                // "albino"));
-      d2
-          .add(newTextField("dek", "elephant", Field.Store.YES));// Field.Text("dek", "elephant"));
+      Document2 d2 = writer.newDocument();
+      d2.addUniqueAtom("id", "d2");
+      d2.addLargeText("hed", "elephant");
+      d2.addLargeText("dek", "albino");
+      d2.addLargeText("dek", "elephant");
       writer.addDocument(d2);
     }
     
     // d3 is a "better" match for: albino elephant
     {
-      Document d3 = new Document();
-      d3.add(newField("id", "d3", nonAnalyzedType));// Field.Keyword("id",
-                                                                               // "d3"));
-      d3.add(newTextField("hed", "albino", Field.Store.YES));// Field.Text("hed",
-                                                                                // "albino"));
-      d3
-          .add(newTextField("hed", "elephant", Field.Store.YES));// Field.Text("hed", "elephant"));
+      Document2 d3 = writer.newDocument();
+      d3.addUniqueAtom("id", "d3");
+      d3.addLargeText("hed", "albino");
+      d3.addLargeText("hed", "elephant");
       writer.addDocument(d3);
     }
     
     // d4 is the "best" match for: albino elephant
     {
-      Document d4 = new Document();
-      d4.add(newField("id", "d4", nonAnalyzedType));// Field.Keyword("id",
-                                                                               // "d4"));
-      d4.add(newTextField("hed", "albino", Field.Store.YES));// Field.Text("hed",
-                                                                                // "albino"));
-      d4
-          .add(newField("hed", "elephant", nonAnalyzedType));// Field.Text("hed", "elephant"));
-      d4.add(newTextField("dek", "albino", Field.Store.YES));// Field.Text("dek",
-                                                                                // "albino"));
+      Document2 d4 = writer.newDocument();
+      d4.addUniqueAtom("id", "d4");
+      d4.addLargeText("hed", "albino");
+      d4.addLargeText("hed", "elephant");
+      d4.addLargeText("dek", "albino");
       writer.addDocument(d4);
     }
     

Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestDocBoost.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestDocBoost.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestDocBoost.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestDocBoost.java Tue Nov 11 11:24:51 2014
@@ -21,8 +21,8 @@ import java.io.IOException;
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.*;
-import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.index.Term;
 import org.apache.lucene.store.Directory;
@@ -38,17 +38,12 @@ public class TestDocBoost extends Lucene
     Directory store = newDirectory();
     RandomIndexWriter writer = new RandomIndexWriter(random(), store, newIndexWriterConfig(new MockAnalyzer(random())).setMergePolicy(newLogMergePolicy()));
 
-    Field f1 = newTextField("field", "word", Field.Store.YES);
-    Field f2 = newTextField("field", "word", Field.Store.YES);
-    f2.setBoost(2.0f);
-
-    Document d1 = new Document();
-    Document d2 = new Document();
-
-    d1.add(f1);                                 // boost = 1
-    d2.add(f2);                                 // boost = 2
-
+    Document2 d1 = writer.newDocument();
+    d1.addLargeText("field", "word");           // boost = 1
     writer.addDocument(d1);
+
+    Document2 d2 = writer.newDocument();
+    d2.addLargeText("field", "word", 2.0f);     // boost = 2
     writer.addDocument(d2);
 
     IndexReader reader = writer.getReader();

Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestDocIdSet.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestDocIdSet.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestDocIdSet.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestDocIdSet.java Tue Nov 11 11:24:51 2014
@@ -22,17 +22,16 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Iterator;
 
-import junit.framework.Assert;
-
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.document.Document2;
 import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.util.Bits;
 import org.apache.lucene.util.LuceneTestCase;
 
+import junit.framework.Assert;
+
 public class TestDocIdSet extends LuceneTestCase {
   public void testFilteredDocIdSet() throws Exception {
     final int maxdoc=10;
@@ -111,8 +110,8 @@ public class TestDocIdSet extends Lucene
     // IndexSearcher, everything works fine. This came up in LUCENE-1754.
     Directory dir = newDirectory();
     RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
-    Document doc = new Document();
-    doc.add(newStringField("c", "val", Field.Store.NO));
+    Document2 doc = writer.newDocument();
+    doc.addAtom("c", "val");
     writer.addDocument(doc);
     IndexReader reader = writer.getReader();
     writer.close();
@@ -137,8 +136,8 @@ public class TestDocIdSet extends Lucene
   public void testNullIteratorFilteredDocIdSet() throws Exception {
     Directory dir = newDirectory();
     RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
-    Document doc = new Document();
-    doc.add(newStringField("c", "val", Field.Store.NO));
+    Document2 doc = writer.newDocument();
+    doc.addAtom("c", "val");
     writer.addDocument(doc);
     IndexReader reader = writer.getReader();
     writer.close();

Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestDocTermOrdsRangeFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestDocTermOrdsRangeFilter.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestDocTermOrdsRangeFilter.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestDocTermOrdsRangeFilter.java Tue Nov 11 11:24:51 2014
@@ -24,9 +24,8 @@ import java.util.List;
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.analysis.MockTokenizer;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.SortedSetDocValuesField;
+import org.apache.lucene.document.Document2;
+import org.apache.lucene.document.FieldTypes;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.index.Term;
@@ -54,16 +53,17 @@ public class TestDocTermOrdsRangeFilter 
     RandomIndexWriter writer = new RandomIndexWriter(random(), dir, 
         newIndexWriterConfig(new MockAnalyzer(random(), MockTokenizer.KEYWORD, false))
         .setMaxBufferedDocs(TestUtil.nextInt(random(), 50, 1000)));
+    FieldTypes fieldTypes = writer.getFieldTypes();
+    fieldTypes.setMultiValued(fieldName);
     List<String> terms = new ArrayList<>();
     int num = atLeast(200);
     for (int i = 0; i < num; i++) {
-      Document doc = new Document();
-      doc.add(newStringField("id", Integer.toString(i), Field.Store.NO));
+      Document2 doc = writer.newDocument();
+      doc.addUniqueAtom("id", Integer.toString(i));
       int numTerms = random().nextInt(4);
       for (int j = 0; j < numTerms; j++) {
         String s = TestUtil.randomUnicodeString(random());
-        doc.add(newStringField(fieldName, s, Field.Store.NO));
-        doc.add(new SortedSetDocValuesField(fieldName, new BytesRef(s)));
+        doc.addAtom(fieldName, s);
         terms.add(s);
       }
       writer.addDocument(doc);

Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestDocTermOrdsRewriteMethod.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestDocTermOrdsRewriteMethod.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestDocTermOrdsRewriteMethod.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestDocTermOrdsRewriteMethod.java Tue Nov 11 11:24:51 2014
@@ -24,19 +24,17 @@ import java.util.List;
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.analysis.MockTokenizer;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.SortedSetDocValuesField;
+import org.apache.lucene.document.Document2;
+import org.apache.lucene.document.FieldTypes;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.index.Term;
 import org.apache.lucene.store.Directory;
-import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.util.UnicodeUtil;
 import org.apache.lucene.util.automaton.AutomatonTestUtil;
 import org.apache.lucene.util.automaton.RegExp;
-import org.apache.lucene.util.UnicodeUtil;
 
 /**
  * Tests the DocTermOrdsRewriteMethod
@@ -56,16 +54,17 @@ public class TestDocTermOrdsRewriteMetho
     RandomIndexWriter writer = new RandomIndexWriter(random(), dir, 
         newIndexWriterConfig(new MockAnalyzer(random(), MockTokenizer.KEYWORD, false))
         .setMaxBufferedDocs(TestUtil.nextInt(random(), 50, 1000)));
+    FieldTypes fieldTypes = writer.getFieldTypes();
+    fieldTypes.setMultiValued(fieldName);
     List<String> terms = new ArrayList<>();
     int num = atLeast(200);
     for (int i = 0; i < num; i++) {
-      Document doc = new Document();
-      doc.add(newStringField("id", Integer.toString(i), Field.Store.NO));
+      Document2 doc = writer.newDocument();
+      doc.addUniqueAtom("id", Integer.toString(i));
       int numTerms = random().nextInt(4);
       for (int j = 0; j < numTerms; j++) {
         String s = TestUtil.randomUnicodeString(random());
-        doc.add(newStringField(fieldName, s, Field.Store.NO));
-        doc.add(new SortedSetDocValuesField(fieldName, new BytesRef(s)));
+        doc.addAtom(fieldName, s);
         terms.add(s);
       }
       writer.addDocument(doc);

Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestDocValuesScoring.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestDocValuesScoring.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestDocValuesScoring.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestDocValuesScoring.java Tue Nov 11 11:24:51 2014
@@ -19,13 +19,11 @@ package org.apache.lucene.search;
 
 import java.io.IOException;
 
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.FloatDocValuesField;
-import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.document.Document2;
 import org.apache.lucene.index.DocValues;
 import org.apache.lucene.index.FieldInvertState;
 import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.index.NumericDocValues;
 import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.index.Term;
@@ -47,21 +45,17 @@ public class TestDocValuesScoring extend
   public void testSimple() throws Exception {    
     Directory dir = newDirectory();
     RandomIndexWriter iw = new RandomIndexWriter(random(), dir);
-    Document doc = new Document();
-    Field field = newTextField("foo", "", Field.Store.NO);
-    doc.add(field);
-    Field dvField = new FloatDocValuesField("foo_boost", 0.0F);
-    doc.add(dvField);
-    Field field2 = newTextField("bar", "", Field.Store.NO);
-    doc.add(field2);
-    
-    field.setStringValue("quick brown fox");
-    field2.setStringValue("quick brown fox");
-    dvField.setFloatValue(2f); // boost x2
+    
+    Document2 doc = iw.newDocument();
+    doc.addLargeText("foo", "quick brown fox");
+    doc.addLargeText("bar", "quick brown fox");
+    doc.addFloat("foo_boost", 2f);
     iw.addDocument(doc);
-    field.setStringValue("jumps over lazy brown dog");
-    field2.setStringValue("jumps over lazy brown dog");
-    dvField.setFloatValue(4f); // boost x4
+
+    doc = iw.newDocument();
+    doc.addLargeText("foo", "jumps over lazy brown dog");
+    doc.addLargeText("bar", "jumps over lazy brown dog");
+    doc.addFloat("foo_boost", 4f); // boost x4
     iw.addDocument(doc);
     IndexReader ir = iw.getReader();
     iw.close();

Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestEarlyTermination.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestEarlyTermination.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestEarlyTermination.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestEarlyTermination.java Tue Nov 11 11:24:51 2014
@@ -19,9 +19,8 @@ package org.apache.lucene.search;
 
 import java.io.IOException;
 
-import org.apache.lucene.document.Document;
-import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.util.LuceneTestCase;
@@ -38,7 +37,7 @@ public class TestEarlyTermination extend
     writer = new RandomIndexWriter(random(), dir);
     final int numDocs = atLeast(100);
     for (int i = 0; i < numDocs; i++) {
-      writer.addDocument(new Document());
+      writer.addDocument(writer.newDocument());
       if (rarely()) {
         writer.commit();
       }

Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestElevationComparator.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestElevationComparator.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestElevationComparator.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestElevationComparator.java Tue Nov 11 11:24:51 2014
@@ -17,19 +17,18 @@ package org.apache.lucene.search;
  * limitations under the License.
  */
 
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
 import org.apache.lucene.analysis.MockAnalyzer;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.SortedDocValuesField;
+import org.apache.lucene.document.Document2;
 import org.apache.lucene.index.*;
 import org.apache.lucene.search.FieldValueHitQueue.Entry;
 import org.apache.lucene.search.similarities.DefaultSimilarity;
 import org.apache.lucene.store.*;
-import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.util.BytesRef;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
+import org.apache.lucene.util.LuceneTestCase;
 
 public class TestElevationComparator extends LuceneTestCase {
 
@@ -39,18 +38,18 @@ public class TestElevationComparator ext
   public void testSorting() throws Throwable {
     Directory directory = newDirectory();
     IndexWriter writer = new IndexWriter(
-        directory,
-        newIndexWriterConfig(new MockAnalyzer(random())).
-            setMaxBufferedDocs(2).
-            setMergePolicy(newLogMergePolicy(1000)).
-            setSimilarity(new DefaultSimilarity())
-    );
-    writer.addDocument(adoc(new String[] {"id", "a", "title", "ipod", "str_s", "a"}));
-    writer.addDocument(adoc(new String[] {"id", "b", "title", "ipod ipod", "str_s", "b"}));
-    writer.addDocument(adoc(new String[] {"id", "c", "title", "ipod ipod ipod", "str_s","c"}));
-    writer.addDocument(adoc(new String[] {"id", "x", "title", "boosted", "str_s", "x"}));
-    writer.addDocument(adoc(new String[] {"id", "y", "title", "boosted boosted", "str_s","y"}));
-    writer.addDocument(adoc(new String[] {"id", "z", "title", "boosted boosted boosted","str_s", "z"}));
+                                         directory,
+                                         newIndexWriterConfig(new MockAnalyzer(random())).
+                                         setMaxBufferedDocs(2).
+                                         setMergePolicy(newLogMergePolicy(1000)).
+                                         setSimilarity(new DefaultSimilarity())
+                                         );
+    adoc(writer, new String[] {"id", "a", "title", "ipod", "str_s", "a"});
+    adoc(writer, new String[] {"id", "b", "title", "ipod ipod", "str_s", "b"});
+    adoc(writer, new String[] {"id", "c", "title", "ipod ipod ipod", "str_s","c"});
+    adoc(writer, new String[] {"id", "x", "title", "boosted", "str_s", "x"});
+    adoc(writer, new String[] {"id", "y", "title", "boosted boosted", "str_s","y"});
+    adoc(writer, new String[] {"id", "z", "title", "boosted boosted boosted","str_s", "z"});
 
     IndexReader r = DirectoryReader.open(writer, true);
     writer.close();
@@ -74,9 +73,9 @@ public class TestElevationComparator ext
     newq.add(getElevatedQuery(new String[] {"id", "a", "id", "x"}), BooleanClause.Occur.SHOULD);
 
     Sort sort = new Sort(
-        new SortField("id", new ElevationComparatorSource(priority), false),
-        new SortField(null, SortField.Type.SCORE, reversed)
-      );
+                         new SortField("id", new ElevationComparatorSource(priority), false),
+                         new SortField(null, SortField.Type.SCORE, reversed)
+                         );
 
     TopDocsCollector<Entry> topCollector = TopFieldCollector.create(sort, 50, false, true, true, true);
     searcher.search(newq, null, topCollector);
@@ -99,40 +98,41 @@ public class TestElevationComparator ext
     }
 
     /*
-    for (int i = 0; i < nDocsReturned; i++) {
-     ScoreDoc scoreDoc = topDocs.scoreDocs[i];
-     ids[i] = scoreDoc.doc;
-     scores[i] = scoreDoc.score;
-     documents[i] = searcher.doc(ids[i]);
-     System.out.println("ids[i] = " + ids[i]);
-     System.out.println("documents[i] = " + documents[i]);
-     System.out.println("scores[i] = " + scores[i]);
-   }
+      for (int i = 0; i < nDocsReturned; i++) {
+      ScoreDoc scoreDoc = topDocs.scoreDocs[i];
+      ids[i] = scoreDoc.doc;
+      scores[i] = scoreDoc.score;
+      documents[i] = searcher.doc(ids[i]);
+      System.out.println("ids[i] = " + ids[i]);
+      System.out.println("documents[i] = " + documents[i]);
+      System.out.println("scores[i] = " + scores[i]);
+      }
     */
- }
+  }
 
- private Query getElevatedQuery(String[] vals) {
-   BooleanQuery q = new BooleanQuery(false);
-   q.setBoost(0);
-   int max = (vals.length / 2) + 5;
-   for (int i = 0; i < vals.length - 1; i += 2) {
-     q.add(new TermQuery(new Term(vals[i], vals[i + 1])), BooleanClause.Occur.SHOULD);
-     priority.put(new BytesRef(vals[i + 1]), Integer.valueOf(max--));
-     // System.out.println(" pri doc=" + vals[i+1] + " pri=" + (1+max));
-   }
-   return q;
- }
+  private Query getElevatedQuery(String[] vals) {
+    BooleanQuery q = new BooleanQuery(false);
+    q.setBoost(0);
+    int max = (vals.length / 2) + 5;
+    for (int i = 0; i < vals.length - 1; i += 2) {
+      q.add(new TermQuery(new Term(vals[i], vals[i + 1])), BooleanClause.Occur.SHOULD);
+      priority.put(new BytesRef(vals[i + 1]), Integer.valueOf(max--));
+      // System.out.println(" pri doc=" + vals[i+1] + " pri=" + (1+max));
+    }
+    return q;
+  }
 
- private Document adoc(String[] vals) {
-   Document doc = new Document();
-   for (int i = 0; i < vals.length - 2; i += 2) {
-     doc.add(newTextField(vals[i], vals[i + 1], Field.Store.YES));
-     if (vals[i].equals("id")) {
-       doc.add(new SortedDocValuesField(vals[i], new BytesRef(vals[i+1])));
-     }
-   }
-   return doc;
- }
+  private void adoc(IndexWriter w, String[] vals) throws IOException {
+    Document2 doc = w.newDocument();
+    for (int i = 0; i < vals.length - 2; i += 2) {
+      if (vals[i].equals("id")) {
+        doc.addUniqueAtom(vals[i], new BytesRef(vals[i+1]));
+      } else {
+        doc.addLargeText(vals[i], vals[i + 1]);
+      }
+    }
+    w.addDocument(doc);
+  }
 }
 
 class ElevationComparatorSource extends FieldComparatorSource {

Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestFieldCacheTermsFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestFieldCacheTermsFilter.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestFieldCacheTermsFilter.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestFieldCacheTermsFilter.java Tue Nov 11 11:24:51 2014
@@ -17,18 +17,14 @@ package org.apache.lucene.search;
  * limitations under the License.
  */
 
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.SortedDocValuesField;
-import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.LuceneTestCase;
+import java.util.ArrayList;
+import java.util.List;
 
-import org.apache.lucene.document.Document;
+import org.apache.lucene.document.Document2;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.store.Directory;
-
-import java.util.ArrayList;
-import java.util.List;
+import org.apache.lucene.util.LuceneTestCase;
 
 /**
  * A basic unit test for FieldCacheTermsFilter
@@ -41,10 +37,9 @@ public class TestFieldCacheTermsFilter e
     Directory rd = newDirectory();
     RandomIndexWriter w = new RandomIndexWriter(random(), rd);
     for (int i = 0; i < 100; i++) {
-      Document doc = new Document();
+      Document2 doc = w.newDocument();
       int term = i * 10; //terms are units of 10;
-      doc.add(newStringField(fieldName, "" + term, Field.Store.YES));
-      doc.add(new SortedDocValuesField(fieldName, new BytesRef("" + term)));
+      doc.addAtom(fieldName, "" + term);
       w.addDocument(doc);
     }
     IndexReader reader = w.getReader();

Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestIndexSearcher.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestIndexSearcher.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestIndexSearcher.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestIndexSearcher.java Tue Nov 11 11:24:51 2014
@@ -22,8 +22,7 @@ import java.util.concurrent.LinkedBlocki
 import java.util.concurrent.ThreadPoolExecutor;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
+import org.apache.lucene.document.Document2;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.index.Term;
@@ -45,9 +44,9 @@ public class TestIndexSearcher extends L
     dir = newDirectory();
     RandomIndexWriter iw = new RandomIndexWriter(random(), dir);
     for (int i = 0; i < 100; i++) {
-      Document doc = new Document();
-      doc.add(newStringField("field", Integer.toString(i), Field.Store.NO));
-      doc.add(newStringField("field2", Boolean.toString(i % 2 == 0), Field.Store.NO));
+      Document2 doc = iw.newDocument();
+      doc.addUniqueAtom("field", Integer.toString(i));
+      doc.addAtom("field2", Boolean.toString(i % 2 == 0));
       iw.addDocument(doc);
     }
     reader = iw.getReader();
@@ -124,7 +123,7 @@ public class TestIndexSearcher extends L
     // LUCENE-5128: ensure we get a meaningful message if searchAfter exceeds maxDoc
     Directory dir = newDirectory();
     RandomIndexWriter w = new RandomIndexWriter(random(), dir);
-    w.addDocument(new Document());
+    w.addDocument(w.newDocument());
     IndexReader r = w.getReader();
     w.close();
     

Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestLiveFieldValues.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestLiveFieldValues.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestLiveFieldValues.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestLiveFieldValues.java Tue Nov 11 11:24:51 2014
@@ -29,10 +29,6 @@ import java.util.concurrent.CountDownLat
 
 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.document.IntField;
-import org.apache.lucene.document.StringField;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.index.IndexWriterConfig;
@@ -102,14 +98,14 @@ public class TestLiveFieldValues extends
               startingGun.await();
               for(int iter=0; iter<iters;iter++) {
                 // Add/update a document
-                Document doc = new Document();
+                Document2 doc = w.newDocument();
                 // Threads must not update the same id at the
                 // same time:
                 if (threadRandom.nextDouble() <= addChance) {
                   String id = String.format(Locale.ROOT, "%d_%04x", threadID, threadRandom.nextInt(idCount));
                   Integer field = threadRandom.nextInt(Integer.MAX_VALUE);
-                  doc.add(new StringField("id", id, Field.Store.YES));
-                  doc.add(new IntField("field", field.intValue(), Field.Store.YES));
+                  doc.addUniqueAtom("id", id);
+                  doc.addInt("field", field.intValue());
                   w.updateDocument(new Term("id", id), doc);
                   rt.add(id, field);
                   if (values.put(id, field) == null) {

Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestMatchAllDocsQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestMatchAllDocsQuery.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestMatchAllDocsQuery.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestMatchAllDocsQuery.java Tue Nov 11 11:24:51 2014
@@ -20,14 +20,12 @@ import java.io.IOException;
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.MockAnalyzer;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
+import org.apache.lucene.document.Document2;
 import org.apache.lucene.index.DirectoryReader;
+import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.index.Term;
-import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.store.Directory;
-
 import org.apache.lucene.util.LuceneTestCase;
 
 /**
@@ -96,10 +94,8 @@ public class TestMatchAllDocsQuery exten
   }
   
   private void addDoc(String text, IndexWriter iw, float boost) throws IOException {
-    Document doc = new Document();
-    Field f = newTextField("key", text, Field.Store.YES);
-    f.setBoost(boost);
-    doc.add(f);
+    Document2 doc = iw.newDocument();
+    doc.addLargeText("key", text, boost);
     iw.addDocument(doc);
   }
 

Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestMinShouldMatch2.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestMinShouldMatch2.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestMinShouldMatch2.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestMinShouldMatch2.java Tue Nov 11 11:24:51 2014
@@ -25,12 +25,10 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.SortedSetDocValuesField;
-import org.apache.lucene.document.StringField;
-import org.apache.lucene.index.LeafReader;
+import org.apache.lucene.document.Document2;
+import org.apache.lucene.document.FieldTypes;
 import org.apache.lucene.index.DirectoryReader;
+import org.apache.lucene.index.LeafReader;
 import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.index.SortedSetDocValues;
 import org.apache.lucene.index.Term;
@@ -62,9 +60,12 @@ public class TestMinShouldMatch2 extends
   public static void beforeClass() throws Exception {
     dir = newDirectory();
     RandomIndexWriter iw = new RandomIndexWriter(random(), dir);
+    FieldTypes fieldTypes = iw.getFieldTypes();
+    fieldTypes.setMultiValued("field");
+    fieldTypes.setMultiValued("dv");
     final int numDocs = atLeast(300);
     for (int i = 0; i < numDocs; i++) {
-      Document doc = new Document();
+      Document2 doc = iw.newDocument();
       
       addSome(doc, alwaysTerms);
       
@@ -102,13 +103,13 @@ public class TestMinShouldMatch2 extends
     dir = null;
   }
   
-  private static void addSome(Document doc, String values[]) {
+  private static void addSome(Document2 doc, String values[]) {
     List<String> list = Arrays.asList(values);
     Collections.shuffle(list, random());
     int howMany = TestUtil.nextInt(random(), 1, list.size());
     for (int i = 0; i < howMany; i++) {
-      doc.add(new StringField("field", list.get(i), Field.Store.NO));
-      doc.add(new SortedSetDocValuesField("dv", new BytesRef(list.get(i))));
+      doc.addAtom("field", list.get(i));
+      doc.addBinary("dv", new BytesRef(list.get(i)));
     }
   }
   

Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java Tue Nov 11 11:24:51 2014
@@ -22,9 +22,7 @@ import java.util.LinkedList;
 
 import org.apache.lucene.analysis.CannedTokenStream;
 import org.apache.lucene.analysis.Token;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.TextField;
+import org.apache.lucene.document.Document2;
 import org.apache.lucene.index.DirectoryReader;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.IndexWriter;
@@ -195,8 +193,8 @@ public class TestMultiPhraseQuery extend
   }
   
   private void add(String s, RandomIndexWriter writer) throws IOException {
-    Document doc = new Document();
-    doc.add(newTextField("body", s, Field.Store.YES));
+    Document2 doc = writer.newDocument();
+    doc.addLargeText("body", s);
     writer.addDocument(doc);
   }
   
@@ -315,9 +313,9 @@ public class TestMultiPhraseQuery extend
   
   private void add(String s, String type, RandomIndexWriter writer)
       throws IOException {
-    Document doc = new Document();
-    doc.add(newTextField("body", s, Field.Store.YES));
-    doc.add(newStringField("type", type, Field.Store.NO));
+    Document2 doc = writer.newDocument();
+    doc.addLargeText("body", s);
+    doc.addAtom("type", type);
     writer.addDocument(doc);
   }
   
@@ -366,11 +364,11 @@ public class TestMultiPhraseQuery extend
     tokens[2].setPositionIncrement(0);
 
     RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
-    Document doc = new Document();
-    doc.add(new TextField("field", new CannedTokenStream(tokens)));
+    Document2 doc = writer.newDocument();
+    doc.addLargeText("field", new CannedTokenStream(tokens));
     writer.addDocument(doc);
-    doc = new Document();
-    doc.add(new TextField("field", new CannedTokenStream(tokens)));
+    doc = writer.newDocument();
+    doc.addLargeText("field", new CannedTokenStream(tokens));
     writer.addDocument(doc);
     IndexReader r = writer.getReader();
     writer.close();
@@ -467,8 +465,8 @@ public class TestMultiPhraseQuery extend
     Directory dir = newDirectory(); // random dir
     IndexWriterConfig cfg = newIndexWriterConfig(null);
     IndexWriter writer = new IndexWriter(dir, cfg);
-    Document doc = new Document();
-    doc.add(new TextField("field", new CannedTokenStream(INCR_0_DOC_TOKENS)));
+    Document2 doc = writer.newDocument();
+    doc.addLargeText("field", new CannedTokenStream(INCR_0_DOC_TOKENS));
     writer.addDocument(doc);
     IndexReader r = DirectoryReader.open(writer,false);
     writer.close();

Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestMultiTermQueryRewrites.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestMultiTermQueryRewrites.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestMultiTermQueryRewrites.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestMultiTermQueryRewrites.java Tue Nov 11 11:24:51 2014
@@ -17,16 +17,17 @@ package org.apache.lucene.search;
  * limitations under the License.
  */
 
+import java.io.IOException;
+
 import org.apache.lucene.analysis.MockAnalyzer;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
+import org.apache.lucene.document.Document2;
 import org.apache.lucene.index.DirectoryReader;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.MultiReader;
+import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.index.Term;
 import org.apache.lucene.index.Terms;
 import org.apache.lucene.index.TermsEnum;
-import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.util.AttributeSource;
 import org.apache.lucene.util.BytesRef;
@@ -34,8 +35,6 @@ import org.apache.lucene.util.LuceneTest
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 
-import java.io.IOException;
-
 public class TestMultiTermQueryRewrites extends LuceneTestCase {
 
   static Directory dir, sdir1, sdir2;
@@ -52,10 +51,13 @@ public class TestMultiTermQueryRewrites 
     final RandomIndexWriter swriter2 = new RandomIndexWriter(random(), sdir2, new MockAnalyzer(random()));
 
     for (int i = 0; i < 10; i++) {
-      Document doc = new Document();
-      doc.add(newStringField("data", Integer.toString(i), Field.Store.NO));
+      Document2 doc = writer.newDocument();
+      doc.addAtom("data", Integer.toString(i));
       writer.addDocument(doc);
-      ((i % 2 == 0) ? swriter1 : swriter2).addDocument(doc);
+      RandomIndexWriter otherWriter = (i % 2 == 0) ? swriter1 : swriter2;
+      doc = otherWriter.newDocument();
+      doc.addAtom("data", Integer.toString(i));
+      otherWriter.addDocument(doc);
     }
     writer.forceMerge(1); swriter1.forceMerge(1); swriter2.forceMerge(1);
     writer.close(); swriter1.close(); swriter2.close();

Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestMultiThreadTermVectors.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestMultiThreadTermVectors.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestMultiThreadTermVectors.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestMultiThreadTermVectors.java Tue Nov 11 11:24:51 2014
@@ -23,6 +23,7 @@ import org.apache.lucene.analysis.MockAn
 import org.apache.lucene.document.*;
 import org.apache.lucene.index.DirectoryReader;
 import org.apache.lucene.index.Fields;
+import org.apache.lucene.index.IndexOptions;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.index.Terms;
@@ -43,13 +44,12 @@ public class TestMultiThreadTermVectors 
     IndexWriter writer = new IndexWriter(directory, newIndexWriterConfig(new MockAnalyzer(random())).setMergePolicy(newLogMergePolicy()));
     //writer.setNoCFSRatio(0.0);
     //writer.infoStream = System.out;
-    FieldType customType = new FieldType(TextField.TYPE_STORED);
-    customType.setTokenized(false);
-    customType.setStoreTermVectors(true);
+    FieldTypes fieldTypes = writer.getFieldTypes();
+    fieldTypes.setIndexOptions("field", IndexOptions.DOCS);
+    fieldTypes.enableTermVectors("field");
     for (int i = 0; i < numDocs; i++) {
-      Document doc = new Document();
-      Field fld = newField("field", English.intToEnglish(i), customType);
-      doc.add(fld);
+      Document2 doc = writer.newDocument();
+      doc.addAtom("field", English.intToEnglish(i));
       writer.addDocument(doc);
     }
     writer.close();

Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestMultiValuedNumericRangeQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestMultiValuedNumericRangeQuery.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestMultiValuedNumericRangeQuery.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestMultiValuedNumericRangeQuery.java Tue Nov 11 11:24:51 2014
@@ -17,14 +17,13 @@ package org.apache.lucene.search;
  * limitations under the License.
  */
 
-import java.util.Locale;
 import java.text.DecimalFormat;
 import java.text.DecimalFormatSymbols;
+import java.util.Locale;
 
 import org.apache.lucene.analysis.MockAnalyzer;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.IntField;
+import org.apache.lucene.document.Document2;
+import org.apache.lucene.document.FieldTypes;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.store.Directory;
@@ -43,16 +42,19 @@ public class TestMultiValuedNumericRange
     RandomIndexWriter writer = new RandomIndexWriter(random(), directory,
         newIndexWriterConfig(new MockAnalyzer(random()))
         .setMaxBufferedDocs(TestUtil.nextInt(random(), 50, 1000)));
-    
+
+    FieldTypes fieldTypes = writer.getFieldTypes();
+    fieldTypes.setMultiValued("asc");
+    fieldTypes.setMultiValued("trie");
     DecimalFormat format = new DecimalFormat("00000000000", new DecimalFormatSymbols(Locale.ROOT));
     
     int num = atLeast(500);
     for (int l = 0; l < num; l++) {
-      Document doc = new Document();
+      Document2 doc = writer.newDocument();
       for (int m=0, c=random().nextInt(10); m<=c; m++) {
         int value = random().nextInt(Integer.MAX_VALUE);
-        doc.add(newStringField("asc", format.format(value), Field.Store.NO));
-        doc.add(new IntField("trie", value, Field.Store.NO));
+        doc.addAtom("asc", format.format(value));
+        doc.addInt("trie", value);
       }
       writer.addDocument(doc);
     }
@@ -67,11 +69,11 @@ public class TestMultiValuedNumericRange
       if (lower>upper) {
         int a=lower; lower=upper; upper=a;
       }
-      TermRangeQuery cq=TermRangeQuery.newStringRange("asc", format.format(lower), format.format(upper), true, true);
-      NumericRangeQuery<Integer> tq=NumericRangeQuery.newIntRange("trie", lower, upper, true, true);
+      Query cq = new ConstantScoreQuery(fieldTypes.newRangeFilter("asc", format.format(lower), true, format.format(upper), true));
+      Query tq = new ConstantScoreQuery(fieldTypes.newRangeFilter("trie", lower, true, upper, true));
       TopDocs trTopDocs = searcher.search(cq, 1);
       TopDocs nrTopDocs = searcher.search(tq, 1);
-      assertEquals("Returned count for NumericRangeQuery and TermRangeQuery must be equal", trTopDocs.totalHits, nrTopDocs.totalHits );
+      assertEquals("Returned count for NumericRangeQuery and TermRangeQuery must be equal", trTopDocs.totalHits, nrTopDocs.totalHits);
     }
     reader.close();
     directory.close();

Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestNot.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestNot.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestNot.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestNot.java Tue Nov 11 11:24:51 2014
@@ -17,14 +17,12 @@ package org.apache.lucene.search;
  * limitations under the License.
  */
 
-import org.apache.lucene.document.Field;
-import org.apache.lucene.index.Term;
-import org.apache.lucene.util.LuceneTestCase;
-
+import org.apache.lucene.document.Document2;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.RandomIndexWriter;
+import org.apache.lucene.index.Term;
 import org.apache.lucene.store.Directory;
-import org.apache.lucene.document.Document;
+import org.apache.lucene.util.LuceneTestCase;
 
 /** Similarity unit test.
  *
@@ -36,8 +34,8 @@ public class TestNot extends LuceneTestC
     Directory store = newDirectory();
     RandomIndexWriter writer = new RandomIndexWriter(random(), store);
 
-    Document d1 = new Document();
-    d1.add(newTextField("field", "a b", Field.Store.YES));
+    Document2 d1 = writer.newDocument();
+    d1.addLargeText("field", "a b");
 
     writer.addDocument(d1);
     IndexReader reader = writer.getReader();

Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestPhrasePrefixQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestPhrasePrefixQuery.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestPhrasePrefixQuery.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestPhrasePrefixQuery.java Tue Nov 11 11:24:51 2014
@@ -17,19 +17,18 @@ package org.apache.lucene.search;
  * limitations under the License.
  */
 
-import org.apache.lucene.document.Field;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.index.RandomIndexWriter;
-import org.apache.lucene.index.TermsEnum;
+import java.io.IOException;
+import java.util.LinkedList;
+
+import org.apache.lucene.document.Document2;
 import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.Term;
 import org.apache.lucene.index.MultiFields;
-import org.apache.lucene.util.BytesRef;
+import org.apache.lucene.index.RandomIndexWriter;
+import org.apache.lucene.index.Term;
+import org.apache.lucene.index.TermsEnum;
 import org.apache.lucene.store.Directory;
-
-import java.io.IOException;
-import java.util.LinkedList;
+import org.apache.lucene.util.BytesRef;
+import org.apache.lucene.util.LuceneTestCase;
 
 /**
  * This class tests PhrasePrefixQuery class.
@@ -42,16 +41,16 @@ public class TestPhrasePrefixQuery exten
   public void testPhrasePrefix() throws IOException {
     Directory indexStore = newDirectory();
     RandomIndexWriter writer = new RandomIndexWriter(random(), indexStore);
-    Document doc1 = new Document();
-    Document doc2 = new Document();
-    Document doc3 = new Document();
-    Document doc4 = new Document();
-    Document doc5 = new Document();
-    doc1.add(newTextField("body", "blueberry pie", Field.Store.YES));
-    doc2.add(newTextField("body", "blueberry strudel", Field.Store.YES));
-    doc3.add(newTextField("body", "blueberry pizza", Field.Store.YES));
-    doc4.add(newTextField("body", "blueberry chewing gum", Field.Store.YES));
-    doc5.add(newTextField("body", "piccadilly circus", Field.Store.YES));
+    Document2 doc1 = writer.newDocument();
+    Document2 doc2 = writer.newDocument();
+    Document2 doc3 = writer.newDocument();
+    Document2 doc4 = writer.newDocument();
+    Document2 doc5 = writer.newDocument();
+    doc1.addLargeText("body", "blueberry pie");
+    doc2.addLargeText("body", "blueberry strudel");
+    doc3.addLargeText("body", "blueberry pizza");
+    doc4.addLargeText("body", "blueberry chewing gum");
+    doc5.addLargeText("body", "piccadilly circus");
     writer.addDocument(doc1);
     writer.addDocument(doc2);
     writer.addDocument(doc3);