Index: lucene/contrib/demo/src/java/org/apache/lucene/demo/IndexFiles.java
===================================================================
--- lucene/contrib/demo/src/java/org/apache/lucene/demo/IndexFiles.java	(revision 1158790)
+++ lucene/contrib/demo/src/java/org/apache/lucene/demo/IndexFiles.java	(working copy)
@@ -21,13 +21,11 @@
 import org.apache.lucene.analysis.standard.StandardAnalyzer;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
+import org.apache.lucene.document.FieldType;
 import org.apache.lucene.document.NumericField;
-<<<<<<<
 import org.apache.lucene.index.FieldInfo.IndexOptions;
-=======
 import org.apache.lucene.document.StringField;
 import org.apache.lucene.document.TextField;
->>>>>>>
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.index.IndexWriterConfig.OpenMode;
 import org.apache.lucene.index.IndexWriterConfig;
@@ -178,12 +176,9 @@
           // field that is indexed (i.e. searchable), but don't tokenize 
           // the field into separate words and don't index term frequency
           // or positional information:
-<<<<<<<
-          Field pathField = new Field("path", file.getPath(), Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS);
-          pathField.setIndexOptions(IndexOptions.DOCS_ONLY);
-=======
+          FieldType ft = new FieldType(TextField.TYPE_STORED);
+          ft.setIndexOptions(IndexOptions.DOCS_ONLY);
           Field pathField = new Field("path", StringField.TYPE_STORED, file.getPath());
->>>>>>>
           doc.add(pathField);
 
           // Add the last modified date of the file a field named "modified".
Index: lucene/contrib/highlighter/src/test/org/apache/lucene/search/vectorhighlight/AbstractTestCase.java
===================================================================
--- lucene/contrib/highlighter/src/test/org/apache/lucene/search/vectorhighlight/AbstractTestCase.java	(revision 1158790)
+++ lucene/contrib/highlighter/src/test/org/apache/lucene/search/vectorhighlight/AbstractTestCase.java	(working copy)
@@ -42,11 +42,6 @@
 import org.apache.lucene.index.IndexWriterConfig;
 import org.apache.lucene.index.IndexableField;
 import org.apache.lucene.index.Term;
-<<<<<<<
-import org.apache.lucene.index.IndexWriterConfig.OpenMode;
-=======
-import org.apache.lucene.queryParser.QueryParser;
->>>>>>>
 import org.apache.lucene.search.DisjunctionMaxQuery;
 import org.apache.lucene.search.PhraseQuery;
 import org.apache.lucene.search.Query;
@@ -96,32 +91,7 @@
     super.setUp();
     analyzerW = new MockAnalyzer(random, MockTokenizer.WHITESPACE, false);
     analyzerB = new BigramAnalyzer();
-<<<<<<<
     analyzerK = new MockAnalyzer(random, MockTokenizer.KEYWORD, false);
-=======
-    final Analyzer k = new MockAnalyzer(random, MockTokenizer.KEYWORD, false);
-    analyzerK = new Analyzer() {
-      @Override
-      public TokenStream tokenStream(String fieldName, Reader reader) {
-        return k.tokenStream(fieldName, reader);
-      }
-
-      @Override
-      public TokenStream reusableTokenStream(String fieldName, Reader reader) throws IOException {
-        return k.reusableTokenStream(fieldName, reader);
-      }
-
-      @Override
-      public int getOffsetGap(IndexableField field) {
-        // Because we add single-char separator for all
-        // (even not-tokenized) fields:
-        return 1;
-      }
-    };
-
-    paW = new QueryParser(TEST_VERSION_CURRENT,  F, analyzerW );
-    paB = new QueryParser(TEST_VERSION_CURRENT,  F, analyzerB );
->>>>>>>
     dir = newDirectory();
   }
   
@@ -408,12 +378,10 @@
     IndexWriter writer = new IndexWriter(dir, new IndexWriterConfig(
         TEST_VERSION_CURRENT, analyzerK).setOpenMode(OpenMode.CREATE));
     Document doc = new Document();
-    FieldType customType = new FieldType(TextField.TYPE_UNSTORED);
+    FieldType customType = new FieldType(TextField.TYPE_STORED);
     customType.setStoreTermVectors(true);
     customType.setStoreTermVectorOffsets(true);
     customType.setStoreTermVectorPositions(true);
-    customType.setTokenized(false);
-    customType.setStored(true);
     for( String value: values ) {
       doc.add( new Field( F, customType, value ));
       //doc.add( new Field( F, value, Store.YES, Index.NOT_ANALYZED, TermVector.WITH_POSITIONS_OFFSETS ) );
Index: lucene/contrib/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java
===================================================================
--- lucene/contrib/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java	(revision 1158790)
+++ lucene/contrib/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java	(working copy)
@@ -50,13 +50,10 @@
 import org.apache.lucene.index.TermPositionVector;
 import org.apache.lucene.index.TermState;
 import org.apache.lucene.index.TermVectorMapper;
-<<<<<<<
 import org.apache.lucene.index.FieldInvertState;
 import org.apache.lucene.index.codecs.PerDocValues;
-=======
 import org.apache.lucene.index.Terms;
 import org.apache.lucene.index.TermsEnum;
->>>>>>>
 import org.apache.lucene.search.Collector;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.search.Query;
Index: lucene/contrib/misc/src/java/org/apache/lucene/document/FieldSelectorVisitor.java
===================================================================
--- lucene/contrib/misc/src/java/org/apache/lucene/document/FieldSelectorVisitor.java	(revision 1158790)
+++ lucene/contrib/misc/src/java/org/apache/lucene/document/FieldSelectorVisitor.java	(working copy)
@@ -120,7 +120,7 @@
 		FieldType ft = new FieldType(NumericField.TYPE_STORED);
 		ft.setIndexed(fieldInfo.isIndexed);
 		ft.setOmitNorms(fieldInfo.omitNorms);
-		ft.setOmitTermFreqAndPositions(fieldInfo.omitTermFreqAndPositions);
+		ft.setIndexOptions(fieldInfo.indexOptions);
     return addNumericField(fieldInfo, new NumericField(fieldInfo.name, ft).setIntValue(value));
   }
 
@@ -129,7 +129,7 @@
 		FieldType ft = new FieldType(NumericField.TYPE_STORED);
 		ft.setIndexed(fieldInfo.isIndexed);
 		ft.setOmitNorms(fieldInfo.omitNorms);
-		ft.setOmitTermFreqAndPositions(fieldInfo.omitTermFreqAndPositions);
+		ft.setIndexOptions(fieldInfo.indexOptions);
     return addNumericField(fieldInfo, new NumericField(fieldInfo.name, ft).setLongValue(value));
   }
 
@@ -138,7 +138,7 @@
 		FieldType ft = new FieldType(NumericField.TYPE_STORED);
 		ft.setIndexed(fieldInfo.isIndexed);
 		ft.setOmitNorms(fieldInfo.omitNorms);
-		ft.setOmitTermFreqAndPositions(fieldInfo.omitTermFreqAndPositions);
+		ft.setIndexOptions(fieldInfo.indexOptions);
     return addNumericField(fieldInfo, new NumericField(fieldInfo.name, ft).setFloatValue(value));
   }
 
@@ -147,7 +147,7 @@
 		FieldType ft = new FieldType(NumericField.TYPE_STORED);
 		ft.setIndexed(fieldInfo.isIndexed);
 		ft.setOmitNorms(fieldInfo.omitNorms);
-		ft.setOmitTermFreqAndPositions(fieldInfo.omitTermFreqAndPositions);
+		ft.setIndexOptions(fieldInfo.indexOptions);
     return addNumericField(fieldInfo, new NumericField(fieldInfo.name, ft).setDoubleValue(value));
   }
 
@@ -179,7 +179,7 @@
     FieldType ft = new FieldType();
     ft.setStored(true);
     ft.setOmitNorms(fi.omitNorms);
-    ft.setOmitTermFreqAndPositions(fi.omitTermFreqAndPositions);
+    ft.setIndexOptions(fi.indexOptions);
     ft.setLazy(true);
     
     if (binary) {
Index: lucene/contrib/misc/src/test/org/apache/lucene/index/TestIndexSplitter.java
===================================================================
--- lucene/contrib/misc/src/test/org/apache/lucene/index/TestIndexSplitter.java	(revision 1158790)
+++ lucene/contrib/misc/src/test/org/apache/lucene/index/TestIndexSplitter.java	(working copy)
@@ -21,6 +21,7 @@
 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.index.IndexWriterConfig.OpenMode;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.util.LuceneTestCase;
@@ -112,10 +113,10 @@
     Directory fsDir = newFSDirectory(indexPath);
     IndexWriter indexWriter = new IndexWriter(fsDir, iwConfig);
     Document doc = new Document();
-    doc.add(new Field("content", "doc 1", Field.Store.YES, Field.Index.ANALYZED_NO_NORMS));
+    doc.add(new Field("content", StringField.TYPE_STORED, "doc 1"));
     indexWriter.addDocument(doc);
     doc = new Document();
-    doc.add(new Field("content", "doc 2", Field.Store.YES, Field.Index.ANALYZED_NO_NORMS));
+    doc.add(new Field("content", StringField.TYPE_STORED, "doc 2"));
     indexWriter.addDocument(doc);
     indexWriter.close();
     fsDir.close();
Index: lucene/contrib/misc/src/test/org/apache/lucene/index/TestNRTManager.java
===================================================================
--- lucene/contrib/misc/src/test/org/apache/lucene/index/TestNRTManager.java	(revision 1158790)
+++ lucene/contrib/misc/src/test/org/apache/lucene/index/TestNRTManager.java	(working copy)
@@ -34,6 +34,8 @@
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
 import org.apache.lucene.document.Fieldable;
+import org.apache.lucene.document.StringField;
+import org.apache.lucene.document.TextField;
 import org.apache.lucene.index.codecs.CodecProvider;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.search.PhraseQuery;
@@ -77,17 +79,12 @@
   // TODO: is there a pre-existing way to do this!!!
   private Document cloneDoc(Document doc1) {
     final Document doc2 = new Document();
-    for(Fieldable f : doc1.getFields()) {
+    for(IndexableField f : doc1) {
       Field field1 = (Field) f;
       
       Field field2 = new Field(field1.name(),
-                               field1.stringValue(),
-                               field1.isStored() ? Field.Store.YES : Field.Store.NO,
-                               field1.isIndexed() ? (field1.isTokenized() ? Field.Index.ANALYZED : Field.Index.NOT_ANALYZED) : Field.Index.NO);
-      if (field1.getOmitNorms()) {
-        field2.setOmitNorms(true);
-      }
-      field2.setIndexOptions(field1.getIndexOptions());
+                              ((Field) f).getFieldType(),
+                               field1.stringValue());
       doc2.add(field2);
     }
 
@@ -240,7 +237,7 @@
                 final String addedField;
                 if (random.nextBoolean()) {
                   addedField = "extra" + random.nextInt(10);
-                  doc.add(new Field(addedField, "a random field", Field.Store.NO, Field.Index.ANALYZED));
+                  doc.add(new TextField(addedField, "a random field"));
                 } else {
                   addedField = null;
                 }
@@ -262,7 +259,7 @@
                       packID = packCount.getAndIncrement() + "";
                     }
 
-                    final Field packIDField = newField("packID", packID, Field.Store.YES, Field.Index.NOT_ANALYZED);
+                    final Field packIDField = newField("packID", packID, StringField.TYPE_STORED);
                     final List<String> docIDs = new ArrayList<String>();
                     final SubDocs subDocs = new SubDocs(packID, docIDs);
                     final List<Document> docsList = new ArrayList<Document>();
Index: lucene/contrib/misc/src/test/org/apache/lucene/index/TestPKIndexSplitter.java
===================================================================
--- lucene/contrib/misc/src/test/org/apache/lucene/index/TestPKIndexSplitter.java	(revision 1158790)
+++ lucene/contrib/misc/src/test/org/apache/lucene/index/TestPKIndexSplitter.java	(working copy)
@@ -23,8 +23,8 @@
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field.Index;
-import org.apache.lucene.document.Field.Store;
+import org.apache.lucene.document.StringField;
+import org.apache.lucene.document.TextField;
 import org.apache.lucene.index.IndexWriterConfig.OpenMode;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.util.Bits;
@@ -102,15 +102,15 @@
     StringBuilder sb = new StringBuilder();
     Document doc = new Document();
     String id = format.format(n);
-    doc.add(newField("id", id, Store.YES, Index.NOT_ANALYZED));
-    doc.add(newField("indexname", indexName, Store.YES, Index.NOT_ANALYZED));
+    doc.add(newField("id", id, StringField.TYPE_STORED));
+    doc.add(newField("indexname", indexName, StringField.TYPE_STORED));
     sb.append("a");
     sb.append(n);
-    doc.add(newField("field1", sb.toString(), Store.YES, Index.ANALYZED));
+    doc.add(newField("field1", sb.toString(), TextField.TYPE_STORED));
     sb.append(" b");
     sb.append(n);
     for (int i = 1; i < numFields; i++) {
-      doc.add(newField("field" + (i + 1), sb.toString(), Store.YES, Index.ANALYZED));
+      doc.add(newField("field" + (i + 1), sb.toString(), TextField.TYPE_STORED));
     }
     return doc;
   }
Index: lucene/contrib/queries/src/test/org/apache/lucene/search/BooleanFilterTest.java
===================================================================
--- lucene/contrib/queries/src/test/org/apache/lucene/search/BooleanFilterTest.java	(revision 1158790)
+++ lucene/contrib/queries/src/test/org/apache/lucene/search/BooleanFilterTest.java	(working copy)
@@ -57,29 +57,14 @@
     reader.close();
     directory.close();
     super.tearDown();
-<<<<<<<
-=======
-	private void addDoc(RandomIndexWriter writer, String accessRights, String price, String date, String inStock) throws IOException
-	{
-		Document doc=new Document();
-    FieldType customType = new FieldType(TextField.TYPE_UNSTORED);
-    customType.setStored(true);
-		doc.add(newField("accessRights",accessRights,customType));
-		doc.add(newField("price",price,customType));
-		doc.add(newField("date",date,customType));
-		doc.add(newField("inStock",inStock,customType));
-		writer.addDocument(doc);
-	}
-	
->>>>>>>
   }
 
   private void addDoc(RandomIndexWriter writer, String accessRights, String price, String date, String inStock) throws IOException {
     Document doc = new Document();
-    doc.add(newField("accessRights", accessRights, Field.Store.YES, Field.Index.ANALYZED));
-    doc.add(newField("price", price, Field.Store.YES, Field.Index.ANALYZED));
-    doc.add(newField("date", date, Field.Store.YES, Field.Index.ANALYZED));
-    doc.add(newField("inStock", inStock, Field.Store.YES, Field.Index.ANALYZED));
+    doc.add(newField("accessRights", accessRights, TextField.TYPE_STORED));
+    doc.add(newField("price", price, TextField.TYPE_STORED));
+    doc.add(newField("date", date, TextField.TYPE_STORED));
+    doc.add(newField("inStock", inStock, TextField.TYPE_STORED));
     writer.addDocument(doc);
   }
 
Index: lucene/contrib/queries/src/test/org/apache/lucene/search/DuplicateFilterTest.java
===================================================================
--- lucene/contrib/queries/src/test/org/apache/lucene/search/DuplicateFilterTest.java	(revision 1158790)
+++ lucene/contrib/queries/src/test/org/apache/lucene/search/DuplicateFilterTest.java	(working copy)
@@ -19,15 +19,11 @@
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;
-<<<<<<<
-import org.apache.lucene.document.Field;
-=======
-import org.apache.lucene.document.FieldType;
+import org.apache.lucene.document.StringField;
 import org.apache.lucene.document.TextField;
 import org.apache.lucene.index.DocsEnum;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.MultiFields;
->>>>>>>
 import org.apache.lucene.index.*;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.util.BytesRef;
@@ -79,26 +75,11 @@
 
   private void addDoc(RandomIndexWriter writer, String url, String text, String date) throws IOException {
     Document doc = new Document();
-    doc.add(newField(KEY_FIELD, url, Field.Store.YES, Field.Index.NOT_ANALYZED));
-    doc.add(newField("text", text, Field.Store.YES, Field.Index.ANALYZED));
-<<<<<<<
-    doc.add(newField("date", date, Field.Store.YES, Field.Index.ANALYZED));
+    doc.add(newField(KEY_FIELD, url, StringField.TYPE_STORED));
+    doc.add(newField("text", text, TextField.TYPE_STORED));
+    doc.add(newField("date", date, TextField.TYPE_STORED));
     writer.addDocument(doc);
   }
-=======
-	private void addDoc(RandomIndexWriter writer, String url, String text, String date) throws IOException
-	{
-		Document doc=new Document();
-    FieldType customType = new FieldType(TextField.TYPE_UNSTORED);
-    customType.setStored(true);
-    customType.setTokenized(false);
-		doc.add(newField(KEY_FIELD,url,customType));
-		doc.add(newField("text",text,TextField.TYPE_UNSTORED));
-		doc.add(newField("date",date,TextField.TYPE_UNSTORED));
-		writer.addDocument(doc);
-	}
-		
->>>>>>>
 
   public void testDefaultFilter() throws Throwable {
     DuplicateFilter df = new DuplicateFilter(KEY_FIELD);
@@ -109,17 +90,7 @@
       Document d = searcher.doc(hit.doc);
       String url = d.get(KEY_FIELD);
       assertFalse("No duplicate urls should be returned", results.contains(url));
-<<<<<<<
       results.add(url);
-=======
-		ScoreDoc[] hits = searcher.search(tq,df, 1000).scoreDocs;
-		for(int i=0;i<hits.length;i++)
-		{
-		  Document d=searcher.doc(hits[i].doc);
-			String url=d.get(KEY_FIELD);
-			assertFalse("No duplicate urls should be returned",results.contains(url));
-			results.add(url);
->>>>>>>
     }
   }
 
@@ -133,17 +104,7 @@
       Document d = searcher.doc(hit.doc);
       String url = d.get(KEY_FIELD);
       if (!dupsFound)
-<<<<<<<
         dupsFound = results.contains(url);
-=======
-		boolean dupsFound=false;
-		for(int i=0;i<hits.length;i++)
-		{
-		  Document d=searcher.doc(hits[i].doc);
-			String url=d.get(KEY_FIELD);
-			if(!dupsFound)
-				dupsFound=results.contains(url);
->>>>>>>
       results.add(url);
     }
     assertTrue("Default searching should have found duplicate urls", dupsFound);
@@ -161,17 +122,7 @@
       String url = d.get(KEY_FIELD);
       assertFalse("No duplicate urls should be returned", results.contains(url));
       results.add(url);
-<<<<<<<
     }
-=======
-		assertTrue("Filtered searching should have found some matches",hits.length>0);
-		for(int i=0;i<hits.length;i++)
-		{
-		  Document d=searcher.doc(hits[i].doc);
-			String url=d.get(KEY_FIELD);
-			assertFalse("No duplicate urls should be returned",results.contains(url));
-			results.add(url);
->>>>>>>
     assertEquals("Two urls found", 2, results.size());
   }
 
@@ -186,17 +137,7 @@
       DocsEnum td = MultiFields.getTermDocsEnum(reader,
           MultiFields.getLiveDocs(reader),
           KEY_FIELD,
-<<<<<<<
           new BytesRef(url));
-=======
-		assertTrue("Filtered searching should have found some matches",hits.length>0);
-		for(int i=0;i<hits.length;i++)
-		{
-		  Document d=searcher.doc(hits[i].doc);
-			String url=d.get(KEY_FIELD);
-                        DocsEnum td = MultiFields.getTermDocsEnum(reader,
-                                                                  MultiFields.getDeletedDocs(reader),
->>>>>>>
       int lastDoc = 0;
       while (td.nextDoc() != DocsEnum.NO_MORE_DOCS) {
         lastDoc = td.docID();
@@ -220,17 +161,7 @@
           new BytesRef(url));
       int lastDoc = 0;
       td.nextDoc();
-<<<<<<<
       lastDoc = td.docID();
-=======
-		assertTrue("Filtered searching should have found some matches",hits.length>0);
-		for(int i=0;i<hits.length;i++)
-		{
-		  Document d=searcher.doc(hits[i].doc);
-			String url=d.get(KEY_FIELD);
-                        DocsEnum td = MultiFields.getTermDocsEnum(reader,
-                                                                  MultiFields.getDeletedDocs(reader),
->>>>>>>
       assertEquals("Duplicate urls should return first doc", lastDoc, hit.doc);
     }
   }
Index: lucene/contrib/queries/src/test/org/apache/lucene/search/FuzzyLikeThisQueryTest.java
===================================================================
--- lucene/contrib/queries/src/test/org/apache/lucene/search/FuzzyLikeThisQueryTest.java	(revision 1158790)
+++ lucene/contrib/queries/src/test/org/apache/lucene/search/FuzzyLikeThisQueryTest.java	(working copy)
@@ -60,26 +60,13 @@
     searcher.close();
     reader.close();
     directory.close();
-<<<<<<<
     super.tearDown();
   }
-=======
-	private void addDoc(RandomIndexWriter writer, String name, String id) throws IOException
-	{
-		Document doc=new Document();
-    FieldType customType = new FieldType(TextField.TYPE_UNSTORED);
-    customType.setStored(true);
-		doc.add(newField("name",name,customType));
-		doc.add(newField("id",id,customType));
-		writer.addDocument(doc);
-	}
-	
->>>>>>>
 
   private void addDoc(RandomIndexWriter writer, String name, String id) throws IOException {
     Document doc = new Document();
-    doc.add(newField("name", name, Field.Store.YES, Field.Index.ANALYZED));
-    doc.add(newField("id", id, Field.Store.YES, Field.Index.ANALYZED));
+    doc.add(newField("name", name, TextField.TYPE_STORED));
+    doc.add(newField("id", id, TextField.TYPE_STORED));
     writer.addDocument(doc);
   }
 
Index: lucene/contrib/queries/src/test/org/apache/lucene/search/TermsFilterTest.java
===================================================================
--- lucene/contrib/queries/src/test/org/apache/lucene/search/TermsFilterTest.java	(revision 1158790)
+++ lucene/contrib/queries/src/test/org/apache/lucene/search/TermsFilterTest.java	(working copy)
@@ -17,13 +17,11 @@
  * limitations under the License.
  */
 
-<<<<<<<
-=======
 import java.util.HashSet;
 
->>>>>>>
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.FieldType;
+import org.apache.lucene.document.StringField;
 import org.apache.lucene.document.TextField;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
@@ -59,23 +57,10 @@
     String fieldName = "field1";
     Directory rd = newDirectory();
     RandomIndexWriter w = new RandomIndexWriter(random, rd);
-<<<<<<<
     for (int i = 0; i < 100; i++) {
-=======
-		for (int i = 0; i < 100; i++) {
-			Document doc=new Document();
-			int term=i*10; //terms are units of 10;
-	    FieldType customType = new FieldType(TextField.TYPE_UNSTORED);
-	    customType.setStored(true);
-	    customType.setTokenized(false);
-			doc.add(newField(fieldName,""+term,customType));
-			w.addDocument(doc);			
-		}
-		IndexReader reader = new SlowMultiReaderWrapper(w.getReader());
->>>>>>>
       Document doc = new Document();
       int term = i * 10; //terms are units of 10;
-      doc.add(newField(fieldName, "" + term, Field.Store.YES, Field.Index.NOT_ANALYZED));
+      doc.add(newField(fieldName, "" + term, StringField.TYPE_STORED));
       w.addDocument(doc);
     }
     IndexReader reader = new SlowMultiReaderWrapper(w.getReader());
Index: lucene/contrib/xml-query-parser/src/test/org/apache/lucene/xmlparser/TestParser.java
===================================================================
--- lucene/contrib/xml-query-parser/src/test/org/apache/lucene/xmlparser/TestParser.java	(revision 1158790)
+++ lucene/contrib/xml-query-parser/src/test/org/apache/lucene/xmlparser/TestParser.java	(working copy)
@@ -77,86 +77,6 @@
       }     
       d.close();
       writer.close();
-<<<<<<<
-		reader=IndexReader.open(dir, true);
-		searcher=newSearcher(reader);
-		
-	}
-	
-	
-	
-	
-	@AfterClass
-	public static void afterClass() throws Exception {
-		reader.close();
-		searcher.close();
-		dir.close();
-		reader = null;
-		searcher = null;
-		dir = null;
-		builder = null;
-	}
-	
-	public void testSimpleXML() throws ParserException, IOException
-	{
-			Query q=parse("TermQuery.xml");
-			dumpResults("TermQuery", q, 5);
-	}
-	public void testSimpleTermsQueryXML() throws ParserException, IOException
-	{
-			Query q=parse("TermsQuery.xml");
-			dumpResults("TermsQuery", q, 5);
-	}
-	public void testBooleanQueryXML() throws ParserException, IOException
-	{
-			Query q=parse("BooleanQuery.xml");
-			dumpResults("BooleanQuery", q, 5);
-	}
-	public void testRangeFilterQueryXML() throws ParserException, IOException
-	{
-			Query q=parse("RangeFilterQuery.xml");
-			dumpResults("RangeFilter", q, 5);
-	}
-	public void testUserQueryXML() throws ParserException, IOException
-	{
-			Query q=parse("UserInputQuery.xml");
-			dumpResults("UserInput with Filter", q, 5);
-	}
-	
-	public void testCustomFieldUserQueryXML() throws ParserException, IOException
-	{
-			Query q=parse("UserInputQueryCustomField.xml");
-			assertEquals(20.0f, q.getBoost());
-			int h = searcher.search(q, null, 1000).totalHits;
-			assertEquals("UserInputQueryCustomField should produce 0 result ", 0,h);
-	}
-	
-	public void testLikeThisQueryXML() throws Exception
-	{
-			Query q=parse("LikeThisQuery.xml");
-			dumpResults("like this", q, 5);
-	}
-	public void testBoostingQueryXML() throws Exception
-	{
-			Query q=parse("BoostingQuery.xml");
-			dumpResults("boosting ",q, 5);
-	}
-	public void testFuzzyLikeThisQueryXML() throws Exception
-	{
-			Query q=parse("FuzzyLikeThisQuery.xml");
-			//show rewritten fuzzyLikeThisQuery - see what is being matched on
-			if(VERBOSE)
-			{
-				System.out.println(q.rewrite(reader));
-			}
-			dumpResults("FuzzyLikeThis", q, 5);
-	}
-	public void testTermsFilterXML() throws Exception
-	{
-			Query q=parse("TermsFilterQuery.xml");
-			dumpResults("Terms Filter",q, 5);
-	}
-=======
     reader=IndexReader.open(dir, true);
     searcher=newSearcher(reader);
     
@@ -234,7 +154,6 @@
       Query q=parse("TermsFilterQuery.xml");
       dumpResults("Terms Filter",q, 5);
   }
->>>>>>>
   public void testBoostingTermQueryXML() throws Exception
   {
       Query q=parse("BoostingTermQuery.xml");
Index: lucene/src/java/org/apache/lucene/document/AbstractField.java
===================================================================
--- lucene/src/java/org/apache/lucene/document/AbstractField.java	(revision 1158790)
+++ lucene/src/java/org/apache/lucene/document/AbstractField.java	(working copy)
@@ -1,312 +0,0 @@
-package org.apache.lucene.document;
-/**
- * Copyright 2006 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import org.apache.lucene.search.PhraseQuery; // for javadocs
-import org.apache.lucene.search.spans.SpanQuery; // for javadocs
-import org.apache.lucene.analysis.TokenStream;
-import org.apache.lucene.index.FieldInfo.IndexOptions;
-import org.apache.lucene.index.FieldInvertState;  // for javadocs
-import org.apache.lucene.index.values.PerDocFieldValues;
-import org.apache.lucene.index.values.ValueType;
-
-
-/**
- *
- *
- **/
-public abstract class AbstractField implements Fieldable {
-
-  protected String name = "body";
-  protected boolean storeTermVector = false;
-  protected boolean storeOffsetWithTermVector = false;
-  protected boolean storePositionWithTermVector = false;
-  protected boolean omitNorms = false;
-  protected boolean isStored = false;
-  protected boolean isIndexed = true;
-  protected boolean isTokenized = true;
-  protected boolean isBinary = false;
-  protected boolean lazy = false;
-  protected IndexOptions indexOptions = IndexOptions.DOCS_AND_FREQS_AND_POSITIONS;
-  protected float boost = 1.0f;
-  // the data object for all different kind of field values
-  protected Object fieldsData = null;
-  // pre-analyzed tokenStream for indexed fields
-  protected TokenStream tokenStream;
-  // length/offset for all primitive types
-  protected int binaryLength;
-  protected int binaryOffset;
-  protected PerDocFieldValues docValues;
-
-  protected AbstractField()
-  {
-  }
-
-  protected AbstractField(String name, Field.Store store, Field.Index index, Field.TermVector termVector) {
-    if (name == null)
-      throw new NullPointerException("name cannot be null");
-    this.name = name;
-
-    this.isStored = store.isStored();
-    this.isIndexed = index.isIndexed();
-    this.isTokenized = index.isAnalyzed();
-    this.omitNorms = index.omitNorms();
-
-    this.isBinary = false;
-
-    setStoreTermVector(termVector);
-  }
-
-  /** Sets the boost factor hits on this field.  This value will be
-   * multiplied into the score of all hits on this this field of this
-   * document.
-   *
-   * <p>The boost is multiplied by {@link org.apache.lucene.document.Document#getBoost()} of the document
-   * containing this field.  If a document has multiple fields with the same
-   * name, all such values are multiplied together.  This product is then
-   * used to compute the norm factor for the field.  By
-   * default, in the {@link
-   * org.apache.lucene.search.Similarity#computeNorm(FieldInvertState)} method, the boost value is multiplied
-   * by the length normalization factor and then
-   * rounded by {@link org.apache.lucene.search.DefaultSimilarity#encodeNormValue(float)} before it is stored in the
-   * index.  One should attempt to ensure that this product does not overflow
-   * the range of that encoding.
-   *
-   * @see org.apache.lucene.document.Document#setBoost(float)
-   * @see org.apache.lucene.search.Similarity#computeNorm(FieldInvertState)
-   * @see org.apache.lucene.search.DefaultSimilarity#encodeNormValue(float)
-   */
-  public void setBoost(float boost) {
-    this.boost = boost;
-  }
-
-  /** Returns the boost factor for hits for this field.
-   *
-   * <p>The default value is 1.0.
-   *
-   * <p>Note: this value is not stored directly with the document in the index.
-   * Documents returned from {@link org.apache.lucene.index.IndexReader#document(int)} and
-   * {@link org.apache.lucene.search.IndexSearcher#doc(int)} may thus not have the same value present as when
-   * this field was indexed.
-   *
-   * @see #setBoost(float)
-   */
-  public float getBoost() {
-    return boost;
-  }
-
-  /** Returns the name of the field.
-   * For example "date", "title", "body", ...
-   */
-  public String name()    { return name; }
-
-  protected void setStoreTermVector(Field.TermVector termVector) {
-    this.storeTermVector = termVector.isStored();
-    this.storePositionWithTermVector = termVector.withPositions();
-    this.storeOffsetWithTermVector = termVector.withOffsets();
-  }
-
-  /** True iff the value of the field is to be stored in the index for return
-    with search hits.  It is an error for this to be true if a field is
-    Reader-valued. */
-  public final boolean  isStored()  { return isStored; }
-
-  /** True iff the value of the field is to be indexed, so that it may be
-    searched on. */
-  public final boolean  isIndexed()   { return isIndexed; }
-
-  /** True iff the value of the field should be tokenized as text prior to
-    indexing.  Un-tokenized fields are indexed as a single word and may not be
-    Reader-valued. */
-  public final boolean  isTokenized()   { return isTokenized; }
-
-  /** True iff the term or terms used to index this field are stored as a term
-   *  vector, available from {@link org.apache.lucene.index.IndexReader#getTermFreqVector(int,String)}.
-   *  These methods do not provide access to the original content of the field,
-   *  only to terms used to index it. If the original content must be
-   *  preserved, use the <code>stored</code> attribute instead.
-   *
-   * @see org.apache.lucene.index.IndexReader#getTermFreqVector(int, String)
-   */
-  public final boolean isTermVectorStored() { return storeTermVector; }
-
-  /**
-   * True iff terms are stored as term vector together with their offsets 
-   * (start and end position in source text).
-   */
-  public boolean isStoreOffsetWithTermVector(){
-    return storeOffsetWithTermVector;
-  }
-
-  /**
-   * True iff terms are stored as term vector together with their token positions.
-   */
-  public boolean isStorePositionWithTermVector(){
-    return storePositionWithTermVector;
-  }
-
-  /** True iff the value of the filed is stored as binary */
-  public final boolean  isBinary() {
-    return isBinary;
-  }
-
-
-  /**
-   * Return the raw byte[] for the binary field.  Note that
-   * you must also call {@link #getBinaryLength} and {@link
-   * #getBinaryOffset} to know which range of bytes in this
-   * returned array belong to the field.
-   * @return reference to the Field value as byte[].
-   */
-  public byte[] getBinaryValue() {
-    return getBinaryValue(null);
-  }
-  
-  public byte[] getBinaryValue(byte[] result){
-    if (isBinary || fieldsData instanceof byte[])
-      return (byte[]) fieldsData;
-    else
-      return null;
-  }
-
-  /**
-   * Returns length of byte[] segment that is used as value, if Field is not binary
-   * returned value is undefined
-   * @return length of byte[] segment that represents this Field value
-   */
-  public int getBinaryLength() {
-    if (isBinary) {
-      return binaryLength;
-    } else if (fieldsData instanceof byte[])
-      return ((byte[]) fieldsData).length;
-    else
-      return 0;
-  }
-
-  /**
-   * Returns offset into byte[] segment that is used as value, if Field is not binary
-   * returned value is undefined
-   * @return index of the first character in byte[] segment that represents this Field value
-   */
-  public int getBinaryOffset() {
-    return binaryOffset;
-  }
-
-  /** True if norms are omitted for this indexed field */
-  public boolean getOmitNorms() { return omitNorms; }
-
-  /** @see #setIndexOptions */
-  public IndexOptions getIndexOptions() { return indexOptions; }
-  
-  /** Expert:
-   *
-   * If set, omit normalization factors associated with this indexed field.
-   * This effectively disables indexing boosts and length normalization for this field.
-   */
-  public void setOmitNorms(boolean omitNorms) { this.omitNorms=omitNorms; }
-
-  /** Expert:
-   *
-   * If set, omit term freq, and optionally also positions and payloads from
-   * postings for this field.
-   *
-   * <p><b>NOTE</b>: While this option reduces storage space
-   * required in the index, it also means any query
-   * requiring positional information, such as {@link
-   * PhraseQuery} or {@link SpanQuery} subclasses will
-   * silently fail to find results.
-   */
-  public void setIndexOptions(IndexOptions indexOptions) { this.indexOptions=indexOptions; }
- 
-  public boolean isLazy() {
-    return lazy;
-  }
-
-  /** Prints a Field for human consumption. */
-  @Override
-  public final String toString() {
-    StringBuilder result = new StringBuilder();
-    if (isStored) {
-      result.append("stored");
-    }
-    if (isIndexed) {
-      if (result.length() > 0)
-        result.append(",");
-      result.append("indexed");
-    }
-    if (isTokenized) {
-      if (result.length() > 0)
-        result.append(",");
-      result.append("tokenized");
-    }
-    if (storeTermVector) {
-      if (result.length() > 0)
-        result.append(",");
-      result.append("termVector");
-    }
-    if (storeOffsetWithTermVector) {
-      if (result.length() > 0)
-        result.append(",");
-      result.append("termVectorOffsets");
-    }
-    if (storePositionWithTermVector) {
-      if (result.length() > 0)
-        result.append(",");
-      result.append("termVectorPosition");
-    }
-    if (isBinary) {
-      if (result.length() > 0)
-        result.append(",");
-      result.append("binary");
-    }
-    if (omitNorms) {
-      result.append(",omitNorms");
-    }
-    if (indexOptions != IndexOptions.DOCS_AND_FREQS_AND_POSITIONS) {
-      result.append(",indexOptions=");
-      result.append(indexOptions);
-    }
-    if (lazy){
-      result.append(",lazy");
-    }
-    result.append('<');
-    result.append(name);
-    result.append(':');
-
-    if (fieldsData != null && lazy == false) {
-      result.append(fieldsData);
-    }
-
-    result.append('>');
-    return result.toString();
-  }
-
-  public PerDocFieldValues getDocValues() {
-    return docValues;
-  }
-  
-  public void setDocValues(PerDocFieldValues docValues) {
-    this.docValues = docValues;
-  }
-  
-  public boolean hasDocValues() {
-    return docValues != null && docValues.type() != null;
-  }
-  
-  public ValueType docValuesType() {
-    return docValues == null? null : docValues.type();
-  }
-}
Index: lucene/src/java/org/apache/lucene/index/DocumentStoredFieldVisitor.java
===================================================================
--- lucene/src/java/org/apache/lucene/index/DocumentStoredFieldVisitor.java	(revision 1158790)
+++ lucene/src/java/org/apache/lucene/index/DocumentStoredFieldVisitor.java	(working copy)
@@ -81,6 +81,8 @@
       ft.setStoreTermVectorPositions(fieldInfo.storePositionWithTermVector);
       ft.setStoreTermVectorOffsets(fieldInfo.storeOffsetWithTermVector);
       ft.setStoreTermVectors(fieldInfo.storeTermVector);
+      ft.setOmitNorms(fieldInfo.omitNorms);
+      ft.setIndexOptions(fieldInfo.indexOptions);
       doc.add(new Field(fieldInfo.name,
                         false,
                         ft,
Index: lucene/src/test-framework/org/apache/lucene/index/DocHelper.java
===================================================================
--- lucene/src/test-framework/org/apache/lucene/index/DocHelper.java	(revision 1158790)
+++ lucene/src/test-framework/org/apache/lucene/index/DocHelper.java	(working copy)
@@ -45,8 +45,7 @@
   public static final String TEXT_FIELD_1_KEY = "textField1";
   public static Field textField1;
   static {
-    customType = new FieldType(TextField.TYPE_UNSTORED);
-    customType.setStored(true);
+    customType = new FieldType(TextField.TYPE_STORED);
     textField1 = new Field(TEXT_FIELD_1_KEY, customType, FIELD_1_TEXT);
   }
 
@@ -57,8 +56,7 @@
   public static final String TEXT_FIELD_2_KEY = "textField2";
   public static Field textField2;
   static {
-    customType2 = new FieldType(TextField.TYPE_UNSTORED);
-    customType2.setStored(true);
+    customType2 = new FieldType(TextField.TYPE_STORED);
     customType2.setStoreTermVectors(true);
     customType2.setStoreTermVectorPositions(true);
     customType2.setStoreTermVectorOffsets(true);
@@ -71,8 +69,7 @@
   public static Field textField3;
   
   static {
-    customType3 = new FieldType(TextField.TYPE_UNSTORED);
-    customType3.setStored(true);
+    customType3 = new FieldType(TextField.TYPE_STORED);
     customType3.setOmitNorms(true);
     textField3 = new Field(TEXT_FIELD_3_KEY, customType3, FIELD_3_TEXT);
   }
Index: lucene/src/test/org/apache/lucene/index/TestFieldsReader.java
===================================================================
--- lucene/src/test/org/apache/lucene/index/TestFieldsReader.java	(revision 1158790)
+++ lucene/src/test/org/apache/lucene/index/TestFieldsReader.java	(working copy)
@@ -97,13 +97,13 @@
     assertTrue(field.storeTermVectorPositions() == false);
     assertTrue(field.omitNorms() == false);
     assertTrue(field.getIndexOptions() == IndexOptions.DOCS_ONLY);
-    reader.close();
 
     DocumentStoredFieldVisitor visitor = new DocumentStoredFieldVisitor(DocHelper.TEXT_FIELD_3_KEY);
     reader.document(0, visitor);
     final List<IndexableField> fields = visitor.getDocument().getFields();
     assertEquals(1, fields.size());
     assertEquals(DocHelper.TEXT_FIELD_3_KEY, fields.get(0).name());
+    reader.close();
   }
 
 
Index: lucene/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java
===================================================================
--- lucene/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java	(revision 1158790)
+++ lucene/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java	(working copy)
@@ -22,6 +22,7 @@
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;
+import org.apache.lucene.document.Field;
 import org.apache.lucene.document.FieldType;
 import org.apache.lucene.document.TextField;
 import org.apache.lucene.store.AlreadyClosedException;
Index: lucene/src/test/org/apache/lucene/index/TestUniqueTermCount.java
===================================================================
--- lucene/src/test/org/apache/lucene/index/TestUniqueTermCount.java	(revision 1158790)
+++ lucene/src/test/org/apache/lucene/index/TestUniqueTermCount.java	(working copy)
@@ -24,6 +24,7 @@
 import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
+import org.apache.lucene.document.TextField;
 import org.apache.lucene.search.DefaultSimilarity;
 import org.apache.lucene.search.DefaultSimilarityProvider;
 import org.apache.lucene.search.Similarity;
@@ -54,7 +55,7 @@
     });
     RandomIndexWriter writer = new RandomIndexWriter(random, dir, config);
     Document doc = new Document();
-    Field foo = newField("foo", "", Field.Store.NO, Field.Index.ANALYZED);
+    Field foo = newField("foo", "", TextField.TYPE_UNSTORED);
     doc.add(foo);
     for (int i = 0; i < 100; i++) {
       foo.setValue(addValue());
Index: lucene/src/test/org/apache/lucene/index/codecs/pulsing/Test10KPulsings.java
===================================================================
--- lucene/src/test/org/apache/lucene/index/codecs/pulsing/Test10KPulsings.java	(revision 1158790)
+++ lucene/src/test/org/apache/lucene/index/codecs/pulsing/Test10KPulsings.java	(working copy)
@@ -26,6 +26,8 @@
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
+import org.apache.lucene.document.FieldType;
+import org.apache.lucene.document.TextField;
 import org.apache.lucene.index.DocsEnum;
 import org.apache.lucene.index.FieldInfo.IndexOptions;
 import org.apache.lucene.index.IndexReader;
@@ -60,14 +62,15 @@
         newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random)).setCodecProvider(cp));
     
     Document document = new Document();
-    Field field = newField("field", "", Field.Store.YES, Field.Index.ANALYZED);
+    FieldType ft = new FieldType(TextField.TYPE_STORED);
     
     switch(_TestUtil.nextInt(random, 0, 2)) {
-      case 0: field.setIndexOptions(IndexOptions.DOCS_ONLY); break;
-      case 1: field.setIndexOptions(IndexOptions.DOCS_AND_FREQS); break;
-      default: field.setIndexOptions(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS); break; 
+      case 0: ft.setIndexOptions(IndexOptions.DOCS_ONLY); break;
+      case 1: ft.setIndexOptions(IndexOptions.DOCS_AND_FREQS); break;
+      default: ft.setIndexOptions(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS); break; 
     }
 
+    Field field = newField("field", "", ft);
     document.add(field);
     
     NumberFormat df = new DecimalFormat("00000", new DecimalFormatSymbols(Locale.ENGLISH));
@@ -111,14 +114,15 @@
         newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random)).setCodecProvider(cp));
     
     Document document = new Document();
-    Field field = newField("field", "", Field.Store.YES, Field.Index.ANALYZED);
+    FieldType ft = new FieldType(TextField.TYPE_STORED);
     
     switch(_TestUtil.nextInt(random, 0, 2)) {
-      case 0: field.setIndexOptions(IndexOptions.DOCS_ONLY); break;
-      case 1: field.setIndexOptions(IndexOptions.DOCS_AND_FREQS); break;
-      default: field.setIndexOptions(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS); break; 
+      case 0: ft.setIndexOptions(IndexOptions.DOCS_ONLY); break;
+      case 1: ft.setIndexOptions(IndexOptions.DOCS_AND_FREQS); break;
+      default: ft.setIndexOptions(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS); break; 
     }
 
+    Field field = newField("field", "", ft);
     document.add(field);
     
     NumberFormat df = new DecimalFormat("00000", new DecimalFormatSymbols(Locale.ENGLISH));
Index: lucene/src/test/org/apache/lucene/index/values/TestDocValuesIndexing.java
===================================================================
--- lucene/src/test/org/apache/lucene/index/values/TestDocValuesIndexing.java	(revision 1158790)
+++ lucene/src/test/org/apache/lucene/index/values/TestDocValuesIndexing.java	(working copy)
@@ -25,12 +25,12 @@
 import java.util.List;
 
 import org.apache.lucene.analysis.MockAnalyzer;
-import org.apache.lucene.document.AbstractField;
+import org.apache.lucene.document.FieldType;
 import org.apache.lucene.document.IndexDocValuesField;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
-import org.apache.lucene.document.Field.Index;
-import org.apache.lucene.document.Field.Store;
+import org.apache.lucene.document.StringField;
+import org.apache.lucene.document.TextField;
 import org.apache.lucene.index.CorruptIndexException;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.IndexWriter;
@@ -81,7 +81,7 @@
       IndexDocValuesField valuesField = new IndexDocValuesField("docId");
       valuesField.setInt(i);
       doc.add(valuesField);
-      doc.add(new Field("docId", "" + i, Store.NO, Index.ANALYZED));
+      doc.add(new TextField("docId", "" + i));
       writer.addDocument(doc);
     }
     writer.commit();
@@ -480,20 +480,25 @@
       ValueType.FLOAT_32,
       ValueType.FLOAT_64);
 
-  private static Index[] IDX_VALUES = new Index[] { Index.ANALYZED,
-      Index.ANALYZED_NO_NORMS, Index.NOT_ANALYZED, Index.NOT_ANALYZED_NO_NORMS,
-      Index.NO };
-
   private FixedBitSet indexValues(IndexWriter w, int numValues, ValueType value,
       List<ValueType> valueVarList, boolean withDeletions, int bytesSize)
       throws CorruptIndexException, IOException {
     final boolean isNumeric = NUMERICS.contains(value);
     FixedBitSet deleted = new FixedBitSet(numValues);
     Document doc = new Document();
-    Index idx = IDX_VALUES[random.nextInt(IDX_VALUES.length)];
-    AbstractField field = random.nextBoolean() ? new IndexDocValuesField(value.name())
+    FieldType ft = new FieldType();
+    ft.setIndexed(random.nextBoolean());
+    if (ft.indexed()) {
+      ft.setTokenized(random.nextBoolean());
+      ft.setOmitNorms(random.nextBoolean());
+    }
+    else {
+      ft.setStored(true);
+    }
+    
+    Field field = random.nextBoolean() ? new IndexDocValuesField(value.name())
         : newField(value.name(), _TestUtil.randomRealisticUnicodeString(random,
-            10), idx == Index.NO ? Store.YES : Store.NO, idx);
+            10), ft);
     doc.add(field);
     IndexDocValuesField valField = new IndexDocValuesField("prototype");
     final BytesRef bytesRef = new BytesRef();
@@ -543,8 +548,7 @@
         }
       }
       doc.removeFields("id");
-      doc.add(new Field("id", idBase + i, Store.YES,
-          Index.NOT_ANALYZED_NO_NORMS));
+      doc.add(new Field("id", StringField.TYPE_STORED, idBase + i));
       valField.set(field);
       w.addDocument(doc);
 
Index: lucene/src/test/org/apache/lucene/search/TestDocValuesScoring.java
===================================================================
--- lucene/src/test/org/apache/lucene/search/TestDocValuesScoring.java	(revision 1158790)
+++ lucene/src/test/org/apache/lucene/search/TestDocValuesScoring.java	(working copy)
@@ -22,6 +22,7 @@
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
 import org.apache.lucene.document.IndexDocValuesField;
+import org.apache.lucene.document.TextField;
 import org.apache.lucene.index.FieldInvertState;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.RandomIndexWriter;
@@ -50,11 +51,11 @@
     Directory dir = newDirectory();
     RandomIndexWriter iw = new RandomIndexWriter(random, dir);
     Document doc = new Document();
-    Field field = newField("foo", "", Field.Store.NO, Field.Index.ANALYZED);
+    Field field = newField("foo", "", TextField.TYPE_UNSTORED);
     doc.add(field);
     IndexDocValuesField dvField = new IndexDocValuesField("foo_boost");
     doc.add(dvField);
-    Field field2 = newField("bar", "", Field.Store.NO, Field.Index.ANALYZED);
+    Field field2 = newField("bar", "", TextField.TYPE_UNSTORED);
     doc.add(field2);
     
     field.setValue("quick brown fox");
Index: lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery32.java
===================================================================
--- lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery32.java	(revision 1158790)
+++ lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery32.java	(working copy)
@@ -58,25 +58,15 @@
         newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random))
         .setMaxBufferedDocs(_TestUtil.nextInt(random, 100, 1000))
         .setMergePolicy(newLogMergePolicy()));
-    
+  
     NumericField
-<<<<<<<
-      field8 = new NumericField("field8", 8, Field.Store.YES, true),
-      field4 = new NumericField("field4", 4, Field.Store.YES, true),
-      field2 = new NumericField("field2", 2, Field.Store.YES, true),
-      fieldNoTrie = new NumericField("field"+Integer.MAX_VALUE, Integer.MAX_VALUE, rarely() ? Field.Store.YES : Field.Store.NO, true),
-      ascfield8 = new NumericField("ascfield8", 8, Field.Store.NO, true),
-      ascfield4 = new NumericField("ascfield4", 4, Field.Store.NO, true),
-      ascfield2 = new NumericField("ascfield2", 2, Field.Store.NO, true);
-=======
-      field8 = new NumericField("field8", 8, NumericField.TYPE_STORED),
-      field4 = new NumericField("field4", 4, NumericField.TYPE_STORED),
-      field2 = new NumericField("field2", 2, NumericField.TYPE_STORED),
-      fieldNoTrie = new NumericField("field"+Integer.MAX_VALUE, Integer.MAX_VALUE, NumericField.TYPE_STORED),
-      ascfield8 = new NumericField("ascfield8", 8, NumericField.TYPE_UNSTORED),
-      ascfield4 = new NumericField("ascfield4", 4, NumericField.TYPE_UNSTORED),
-      ascfield2 = new NumericField("ascfield2", 2, NumericField.TYPE_UNSTORED);
->>>>>>>
+	    field8 = new NumericField("field8", 8, NumericField.TYPE_STORED),
+	    field4 = new NumericField("field4", 4, NumericField.TYPE_STORED),
+	    field2 = new NumericField("field2", 2, NumericField.TYPE_STORED),
+	    fieldNoTrie = new NumericField("field"+Integer.MAX_VALUE, Integer.MAX_VALUE, rarely() ? NumericField.TYPE_STORED : NumericField.TYPE_UNSTORED),
+	    ascfield8 = new NumericField("ascfield8", 8, NumericField.TYPE_UNSTORED),
+	    ascfield4 = new NumericField("ascfield4", 4, NumericField.TYPE_UNSTORED),
+	    ascfield2 = new NumericField("ascfield2", 2, NumericField.TYPE_UNSTORED);
     
     Document doc = new Document();
     // add fields, that have a distance to test general functionality
Index: lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery64.java
===================================================================
--- lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery64.java	(revision 1158790)
+++ lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery64.java	(working copy)
@@ -57,27 +57,15 @@
         .setMergePolicy(newLogMergePolicy()));
     
     NumericField
-<<<<<<<
-      field8 = new NumericField("field8", 8, Field.Store.YES, true),
-      field6 = new NumericField("field6", 6, Field.Store.YES, true),
-      field4 = new NumericField("field4", 4, Field.Store.YES, true),
-      field2 = new NumericField("field2", 2, Field.Store.YES, true),
-      fieldNoTrie = new NumericField("field"+Integer.MAX_VALUE, Integer.MAX_VALUE, rarely() ? Field.Store.YES : Field.Store.NO, true),
-      ascfield8 = new NumericField("ascfield8", 8, Field.Store.NO, true),
-      ascfield6 = new NumericField("ascfield6", 6, Field.Store.NO, true),
-      ascfield4 = new NumericField("ascfield4", 4, Field.Store.NO, true),
-      ascfield2 = new NumericField("ascfield2", 2, Field.Store.NO, true);
-=======
       field8 = new NumericField("field8", 8, NumericField.TYPE_STORED),
       field6 = new NumericField("field6", 6, NumericField.TYPE_STORED),
       field4 = new NumericField("field4", 4, NumericField.TYPE_STORED),
       field2 = new NumericField("field2", 2, NumericField.TYPE_STORED),
-      fieldNoTrie = new NumericField("field"+Integer.MAX_VALUE, Integer.MAX_VALUE, NumericField.TYPE_STORED),
+      fieldNoTrie = new NumericField("field"+Integer.MAX_VALUE, Integer.MAX_VALUE, rarely() ? NumericField.TYPE_STORED : NumericField.TYPE_UNSTORED),
       ascfield8 = new NumericField("ascfield8", 8, NumericField.TYPE_UNSTORED),
       ascfield6 = new NumericField("ascfield6", 6, NumericField.TYPE_UNSTORED),
       ascfield4 = new NumericField("ascfield4", 4, NumericField.TYPE_UNSTORED),
       ascfield2 = new NumericField("ascfield2", 2, NumericField.TYPE_UNSTORED);
->>>>>>>
     
     Document doc = new Document();
     // add fields, that have a distance to test general functionality
Index: lucene/src/test/org/apache/lucene/search/TestSimilarity.java
===================================================================
--- lucene/src/test/org/apache/lucene/search/TestSimilarity.java	(revision 1158790)
+++ lucene/src/test/org/apache/lucene/search/TestSimilarity.java	(working copy)
@@ -30,12 +30,8 @@
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;
-<<<<<<<
 import org.apache.lucene.document.Field;
-=======
 import org.apache.lucene.document.TextField;
-import org.apache.lucene.search.Explanation.IDFExplanation;
->>>>>>>
 
 /** Similarity unit test.
  *
Index: lucene/src/test/org/apache/lucene/search/TestSort.java
===================================================================
--- lucene/src/test/org/apache/lucene/search/TestSort.java	(revision 1158790)
+++ lucene/src/test/org/apache/lucene/search/TestSort.java	(working copy)
@@ -125,62 +125,42 @@
     dirs.add(indexStore);
     RandomIndexWriter writer = new RandomIndexWriter(random, indexStore, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random)).setMergePolicy(newLogMergePolicy()));
 
+    FieldType ft1 = new FieldType();
+    ft1.setStored(true);
+    FieldType ft2 = new FieldType();
+    ft2.setIndexed(true);
     for (int i=0; i<data.length; ++i) {
       if (((i%2)==0 && even) || ((i%2)==1 && odd)) {
         Document doc = new Document();
-        doc.add (new Field ("tracer",   data[i][0], Field.Store.YES, Field.Index.NO));
-        doc.add (new Field ("contents", data[i][1], Field.Store.NO, Field.Index.ANALYZED));
+        doc.add (new Field ("tracer", ft1, data[i][0]));
+        doc.add (new TextField ("contents", data[i][1]));
         if (data[i][2] != null) {
           Field f = supportsDocValues ? 
-              IndexDocValuesField.set(new Field ("int",      data[i][2], Field.Store.NO, Field.Index.NOT_ANALYZED), ValueType.VAR_INTS)
-                               : new Field ("int",      data[i][2], Field.Store.NO, Field.Index.NOT_ANALYZED);
+              IndexDocValuesField.set(new StringField ("int", data[i][2]), ValueType.VAR_INTS)
+                               : new StringField ("int", data[i][2]);
           doc.add(f);
         }
         if (data[i][3] != null) {
           Field f = supportsDocValues ?
-              IndexDocValuesField.set(new Field ("float",    data[i][3], Field.Store.NO, Field.Index.NOT_ANALYZED), ValueType.FLOAT_32)
-                              :  new Field ("float",    data[i][3], Field.Store.NO, Field.Index.NOT_ANALYZED);
+              IndexDocValuesField.set(new StringField ("float", data[i][3]), ValueType.FLOAT_32)
+                              :  new StringField ("float", data[i][3]);
           doc.add(f);
-<<<<<<<
         }
-        if (data[i][4] != null) doc.add (new Field ("string",   data[i][4], Field.Store.NO, Field.Index.NOT_ANALYZED));
-        if (data[i][5] != null) doc.add (new Field ("custom",   data[i][5], Field.Store.NO, Field.Index.NOT_ANALYZED));
-        if (data[i][6] != null) doc.add (new Field ("i18n",     data[i][6], Field.Store.NO, Field.Index.NOT_ANALYZED));
-        if (data[i][7] != null) doc.add (new Field ("long",     data[i][7], Field.Store.NO, Field.Index.NOT_ANALYZED));
-        if (data[i][8] != null) {
-          Field f = supportsDocValues ?
-              IndexDocValuesField.set(new Field ("double",     data[i][8], Field.Store.NO, Field.Index.NOT_ANALYZED), ValueType.FLOAT_64)
-                              :  new Field ("double",     data[i][8], Field.Store.NO, Field.Index.NOT_ANALYZED);
-          doc.add(f);
-        }
-        if (data[i][9] != null) doc.add (new Field ("short",     data[i][9], Field.Store.NO, Field.Index.NOT_ANALYZED));
-        if (data[i][10] != null) doc.add (new Field ("byte",     data[i][10], Field.Store.NO, Field.Index.NOT_ANALYZED));
-        if (data[i][11] != null) doc.add (new Field ("parser",     data[i][11], Field.Store.NO, Field.Index.NOT_ANALYZED));
-        doc.setBoost(2);  // produce some scores above 1.0
-=======
-    dirs.add(indexStore);
-    RandomIndexWriter writer = new RandomIndexWriter(random, indexStore, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random)).setMergePolicy(newLogMergePolicy()));
-
-    FieldType customType = new FieldType();
-    customType.setStored(true);
-    
-    for (int i=0; i<data.length; ++i) {
-      if (((i%2)==0 && even) || ((i%2)==1 && odd)) {
-        Document doc = new Document();
-        doc.add (new Field ("tracer", customType, data[i][0]));
-        doc.add (new TextField ("contents", data[i][1]));
-        if (data[i][2] != null) doc.add (new StringField ("int",      data[i][2]));
-        if (data[i][3] != null) doc.add (new StringField ("float",    data[i][3]));
         if (data[i][4] != null) doc.add (new StringField ("string",   data[i][4]));
         if (data[i][5] != null) doc.add (new StringField ("custom",   data[i][5]));
         if (data[i][6] != null) doc.add (new StringField ("i18n",     data[i][6]));
         if (data[i][7] != null) doc.add (new StringField ("long",     data[i][7]));
-        if (data[i][8] != null) doc.add (new StringField ("double",     data[i][8]));
+        if (data[i][8] != null) {
+          Field f = supportsDocValues ?
+              IndexDocValuesField.set(new StringField ("double", data[i][8]), ValueType.FLOAT_64)
+                              :  new StringField ("double", data[i][8]);
+          doc.add(f);
+        }
         if (data[i][9] != null) doc.add (new StringField ("short",     data[i][9]));
         if (data[i][10] != null) doc.add (new StringField ("byte",     data[i][10]));
         if (data[i][11] != null) doc.add (new StringField ("parser",     data[i][11]));
         //doc.setBoost(2);  // produce some scores above 1.0
->>>>>>>
+
         writer.addDocument (doc);
       }
     }
Index: lucene/src/test/org/apache/lucene/search/TestTopDocsMerge.java
===================================================================
--- lucene/src/test/org/apache/lucene/search/TestTopDocsMerge.java	(revision 1158790)
+++ lucene/src/test/org/apache/lucene/search/TestTopDocsMerge.java	(working copy)
@@ -24,6 +24,8 @@
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
 import org.apache.lucene.document.NumericField;
+import org.apache.lucene.document.StringField;
+import org.apache.lucene.document.TextField;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.index.Term;
@@ -90,8 +92,8 @@
 
       for(int docIDX=0;docIDX<numDocs;docIDX++) {
         final Document doc = new Document();
-        doc.add(newField("string", _TestUtil.randomRealisticUnicodeString(random), Field.Index.NOT_ANALYZED));
-        doc.add(newField("text", content[random.nextInt(content.length)], Field.Index.ANALYZED));
+        doc.add(newField("string", _TestUtil.randomRealisticUnicodeString(random), StringField.TYPE_STORED));
+        doc.add(newField("text", content[random.nextInt(content.length)], TextField.TYPE_UNSTORED));
         doc.add(new NumericField("float").setFloatValue(random.nextFloat()));
         final int intValue;
         if (random.nextInt(100) == 17) {
Index: lucene/src/test/org/apache/lucene/search/payloads/TestPayloadTermQuery.java
===================================================================
--- lucene/src/test/org/apache/lucene/search/payloads/TestPayloadTermQuery.java	(revision 1158790)
+++ lucene/src/test/org/apache/lucene/search/payloads/TestPayloadTermQuery.java	(working copy)
@@ -46,13 +46,10 @@
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
-<<<<<<<
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
-=======
 import org.apache.lucene.document.FieldType;
 import org.apache.lucene.document.TextField;
->>>>>>>
 
 import java.io.Reader;
 import java.io.IOException;
Index: modules/facet/src/examples/org/apache/lucene/facet/example/association/AssociationIndexer.java
===================================================================
--- modules/facet/src/examples/org/apache/lucene/facet/example/association/AssociationIndexer.java	(revision 1158790)
+++ modules/facet/src/examples/org/apache/lucene/facet/example/association/AssociationIndexer.java	(working copy)
@@ -2,8 +2,7 @@
 
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
-import org.apache.lucene.document.Field.Index;
-import org.apache.lucene.document.Field.Store;
+import org.apache.lucene.document.TextField;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.index.IndexWriterConfig;
 import org.apache.lucene.index.IndexWriterConfig.OpenMode;
@@ -94,10 +93,8 @@
       // create a plain Lucene document and add some regular Lucene fields
       // to it
       Document doc = new Document();
-      doc.add(new Field(SimpleUtils.TITLE, SimpleUtils.docTitles[docNum],
-          Store.YES, Index.ANALYZED));
-      doc.add(new Field(SimpleUtils.TEXT, SimpleUtils.docTexts[docNum],
-          Store.NO, Index.ANALYZED));
+      doc.add(new Field(SimpleUtils.TITLE, TextField.TYPE_STORED, SimpleUtils.docTitles[docNum]));
+      doc.add(new TextField(SimpleUtils.TEXT, SimpleUtils.docTexts[docNum]));
 
       // invoke the category document builder for adding categories to the
       // document and,
Index: modules/facet/src/examples/org/apache/lucene/facet/example/multiCL/MultiCLIndexer.java
===================================================================
--- modules/facet/src/examples/org/apache/lucene/facet/example/multiCL/MultiCLIndexer.java	(revision 1158790)
+++ modules/facet/src/examples/org/apache/lucene/facet/example/multiCL/MultiCLIndexer.java	(working copy)
@@ -6,8 +6,7 @@
 
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
-import org.apache.lucene.document.Field.Index;
-import org.apache.lucene.document.Field.Store;
+import org.apache.lucene.document.TextField;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.index.IndexWriterConfig;
 import org.apache.lucene.index.Term;
@@ -174,8 +173,8 @@
       // create a plain Lucene document and add some regular Lucene fields
       // to it
       Document doc = new Document();
-      doc.add(new Field(SimpleUtils.TITLE, docTitles[docNum], Store.YES, Index.ANALYZED));
-      doc.add(new Field(SimpleUtils.TEXT, docTexts[docNum], Store.NO, Index.ANALYZED));
+      doc.add(new Field(SimpleUtils.TITLE, TextField.TYPE_STORED, docTitles[docNum]));
+      doc.add(new TextField(SimpleUtils.TEXT, docTexts[docNum]));
 
       // finally add the document to the index
       categoryDocBuilder.build(doc);
Index: modules/facet/src/examples/org/apache/lucene/facet/example/simple/SimpleIndexer.java
===================================================================
--- modules/facet/src/examples/org/apache/lucene/facet/example/simple/SimpleIndexer.java	(revision 1158790)
+++ modules/facet/src/examples/org/apache/lucene/facet/example/simple/SimpleIndexer.java	(working copy)
@@ -5,8 +5,7 @@
 
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
-import org.apache.lucene.document.Field.Index;
-import org.apache.lucene.document.Field.Store;
+import org.apache.lucene.document.TextField;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.index.IndexWriterConfig;
 import org.apache.lucene.index.IndexWriterConfig.OpenMode;
@@ -71,8 +70,8 @@
 
       // create a plain Lucene document and add some regular Lucene fields to it 
       Document doc = new Document();
-      doc.add(new Field(SimpleUtils.TITLE, SimpleUtils.docTitles[docNum], Store.YES, Index.ANALYZED));
-      doc.add(new Field(SimpleUtils.TEXT, SimpleUtils.docTexts[docNum], Store.NO, Index.ANALYZED));
+      doc.add(new Field(SimpleUtils.TITLE, TextField.TYPE_STORED, SimpleUtils.docTitles[docNum]));
+      doc.add(new TextField(SimpleUtils.TEXT, SimpleUtils.docTexts[docNum]));
 
       // invoke the category document builder for adding categories to the document and,
       // as required, to the taxonomy index 
Index: modules/facet/src/java/org/apache/lucene/facet/index/CategoryDocumentBuilder.java
===================================================================
--- modules/facet/src/java/org/apache/lucene/facet/index/CategoryDocumentBuilder.java	(revision 1158790)
+++ modules/facet/src/java/org/apache/lucene/facet/index/CategoryDocumentBuilder.java	(working copy)
@@ -10,6 +10,8 @@
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
+import org.apache.lucene.document.FieldType;
+import org.apache.lucene.document.TextField;
 
 import org.apache.lucene.DocumentBuilder;
 import org.apache.lucene.facet.index.attributes.CategoryAttribute;
@@ -183,7 +185,9 @@
       // Finally creating a suitable field with stream and adding it to a
       // master field-list, used during the build process (see
       // super.build())
-      fieldList.add(new Field(e.getKey(), stream));
+      FieldType ft = new FieldType(TextField.TYPE_UNSTORED);
+      ft.setOmitNorms(true);
+      fieldList.add(new Field(e.getKey(), ft, stream));
     }
 
     return this;
@@ -289,7 +293,6 @@
    */
   public Document build(Document doc) {
     for (Field f : fieldList) {
-      f.setOmitNorms(true);
       doc.add(f);
     }
     return doc;
Index: modules/facet/src/java/org/apache/lucene/facet/taxonomy/lucene/Consts.java
===================================================================
--- modules/facet/src/java/org/apache/lucene/facet/taxonomy/lucene/Consts.java	(revision 1158790)
+++ modules/facet/src/java/org/apache/lucene/facet/taxonomy/lucene/Consts.java	(working copy)
@@ -1,6 +1,10 @@
 package org.apache.lucene.facet.taxonomy.lucene;
 
+import java.io.IOException;
+
+import org.apache.lucene.index.FieldInfo;
 import org.apache.lucene.index.StoredFieldVisitor;
+import org.apache.lucene.store.IndexInput;
 
 /**
  * Licensed to the Apache Software Foundation (ASF) under one or more
Index: modules/facet/src/java/org/apache/lucene/facet/taxonomy/lucene/LuceneTaxonomyReader.java
===================================================================
--- modules/facet/src/java/org/apache/lucene/facet/taxonomy/lucene/LuceneTaxonomyReader.java	(revision 1158790)
+++ modules/facet/src/java/org/apache/lucene/facet/taxonomy/lucene/LuceneTaxonomyReader.java	(working copy)
@@ -21,6 +21,7 @@
 
 import org.apache.lucene.facet.taxonomy.CategoryPath;
 import org.apache.lucene.facet.taxonomy.TaxonomyReader;
+import org.apache.lucene.facet.taxonomy.lucene.Consts.LoadFullPathOnly;
 import org.apache.lucene.util.Bits;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.collections.LRUHashMap;
Index: modules/facet/src/java/org/apache/lucene/facet/taxonomy/lucene/LuceneTaxonomyWriter.java
===================================================================
--- modules/facet/src/java/org/apache/lucene/facet/taxonomy/lucene/LuceneTaxonomyWriter.java	(revision 1158790)
+++ modules/facet/src/java/org/apache/lucene/facet/taxonomy/lucene/LuceneTaxonomyWriter.java	(working copy)
@@ -17,8 +17,9 @@
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
-import org.apache.lucene.document.Field.Index;
-import org.apache.lucene.document.Field.Store;
+import org.apache.lucene.document.FieldType;
+import org.apache.lucene.document.StringField;
+import org.apache.lucene.document.TextField;
 import org.apache.lucene.index.CorruptIndexException;
 import org.apache.lucene.index.DocsEnum;
 import org.apache.lucene.index.FieldInfo.IndexOptions;
@@ -179,10 +180,12 @@
     openLuceneIndex(directory, openMode);
     reader = null;
 
-    parentStreamField = new Field(Consts.FIELD_PAYLOADS, parentStream);
-    parentStreamField.setOmitNorms(true);
-    fullPathField = new Field(Consts.FULL, "", Store.YES, Index.NOT_ANALYZED_NO_NORMS);
-    fullPathField.setIndexOptions(IndexOptions.DOCS_ONLY);
+    FieldType ft = new FieldType(TextField.TYPE_UNSTORED);
+    ft.setOmitNorms(true);
+    parentStreamField = new Field(Consts.FIELD_PAYLOADS, ft, parentStream);
+    FieldType ft2 = new FieldType(StringField.TYPE_STORED);
+    ft2.setIndexOptions(IndexOptions.DOCS_ONLY);
+    fullPathField = new Field(Consts.FULL, ft2, "");
 
     this.nextID = indexWriter.maxDoc();
 
Index: modules/facet/src/test/org/apache/lucene/facet/FacetTestBase.java
===================================================================
--- modules/facet/src/test/org/apache/lucene/facet/FacetTestBase.java	(revision 1158790)
+++ modules/facet/src/test/org/apache/lucene/facet/FacetTestBase.java	(working copy)
@@ -15,9 +15,7 @@
 import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
-import org.apache.lucene.document.Field.Index;
-import org.apache.lucene.document.Field.Store;
-import org.apache.lucene.document.Field.TermVector;
+import org.apache.lucene.document.TextField;
 import org.apache.lucene.index.CorruptIndexException;
 import org.apache.lucene.index.DocsEnum;
 import org.apache.lucene.index.IndexReader;
@@ -247,7 +245,7 @@
     CategoryDocumentBuilder builder = new CategoryDocumentBuilder(tw, iParams);
     builder.setCategoryPaths(categories);
     builder.build(d);
-    d.add(new Field("content", content, Store.YES, Index.ANALYZED, TermVector.NO));
+    d.add(new Field("content", TextField.TYPE_STORED, content));
     iw.addDocument(d);
   }
   
Index: modules/facet/src/test/org/apache/lucene/facet/FacetTestUtils.java
===================================================================
--- modules/facet/src/test/org/apache/lucene/facet/FacetTestUtils.java	(revision 1158790)
+++ modules/facet/src/test/org/apache/lucene/facet/FacetTestUtils.java	(working copy)
@@ -7,9 +7,7 @@
 import org.apache.lucene.analysis.standard.StandardAnalyzer;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
-import org.apache.lucene.document.Field.Index;
-import org.apache.lucene.document.Field.Store;
-import org.apache.lucene.document.Field.TermVector;
+import org.apache.lucene.document.TextField;
 import org.apache.lucene.index.CorruptIndexException;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.IndexWriter;
@@ -130,8 +128,7 @@
     cps.add(cp);
     Document d = new Document();
     new CategoryDocumentBuilder(tw, iParams).setCategoryPaths(cps).build(d);
-    d.add(new Field("content", "alpha", Store.YES, Index.ANALYZED,
-        TermVector.NO));
+    d.add(new Field("content", TextField.TYPE_STORED, "alpha"));
     iw.addDocument(d);
   }
 
Index: modules/facet/src/test/org/apache/lucene/facet/search/CategoryListIteratorTest.java
===================================================================
--- modules/facet/src/test/org/apache/lucene/facet/search/CategoryListIteratorTest.java	(revision 1158790)
+++ modules/facet/src/test/org/apache/lucene/facet/search/CategoryListIteratorTest.java	(working copy)
@@ -13,6 +13,7 @@
 import org.apache.lucene.analysis.tokenattributes.PayloadAttribute;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
+import org.apache.lucene.document.TextField;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.Payload;
 import org.apache.lucene.index.RandomIndexWriter;
@@ -104,7 +105,7 @@
     for (int i = 0; i < data.length; i++) {
       dts.setIdx(i);
       Document doc = new Document();
-      doc.add(new Field("f", dts));
+      doc.add(new TextField("f", dts));
       writer.addDocument(doc);
     }
     IndexReader reader = writer.getReader();
@@ -155,10 +156,10 @@
       dts.setIdx(i);
       Document doc = new Document();
       if (i==0 || i == 2) {
-        doc.add(new Field("f", dts)); // only docs 0 & 2 have payloads!
+        doc.add(new TextField("f", dts)); // only docs 0 & 2 have payloads!
       }
       dts2.setIdx(i);
-      doc.add(new Field("f", dts2));
+      doc.add(new TextField("f", dts2));
       writer.addDocument(doc);
       writer.commit();
     }
@@ -168,7 +169,7 @@
     for (int i = 0; i < 10; ++i) {
       Document d = new Document();
       dts.setIdx(2);
-      d.add(new Field("f", dts2));
+      d.add(new TextField("f", dts2));
       writer.addDocument(d);
       if (i %10 == 0) {
         writer.commit();
Index: modules/facet/src/test/org/apache/lucene/facet/search/DrillDownTest.java
===================================================================
--- modules/facet/src/test/org/apache/lucene/facet/search/DrillDownTest.java	(revision 1158790)
+++ modules/facet/src/test/org/apache/lucene/facet/search/DrillDownTest.java	(working copy)
@@ -7,8 +7,7 @@
 import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
-import org.apache.lucene.document.Field.Index;
-import org.apache.lucene.document.Field.Store;
+import org.apache.lucene.document.TextField;
 import org.apache.lucene.index.CorruptIndexException;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.IndexWriterConfig;
@@ -84,10 +83,10 @@
       ArrayList<CategoryPath> paths = new ArrayList<CategoryPath>();
       Document doc = new Document();
       if (i % 2 == 0) { // 50
-        doc.add(new Field("content", "foo", Store.NO, Index.ANALYZED));
+        doc.add(new TextField("content", "foo"));
       }
       if (i % 3 == 0) { // 33
-        doc.add(new Field("content", "bar", Store.NO, Index.ANALYZED));
+        doc.add(new TextField("content", "bar"));
       }
       if (i % 4 == 0) { // 25
         paths.add(new CategoryPath("a"));
Index: modules/facet/src/test/org/apache/lucene/facet/search/TestTopKInEachNodeResultHandler.java
===================================================================
--- modules/facet/src/test/org/apache/lucene/facet/search/TestTopKInEachNodeResultHandler.java	(revision 1158790)
+++ modules/facet/src/test/org/apache/lucene/facet/search/TestTopKInEachNodeResultHandler.java	(working copy)
@@ -7,9 +7,7 @@
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
-import org.apache.lucene.document.Field.Index;
-import org.apache.lucene.document.Field.Store;
-import org.apache.lucene.document.Field.TermVector;
+import org.apache.lucene.document.TextField;
 import org.apache.lucene.index.CorruptIndexException;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.IndexWriterConfig.OpenMode;
@@ -335,7 +333,7 @@
     cps.add(cp);
     Document d = new Document();
     new CategoryDocumentBuilder(tw, iParams).setCategoryPaths(cps).build(d);
-    d.add(new Field("content", "alpha", Store.YES, Index.ANALYZED, TermVector.NO));
+    d.add(new Field("content", TextField.TYPE_STORED, "alpha"));
     iw.addDocument(d);
   }
 
Index: modules/facet/src/test/org/apache/lucene/facet/util/TestScoredDocIDsUtils.java
===================================================================
--- modules/facet/src/test/org/apache/lucene/facet/util/TestScoredDocIDsUtils.java	(revision 1158790)
+++ modules/facet/src/test/org/apache/lucene/facet/util/TestScoredDocIDsUtils.java	(working copy)
@@ -7,8 +7,8 @@
 import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
-import org.apache.lucene.document.Field.Index;
-import org.apache.lucene.document.Field.Store;
+import org.apache.lucene.document.FieldType;
+import org.apache.lucene.document.StringField;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.MultiFields;
 import org.apache.lucene.index.RandomIndexWriter;
@@ -134,7 +134,7 @@
         int docNum = it.getDocID();
         assertNull(
             "Deleted docs must not appear in the allDocsScoredDocIds set: " + docNum, 
-            reader.document(docNum).getFieldable("del"));
+            reader.document(docNum).getField("del"));
       }
 
       assertEquals("Wrong number of (live) documents", allDocs.size(), numIteratedDocs);
@@ -166,7 +166,7 @@
             live != null && !live.get(docNum));
         assertNull(
             "Complement-Set must not contain docs from the original set (doc="+ docNum+")",
-            reader.document(docNum).getFieldable("del"));
+            reader.document(docNum).getField("del"));
         assertFalse(
             "Complement-Set must not contain docs from the original set (doc="+docNum+")",
             resultSet.fastGet(docNum));
@@ -189,8 +189,8 @@
     protected final static String delTxt = "delete";
     protected final static String alphaTxt = "alpha";
     
-    private final static Field deletionMark = new Field(field, delTxt, Store.NO, Index.NOT_ANALYZED_NO_NORMS);
-    private final static Field alphaContent = new Field(field, alphaTxt, Store.NO, Index.NOT_ANALYZED_NO_NORMS);
+    private final static Field deletionMark = new StringField(field, delTxt);
+    private final static Field alphaContent = new StringField(field, alphaTxt);
     
     protected final int numDocs;
     
@@ -208,7 +208,9 @@
         doc.add(deletionMark);
         // Add a special field for docs that are marked for deletion. Later we
         // assert that those docs are not returned by all-scored-doc-IDs.
-        doc.add(new Field("del", Integer.toString(docNum), Store.YES, Index.NO));
+        FieldType ft = new FieldType();
+        ft.setStored(true);
+        doc.add(new Field("del", ft, Integer.toString(docNum)));
       }
 
       if (haveAlpha(docNum)) {
Index: modules/grouping/src/test/org/apache/lucene/search/grouping/TermAllGroupHeadsCollectorTest.java
===================================================================
--- modules/grouping/src/test/org/apache/lucene/search/grouping/TermAllGroupHeadsCollectorTest.java	(revision 1158790)
+++ modules/grouping/src/test/org/apache/lucene/search/grouping/TermAllGroupHeadsCollectorTest.java	(working copy)
@@ -21,6 +21,8 @@
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
 import org.apache.lucene.document.NumericField;
+import org.apache.lucene.document.StringField;
+import org.apache.lucene.document.TextField;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.index.Term;
@@ -47,57 +49,57 @@
 
     // 0
     Document doc = new Document();
-    doc.add(new Field(groupField, "author1", Field.Store.YES, Field.Index.ANALYZED));
-    doc.add(new Field("content", "random text", Field.Store.YES, Field.Index.ANALYZED));
-    doc.add(new Field("id", "1", Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS));
+    doc.add(newField(groupField, "author1", TextField.TYPE_STORED));
+    doc.add(newField("content", "random text", TextField.TYPE_STORED));
+    doc.add(newField("id", "1", StringField.TYPE_STORED));
     w.addDocument(doc);
 
     // 1
     doc = new Document();
-    doc.add(new Field(groupField, "author1", Field.Store.YES, Field.Index.ANALYZED));
-    doc.add(new Field("content", "some more random text blob", Field.Store.YES, Field.Index.ANALYZED));
-    doc.add(new Field("id", "2", Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS));
+    doc.add(newField(groupField, "author1", TextField.TYPE_STORED));
+    doc.add(newField("content", "some more random text blob", TextField.TYPE_STORED));
+    doc.add(newField("id", "2", StringField.TYPE_STORED));
     w.addDocument(doc);
 
     // 2
     doc = new Document();
-    doc.add(new Field(groupField, "author1", Field.Store.YES, Field.Index.ANALYZED));
-    doc.add(new Field("content", "some more random textual data", Field.Store.YES, Field.Index.ANALYZED));
-    doc.add(new Field("id", "3", Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS));
+    doc.add(newField(groupField, "author1", TextField.TYPE_STORED));
+    doc.add(newField("content", "some more random textual data", TextField.TYPE_STORED));
+    doc.add(newField("id", "3", StringField.TYPE_STORED));
     w.addDocument(doc);
     w.commit(); // To ensure a second segment
 
     // 3
     doc = new Document();
-    doc.add(new Field(groupField, "author2", Field.Store.YES, Field.Index.ANALYZED));
-    doc.add(new Field("content", "some random text", Field.Store.YES, Field.Index.ANALYZED));
-    doc.add(new Field("id", "4", Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS));
+    doc.add(newField(groupField, "author2", TextField.TYPE_STORED));
+    doc.add(newField("content", "some random text", TextField.TYPE_STORED));
+    doc.add(newField("id", "4", StringField.TYPE_STORED));
     w.addDocument(doc);
 
     // 4
     doc = new Document();
-    doc.add(new Field(groupField, "author3", Field.Store.YES, Field.Index.ANALYZED));
-    doc.add(new Field("content", "some more random text", Field.Store.YES, Field.Index.ANALYZED));
-    doc.add(new Field("id", "5", Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS));
+    doc.add(newField(groupField, "author3", TextField.TYPE_STORED));
+    doc.add(newField("content", "some more random text", TextField.TYPE_STORED));
+    doc.add(newField("id", "5", StringField.TYPE_STORED));
     w.addDocument(doc);
 
     // 5
     doc = new Document();
-    doc.add(new Field(groupField, "author3", Field.Store.YES, Field.Index.ANALYZED));
-    doc.add(new Field("content", "random blob", Field.Store.YES, Field.Index.ANALYZED));
-    doc.add(new Field("id", "6", Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS));
+    doc.add(newField(groupField, "author3", TextField.TYPE_STORED));
+    doc.add(newField("content", "random blob", TextField.TYPE_STORED));
+    doc.add(newField("id", "6", StringField.TYPE_STORED));
     w.addDocument(doc);
 
     // 6 -- no author field
     doc = new Document();
-    doc.add(new Field("content", "random word stuck in alot of other text", Field.Store.YES, Field.Index.ANALYZED));
-    doc.add(new Field("id", "6", Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS));
+    doc.add(newField("content", "random word stuck in alot of other text", TextField.TYPE_STORED));
+    doc.add(newField("id", "6", StringField.TYPE_STORED));
     w.addDocument(doc);
 
     // 7 -- no author field
     doc = new Document();
-    doc.add(new Field("content", "random word stuck in alot of other text", Field.Store.YES, Field.Index.ANALYZED));
-    doc.add(new Field("id", "7", Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS));
+    doc.add(newField("content", "random word stuck in alot of other text", TextField.TYPE_STORED));
+    doc.add(newField("id", "7", StringField.TYPE_STORED));
     w.addDocument(doc);
 
     IndexSearcher indexSearcher = new IndexSearcher(w.getReader());
@@ -182,18 +184,18 @@
 
       Document doc = new Document();
       Document docNoGroup = new Document();
-      Field group = newField("group", "", Field.Index.NOT_ANALYZED);
+      Field group = newField("group", "", StringField.TYPE_UNSTORED);
       doc.add(group);
-      Field sort1 = newField("sort1", "", Field.Index.NOT_ANALYZED);
+      Field sort1 = newField("sort1", "", StringField.TYPE_UNSTORED);
       doc.add(sort1);
       docNoGroup.add(sort1);
-      Field sort2 = newField("sort2", "", Field.Index.NOT_ANALYZED);
+      Field sort2 = newField("sort2", "", StringField.TYPE_UNSTORED);
       doc.add(sort2);
       docNoGroup.add(sort2);
-      Field sort3 = newField("sort3", "", Field.Index.NOT_ANALYZED);
+      Field sort3 = newField("sort3", "", StringField.TYPE_UNSTORED);
       doc.add(sort3);
       docNoGroup.add(sort3);
-      Field content = newField("content", "", Field.Index.ANALYZED);
+      Field content = newField("content", "", TextField.TYPE_UNSTORED);
       doc.add(content);
       docNoGroup.add(content);
       NumericField id = new NumericField("id");
Index: modules/grouping/src/test/org/apache/lucene/search/grouping/TestGrouping.java
===================================================================
--- modules/grouping/src/test/org/apache/lucene/search/grouping/TestGrouping.java	(revision 1158790)
+++ modules/grouping/src/test/org/apache/lucene/search/grouping/TestGrouping.java	(working copy)
@@ -25,12 +25,9 @@
 import org.apache.lucene.document.Field;
 import org.apache.lucene.document.FieldType;
 import org.apache.lucene.document.NumericField;
-<<<<<<<
 import org.apache.lucene.index.FieldInfo.IndexOptions;
-=======
 import org.apache.lucene.document.StringField;
 import org.apache.lucene.document.TextField;
->>>>>>>
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.index.Term;
@@ -404,13 +401,10 @@
         //System.out.println("TEST:     doc content=" + groupValue.content + " group=" + (groupValue.group == null ? "null" : groupValue.group.utf8ToString()) + " sort1=" + groupValue.sort1.utf8ToString() + " id=" + groupValue.id);
       }
       // So we can pull filter marking last doc in block:
-<<<<<<<
-      final Field groupEnd = newField("groupend", "x", Field.Index.NOT_ANALYZED);
-      groupEnd.setIndexOptions(IndexOptions.DOCS_ONLY);
-      groupEnd.setOmitNorms(true);
-=======
-      final Field groupEnd = newField("groupend", "x", StringField.TYPE_UNSTORED);
->>>>>>>
+      FieldType ft = new FieldType(StringField.TYPE_UNSTORED);
+      ft.setIndexOptions(IndexOptions.DOCS_ONLY);
+      ft.setOmitNorms(true);
+      final Field groupEnd = newField("groupend", "x", ft);
       docs.get(docs.size()-1).add(groupEnd);
       // Add as a doc block:
       w.addDocuments(docs);
Index: modules/join/src/test/org/apache/lucene/search/TestBlockJoin.java
===================================================================
--- modules/join/src/test/org/apache/lucene/search/TestBlockJoin.java	(revision 1158790)
+++ modules/join/src/test/org/apache/lucene/search/TestBlockJoin.java	(working copy)
@@ -24,6 +24,7 @@
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
 import org.apache.lucene.document.NumericField;
+import org.apache.lucene.document.StringField;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.index.Term;
@@ -42,16 +43,16 @@
   // One resume...
   private Document makeResume(String name, String country) {
     Document resume = new Document();
-    resume.add(newField("docType", "resume", Field.Index.NOT_ANALYZED));
-    resume.add(newField("name", name, Field.Store.YES, Field.Index.NOT_ANALYZED));
-    resume.add(newField("country", country, Field.Index.NOT_ANALYZED));
+    resume.add(newField("docType", "resume", StringField.TYPE_UNSTORED));
+    resume.add(newField("name", name, StringField.TYPE_STORED));
+    resume.add(newField("country", country, StringField.TYPE_UNSTORED));
     return resume;
   }
 
   // ... has multiple jobs
   private Document makeJob(String skill, int year) {
     Document job = new Document();
-    job.add(newField("skill", skill, Field.Store.YES, Field.Index.NOT_ANALYZED));
+    job.add(newField("skill", skill, StringField.TYPE_STORED));
     job.add(new NumericField("year").setIntValue(year));
     return job;
   }
@@ -188,15 +189,15 @@
     for(int parentDocID=0;parentDocID<numParentDocs;parentDocID++) {
       Document parentDoc = new Document();
       Document parentJoinDoc = new Document();
-      Field id = newField("parentID", ""+parentDocID, Field.Store.YES, Field.Index.NOT_ANALYZED);
+      Field id = newField("parentID", ""+parentDocID, StringField.TYPE_STORED);
       parentDoc.add(id);
       parentJoinDoc.add(id);
-      parentJoinDoc.add(newField("isParent", "x", Field.Index.NOT_ANALYZED));
+      parentJoinDoc.add(newField("isParent", "x", StringField.TYPE_UNSTORED));
       for(int field=0;field<parentFields.length;field++) {
         if (random.nextDouble() < 0.9) {
           Field f = newField("parent" + field,
                              parentFields[field][random.nextInt(parentFields[field].length)],
-                             Field.Index.NOT_ANALYZED);
+                             StringField.TYPE_UNSTORED);
           parentDoc.add(f);
           parentJoinDoc.add(f);
         }
@@ -215,7 +216,7 @@
         Document joinChildDoc = new Document();
         joinDocs.add(joinChildDoc);
 
-        Field childID = newField("childID", ""+childDocID, Field.Store.YES, Field.Index.NOT_ANALYZED);
+        Field childID = newField("childID", ""+childDocID, StringField.TYPE_STORED);
         childDoc.add(childID);
         joinChildDoc.add(childID);
 
@@ -223,7 +224,7 @@
           if (random.nextDouble() < 0.9) {
             Field f = newField("child" + childFieldID,
                                childFields[childFieldID][random.nextInt(childFields[childFieldID].length)],
-                               Field.Index.NOT_ANALYZED);
+                               StringField.TYPE_UNSTORED);
             childDoc.add(f);
             joinChildDoc.add(f);
           }
Index: modules/queries/src/java/org/apache/lucene/queries/mlt/MoreLikeThis.java
===================================================================
--- modules/queries/src/java/org/apache/lucene/queries/mlt/MoreLikeThis.java	(revision 1158790)
+++ modules/queries/src/java/org/apache/lucene/queries/mlt/MoreLikeThis.java	(working copy)
@@ -19,6 +19,7 @@
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 import org.apache.lucene.document.Document;
+import org.apache.lucene.document.Field;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.IndexableField;
 import org.apache.lucene.index.Term;
@@ -706,10 +707,10 @@
       // field does not store term vector info
       if (vector == null) {
         Document d = ir.document(docNum);
-        String text[] = d.getValues(fieldName);
-        if (text != null) {
-          for (int j = 0; j < text.length; j++) {
-            addTermFrequencies(new StringReader(text[j]), termFreqMap, fieldName);
+        IndexableField fields[] = d.getFields(fieldName);
+        if (fields != null) {
+          for (int j = 0; j < fields.length; j++) {
+            addTermFrequencies(new StringReader(fields[j].stringValue()), termFreqMap, fieldName);
           }
         }
       } else {
Index: modules/queries/src/test/org/apache/lucene/queries/function/FunctionTestSetup.java
===================================================================
--- modules/queries/src/test/org/apache/lucene/queries/function/FunctionTestSetup.java	(revision 1158790)
+++ modules/queries/src/test/org/apache/lucene/queries/function/FunctionTestSetup.java	(working copy)
@@ -4,13 +4,10 @@
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
-<<<<<<<
 import org.apache.lucene.document.Fieldable;
-=======
 import org.apache.lucene.document.FieldType;
 import org.apache.lucene.document.TextField;
 import org.apache.lucene.index.RandomIndexWriter;
->>>>>>>
 import org.apache.lucene.index.IndexWriterConfig;
 import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.queries.function.valuesource.ByteFieldSource;
Index: modules/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestNumericQueryParser.java
===================================================================
--- modules/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestNumericQueryParser.java	(revision 1158790)
+++ modules/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestNumericQueryParser.java	(working copy)
@@ -194,8 +194,7 @@
       numericConfigMap.put(type.name(), new NumericConfig(PRECISION_STEP,
           NUMBER_FORMAT, type));
       
-      NumericField field = new NumericField(type.name(), PRECISION_STEP,
-          Field.Store.YES, true);
+      NumericField field = new NumericField(type.name(), PRECISION_STEP, NumericField.TYPE_STORED);
       
       numericFieldMap.put(type.name(), field);
       doc.add(field);
@@ -204,8 +203,7 @@
     
     numericConfigMap.put(DATE_FIELD_NAME, new NumericConfig(PRECISION_STEP,
         DATE_FORMAT, NumericField.DataType.LONG));
-    NumericField dateField = new NumericField(DATE_FIELD_NAME, PRECISION_STEP,
-        Field.Store.YES, true);
+    NumericField dateField = new NumericField(DATE_FIELD_NAME, PRECISION_STEP, NumericField.TYPE_STORED);
     numericFieldMap.put(DATE_FIELD_NAME, dateField);
     doc.add(dateField);
     
Index: modules/suggest/src/java/org/apache/lucene/search/spell/SpellChecker.java
===================================================================
--- modules/suggest/src/java/org/apache/lucene/search/spell/SpellChecker.java	(revision 1158790)
+++ modules/suggest/src/java/org/apache/lucene/search/spell/SpellChecker.java	(working copy)
@@ -28,11 +28,9 @@
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
-<<<<<<<
+import org.apache.lucene.document.FieldType;
 import org.apache.lucene.index.FieldInfo.IndexOptions;
-=======
 import org.apache.lucene.document.StringField;
->>>>>>>
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.index.IndexWriterConfig;
@@ -611,13 +609,7 @@
     Document doc = new Document();
     // the word field is never queried on... its indexed so it can be quickly
     // checked for rebuild (and stored for retrieval). Doesn't need norms or TF/pos
-<<<<<<<
-    Field f = new Field(F_WORD, text, Field.Store.YES, Field.Index.NOT_ANALYZED);
-    f.setIndexOptions(IndexOptions.DOCS_ONLY);
-    f.setOmitNorms(true);
-=======
     Field f = new Field(F_WORD, StringField.TYPE_STORED, text);
->>>>>>>
     doc.add(f); // orig term
     addGram(text, doc, ng1, ng2);
     return doc;
@@ -630,37 +622,22 @@
       String end = null;
       for (int i = 0; i < len - ng + 1; i++) {
         String gram = text.substring(i, i + ng);
-<<<<<<<
-        Field ngramField = new Field(key, gram, Field.Store.NO, Field.Index.NOT_ANALYZED);
+        FieldType ft = new FieldType(StringField.TYPE_UNSTORED);
+        ft.setIndexOptions(IndexOptions.DOCS_AND_FREQS);
+        Field ngramField = new Field(key, ft, gram);
         // spellchecker does not use positional queries, but we want freqs
         // for scoring these multivalued n-gram fields.
-        ngramField.setIndexOptions(IndexOptions.DOCS_AND_FREQS);
         doc.add(ngramField);
-=======
-        doc.add(new StringField(key, gram));
->>>>>>>
         if (i == 0) {
           // only one term possible in the startXXField, TF/pos and norms aren't needed.
-<<<<<<<
-          Field startField = new Field("start" + ng, gram, Field.Store.NO, Field.Index.NOT_ANALYZED);
-          startField.setIndexOptions(IndexOptions.DOCS_ONLY);
-          startField.setOmitNorms(true);
-=======
           Field startField = new StringField("start" + ng, gram);
->>>>>>>
           doc.add(startField);
         }
         end = gram;
       }
       if (end != null) { // may not be present if len==ng1
         // only one term possible in the endXXField, TF/pos and norms aren't needed.
-<<<<<<<
-        Field endField = new Field("end" + ng, end, Field.Store.NO, Field.Index.NOT_ANALYZED);
-        endField.setIndexOptions(IndexOptions.DOCS_ONLY);
-        endField.setOmitNorms(true);
-=======
         Field endField = new StringField("end" + ng, end);
->>>>>>>
         doc.add(endField);
       }
     }
Index: modules/suggest/src/test/org/apache/lucene/search/spell/TestDirectSpellChecker.java
===================================================================
--- modules/suggest/src/test/org/apache/lucene/search/spell/TestDirectSpellChecker.java	(revision 1158790)
+++ modules/suggest/src/test/org/apache/lucene/search/spell/TestDirectSpellChecker.java	(working copy)
@@ -151,7 +151,7 @@
 
     for (int i = 0; i < 20; i++) {
       Document doc = new Document();
-      doc.add(newField("numbers", English.intToEnglish(i), Field.Store.NO, Field.Index.ANALYZED));
+      doc.add(newField("numbers", English.intToEnglish(i), TextField.TYPE_UNSTORED));
       writer.addDocument(doc);
     }
 
Index: solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DataImportHandler.java
===================================================================
--- solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DataImportHandler.java	(revision 1158790)
+++ solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DataImportHandler.java	(working copy)
@@ -349,11 +349,7 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 
   public static final String ENABLE_DEBUG = "enableDebug";
Index: solr/core/src/java/org/apache/solr/core/RequestHandlers.java
===================================================================
--- solr/core/src/java/org/apache/solr/core/RequestHandlers.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/core/RequestHandlers.java	(working copy)
@@ -299,11 +299,7 @@
     }
 
     public String getSource() {
-<<<<<<<
       String rev = "$URL$";
-=======
-      String rev = "$URL$";
->>>>>>>
       if( _handler != null ) {
         rev += "\n" + _handler.getSource();
       }
Index: solr/core/src/java/org/apache/solr/core/SolrCore.java
===================================================================
--- solr/core/src/java/org/apache/solr/core/SolrCore.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/core/SolrCore.java	(working copy)
@@ -1711,11 +1711,7 @@
   }
 
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 
   public URL[] getDocs() {
Index: solr/core/src/java/org/apache/solr/handler/BinaryUpdateRequestHandler.java
===================================================================
--- solr/core/src/java/org/apache/solr/handler/BinaryUpdateRequestHandler.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/handler/BinaryUpdateRequestHandler.java	(working copy)
@@ -125,11 +125,7 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 
   @Override
Index: solr/core/src/java/org/apache/solr/handler/CSVRequestHandler.java
===================================================================
--- solr/core/src/java/org/apache/solr/handler/CSVRequestHandler.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/handler/CSVRequestHandler.java	(working copy)
@@ -70,11 +70,7 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 }
 
Index: solr/core/src/java/org/apache/solr/handler/DocumentAnalysisRequestHandler.java
===================================================================
--- solr/core/src/java/org/apache/solr/handler/DocumentAnalysisRequestHandler.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/handler/DocumentAnalysisRequestHandler.java	(working copy)
@@ -132,11 +132,7 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 
 
Index: solr/core/src/java/org/apache/solr/handler/DumpRequestHandler.java
===================================================================
--- solr/core/src/java/org/apache/solr/handler/DumpRequestHandler.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/handler/DumpRequestHandler.java	(working copy)
@@ -79,10 +79,6 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 }
Index: solr/core/src/java/org/apache/solr/handler/FieldAnalysisRequestHandler.java
===================================================================
--- solr/core/src/java/org/apache/solr/handler/FieldAnalysisRequestHandler.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/handler/FieldAnalysisRequestHandler.java	(working copy)
@@ -118,11 +118,7 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 
   // ================================================= Helper methods ================================================
Index: solr/core/src/java/org/apache/solr/handler/JsonUpdateRequestHandler.java
===================================================================
--- solr/core/src/java/org/apache/solr/handler/JsonUpdateRequestHandler.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/handler/JsonUpdateRequestHandler.java	(working copy)
@@ -59,11 +59,7 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 }
 
Index: solr/core/src/java/org/apache/solr/handler/MoreLikeThisHandler.java
===================================================================
--- solr/core/src/java/org/apache/solr/handler/MoreLikeThisHandler.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/handler/MoreLikeThisHandler.java	(working copy)
@@ -424,11 +424,7 @@
 
   @Override
   public String getVersion() {
-<<<<<<<
     return "$Revision$";
-=======
-    return "$Revision$";
->>>>>>>
   }
 
   @Override
@@ -438,20 +434,12 @@
 
   @Override
   public String getSourceId() {
-<<<<<<<
     return "$Id$";
-=======
-    return "$Id$";
->>>>>>>
   }
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 
   @Override
Index: solr/core/src/java/org/apache/solr/handler/PingRequestHandler.java
===================================================================
--- solr/core/src/java/org/apache/solr/handler/PingRequestHandler.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/handler/PingRequestHandler.java	(working copy)
@@ -100,10 +100,6 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 }
Index: solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java
===================================================================
--- solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java	(working copy)
@@ -466,11 +466,7 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 
   @Override
Index: solr/core/src/java/org/apache/solr/handler/StandardRequestHandler.java
===================================================================
--- solr/core/src/java/org/apache/solr/handler/StandardRequestHandler.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/handler/StandardRequestHandler.java	(working copy)
@@ -62,11 +62,7 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 
   @Override
Index: solr/core/src/java/org/apache/solr/handler/XmlUpdateRequestHandler.java
===================================================================
--- solr/core/src/java/org/apache/solr/handler/XmlUpdateRequestHandler.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/handler/XmlUpdateRequestHandler.java	(working copy)
@@ -97,11 +97,7 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 }
 
Index: solr/core/src/java/org/apache/solr/handler/admin/AdminHandlers.java
===================================================================
--- solr/core/src/java/org/apache/solr/handler/admin/AdminHandlers.java	(revision 1158802)
+++ solr/core/src/java/org/apache/solr/handler/admin/AdminHandlers.java	(working copy)
@@ -121,11 +121,7 @@
   }
 
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 
   public Category getCategory() {
Index: solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
===================================================================
--- solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java	(revision 1158802)
+++ solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java	(working copy)
@@ -587,10 +587,6 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 }
Index: solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java
===================================================================
--- solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java	(revision 1158802)
+++ solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java	(working copy)
@@ -34,12 +34,8 @@
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.document.Document;
-<<<<<<<
-import org.apache.lucene.document.Fieldable;
 import org.apache.lucene.index.FieldInfo.IndexOptions;
-=======
 import org.apache.lucene.document.Field;
->>>>>>>
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.IndexableField;
 import org.apache.lucene.index.Term;
@@ -514,29 +510,17 @@
 
   @Override
   public String getVersion() {
-<<<<<<<
     return "$Revision$";
-=======
-    return "$Revision$";
->>>>>>>
   }
 
   @Override
   public String getSourceId() {
-<<<<<<<
     return "$Id$";
-=======
-    return "$Id$";
->>>>>>>
   }
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 
   @Override
Index: solr/core/src/java/org/apache/solr/handler/admin/PluginInfoHandler.java
===================================================================
--- solr/core/src/java/org/apache/solr/handler/admin/PluginInfoHandler.java	(revision 1158802)
+++ solr/core/src/java/org/apache/solr/handler/admin/PluginInfoHandler.java	(working copy)
@@ -111,10 +111,6 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 }
Index: solr/core/src/java/org/apache/solr/handler/admin/PropertiesRequestHandler.java
===================================================================
--- solr/core/src/java/org/apache/solr/handler/admin/PropertiesRequestHandler.java	(revision 1158802)
+++ solr/core/src/java/org/apache/solr/handler/admin/PropertiesRequestHandler.java	(working copy)
@@ -66,10 +66,6 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 }
Index: solr/core/src/java/org/apache/solr/handler/admin/ShowFileRequestHandler.java
===================================================================
--- solr/core/src/java/org/apache/solr/handler/admin/ShowFileRequestHandler.java	(revision 1158802)
+++ solr/core/src/java/org/apache/solr/handler/admin/ShowFileRequestHandler.java	(working copy)
@@ -233,10 +233,6 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 }
Index: solr/core/src/java/org/apache/solr/handler/admin/SolrInfoMBeanHandler.java
===================================================================
--- solr/core/src/java/org/apache/solr/handler/admin/SolrInfoMBeanHandler.java	(revision 1158802)
+++ solr/core/src/java/org/apache/solr/handler/admin/SolrInfoMBeanHandler.java	(working copy)
@@ -107,11 +107,7 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 
   @Override
Index: solr/core/src/java/org/apache/solr/handler/admin/SystemInfoHandler.java
===================================================================
--- solr/core/src/java/org/apache/solr/handler/admin/SystemInfoHandler.java	(revision 1158802)
+++ solr/core/src/java/org/apache/solr/handler/admin/SystemInfoHandler.java	(working copy)
@@ -292,11 +292,7 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
   
   private static final long ONE_KB = 1024;
Index: solr/core/src/java/org/apache/solr/handler/admin/ThreadDumpHandler.java
===================================================================
--- solr/core/src/java/org/apache/solr/handler/admin/ThreadDumpHandler.java	(revision 1158802)
+++ solr/core/src/java/org/apache/solr/handler/admin/ThreadDumpHandler.java	(working copy)
@@ -144,10 +144,6 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 }
Index: solr/core/src/java/org/apache/solr/handler/component/DebugComponent.java
===================================================================
--- solr/core/src/java/org/apache/solr/handler/component/DebugComponent.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/handler/component/DebugComponent.java	(working copy)
@@ -260,11 +260,7 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 
   @Override
Index: solr/core/src/java/org/apache/solr/handler/component/FacetComponent.java
===================================================================
--- solr/core/src/java/org/apache/solr/handler/component/FacetComponent.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/handler/component/FacetComponent.java	(working copy)
@@ -603,11 +603,7 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 
   @Override
Index: solr/core/src/java/org/apache/solr/handler/component/HighlightComponent.java
===================================================================
--- solr/core/src/java/org/apache/solr/handler/component/HighlightComponent.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/handler/component/HighlightComponent.java	(working copy)
@@ -199,11 +199,7 @@
   
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
   
   @Override
Index: solr/core/src/java/org/apache/solr/handler/component/MoreLikeThisComponent.java
===================================================================
--- solr/core/src/java/org/apache/solr/handler/component/MoreLikeThisComponent.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/handler/component/MoreLikeThisComponent.java	(working copy)
@@ -118,29 +118,17 @@
 
   @Override
   public String getVersion() {
-<<<<<<<
     return "$Revision$";
-=======
-    return "$Revision$";
->>>>>>>
   }
 
   @Override
   public String getSourceId() {
-<<<<<<<
     return "$Id$";
-=======
-    return "$Id$";
->>>>>>>
   }
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 
   @Override
Index: solr/core/src/java/org/apache/solr/handler/component/PivotFacetHelper.java
===================================================================
--- solr/core/src/java/org/apache/solr/handler/component/PivotFacetHelper.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/handler/component/PivotFacetHelper.java	(working copy)
@@ -249,11 +249,7 @@
 //  }
 //
 //  public String getSource() {
-<<<<<<<
 //    return "$URL$";
-=======
-//    return "$URL$";
->>>>>>>
 //  }
 //
 //  public String getVersion() {
Index: solr/core/src/java/org/apache/solr/handler/component/QueryComponent.java
===================================================================
--- solr/core/src/java/org/apache/solr/handler/component/QueryComponent.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/handler/component/QueryComponent.java	(working copy)
@@ -818,29 +818,17 @@
 
   @Override
   public String getVersion() {
-<<<<<<<
     return "$Revision$";
-=======
-    return "$Revision$";
->>>>>>>
   }
 
   @Override
   public String getSourceId() {
-<<<<<<<
     return "$Id$";
-=======
-    return "$Id$";
->>>>>>>
   }
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 
   @Override
Index: solr/core/src/java/org/apache/solr/handler/component/QueryElevationComponent.java
===================================================================
--- solr/core/src/java/org/apache/solr/handler/component/QueryElevationComponent.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/handler/component/QueryElevationComponent.java	(working copy)
@@ -451,11 +451,7 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 
   @Override
Index: solr/core/src/java/org/apache/solr/handler/component/SearchHandler.java
===================================================================
--- solr/core/src/java/org/apache/solr/handler/component/SearchHandler.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/handler/component/SearchHandler.java	(working copy)
@@ -330,11 +330,7 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 }
 
Index: solr/core/src/java/org/apache/solr/handler/component/SpellCheckComponent.java
===================================================================
--- solr/core/src/java/org/apache/solr/handler/component/SpellCheckComponent.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/handler/component/SpellCheckComponent.java	(working copy)
@@ -736,11 +736,7 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 
 }
Index: solr/core/src/java/org/apache/solr/handler/component/StatsComponent.java
===================================================================
--- solr/core/src/java/org/apache/solr/handler/component/StatsComponent.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/handler/component/StatsComponent.java	(working copy)
@@ -163,11 +163,7 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 
 }
Index: solr/core/src/java/org/apache/solr/handler/component/TermVectorComponent.java
===================================================================
--- solr/core/src/java/org/apache/solr/handler/component/TermVectorComponent.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/handler/component/TermVectorComponent.java	(working copy)
@@ -11,11 +11,8 @@
 import org.apache.lucene.index.FieldInfo;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.MultiFields;
-<<<<<<<
-=======
 import org.apache.lucene.index.StoredFieldVisitor;
 import org.apache.lucene.index.Term;
->>>>>>>
 import org.apache.lucene.index.TermVectorMapper;
 import org.apache.lucene.index.TermVectorOffsetInfo;
 import org.apache.lucene.index.Terms;
@@ -423,29 +420,17 @@
 
   @Override
   public String getVersion() {
-<<<<<<<
     return "$Revision$";
-=======
-    return "$Revision$";
->>>>>>>
   }
 
   @Override
   public String getSourceId() {
-<<<<<<<
     return "$Id$";
-=======
-    return "$Id$";
->>>>>>>
   }
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 
   @Override
Index: solr/core/src/java/org/apache/solr/handler/component/TermsComponent.java
===================================================================
--- solr/core/src/java/org/apache/solr/handler/component/TermsComponent.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/handler/component/TermsComponent.java	(working copy)
@@ -483,11 +483,7 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 
   @Override
Index: solr/core/src/java/org/apache/solr/highlight/DefaultEncoder.java
===================================================================
--- solr/core/src/java/org/apache/solr/highlight/DefaultEncoder.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/highlight/DefaultEncoder.java	(working copy)
@@ -42,11 +42,7 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 
   @Override
Index: solr/core/src/java/org/apache/solr/highlight/GapFragmenter.java
===================================================================
--- solr/core/src/java/org/apache/solr/highlight/GapFragmenter.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/highlight/GapFragmenter.java	(working copy)
@@ -61,11 +61,7 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 }
 
Index: solr/core/src/java/org/apache/solr/highlight/HtmlEncoder.java
===================================================================
--- solr/core/src/java/org/apache/solr/highlight/HtmlEncoder.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/highlight/HtmlEncoder.java	(working copy)
@@ -42,11 +42,7 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 
   @Override
Index: solr/core/src/java/org/apache/solr/highlight/HtmlFormatter.java
===================================================================
--- solr/core/src/java/org/apache/solr/highlight/HtmlFormatter.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/highlight/HtmlFormatter.java	(working copy)
@@ -60,10 +60,6 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 }
Index: solr/core/src/java/org/apache/solr/highlight/RegexFragmenter.java
===================================================================
--- solr/core/src/java/org/apache/solr/highlight/RegexFragmenter.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/highlight/RegexFragmenter.java	(working copy)
@@ -107,11 +107,7 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 }
 
Index: solr/core/src/java/org/apache/solr/highlight/ScoreOrderFragmentsBuilder.java
===================================================================
--- solr/core/src/java/org/apache/solr/highlight/ScoreOrderFragmentsBuilder.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/highlight/ScoreOrderFragmentsBuilder.java	(working copy)
@@ -42,11 +42,7 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 
   @Override
Index: solr/core/src/java/org/apache/solr/highlight/SimpleFragListBuilder.java
===================================================================
--- solr/core/src/java/org/apache/solr/highlight/SimpleFragListBuilder.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/highlight/SimpleFragListBuilder.java	(working copy)
@@ -44,11 +44,7 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 
   @Override
Index: solr/core/src/java/org/apache/solr/highlight/SimpleFragmentsBuilder.java
===================================================================
--- solr/core/src/java/org/apache/solr/highlight/SimpleFragmentsBuilder.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/highlight/SimpleFragmentsBuilder.java	(working copy)
@@ -42,11 +42,7 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 
   @Override
Index: solr/core/src/java/org/apache/solr/highlight/SingleFragListBuilder.java
===================================================================
--- solr/core/src/java/org/apache/solr/highlight/SingleFragListBuilder.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/highlight/SingleFragListBuilder.java	(working copy)
@@ -44,11 +44,7 @@
 
   @Override
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 
   @Override
Index: solr/core/src/java/org/apache/solr/response/JSONResponseWriter.java
===================================================================
--- solr/core/src/java/org/apache/solr/response/JSONResponseWriter.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/response/JSONResponseWriter.java	(working copy)
@@ -26,12 +26,8 @@
 import java.util.Map;
 import java.util.Set;
 
-<<<<<<<
-import org.apache.lucene.document.Fieldable;
-=======
 import org.apache.lucene.index.IndexableField;
 import org.apache.lucene.util.StringHelper;
->>>>>>>
 import org.apache.solr.common.SolrDocument;
 import org.apache.solr.common.params.CommonParams;
 import org.apache.solr.common.util.NamedList;
Index: solr/core/src/java/org/apache/solr/response/TextResponseWriter.java
===================================================================
--- solr/core/src/java/org/apache/solr/response/TextResponseWriter.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/response/TextResponseWriter.java	(working copy)
@@ -202,14 +202,7 @@
   public final SolrDocument toSolrDocument( Document doc )
   {
     SolrDocument out = new SolrDocument();
-<<<<<<<
-    for( Fieldable f : doc.getFields() ) {
-=======
     for( IndexableField f : doc) {
-      if( "gack_i".equals( f.name() ) ) {
-        System.out.println( f );
-      }
->>>>>>>
       // Make sure multivalued fields are represented as lists
       Object existing = out.get(f.name());
       if (existing == null) {
Index: solr/core/src/java/org/apache/solr/schema/BCDIntField.java
===================================================================
--- solr/core/src/java/org/apache/solr/schema/BCDIntField.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/schema/BCDIntField.java	(working copy)
@@ -20,12 +20,7 @@
 import org.apache.lucene.queries.function.ValueSource;
 import org.apache.lucene.search.SortField;
 import org.apache.solr.search.QParser;
-<<<<<<<
-import org.apache.lucene.document.Fieldable;
-=======
-import org.apache.solr.search.function.ValueSource;
 import org.apache.lucene.index.IndexableField;
->>>>>>>
 import org.apache.solr.util.BCDUtils;
 import org.apache.solr.response.TextResponseWriter;
 
Index: solr/core/src/java/org/apache/solr/schema/BoolField.java
===================================================================
--- solr/core/src/java/org/apache/solr/schema/BoolField.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/schema/BoolField.java	(working copy)
@@ -18,13 +18,10 @@
 package org.apache.solr.schema;
 
 import org.apache.lucene.index.IndexReader;
-<<<<<<<
-=======
 import org.apache.lucene.index.IndexableField;
 import org.apache.lucene.search.FieldCache;
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.util.BytesRef;
->>>>>>>
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
 import org.apache.lucene.queries.function.docvalues.BoolDocValues;
Index: solr/core/src/java/org/apache/solr/schema/ByteField.java
===================================================================
--- solr/core/src/java/org/apache/solr/schema/ByteField.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/schema/ByteField.java	(working copy)
@@ -16,13 +16,9 @@
  * limitations under the License.
  */
 
-<<<<<<<
-import org.apache.lucene.document.Fieldable;
 import org.apache.lucene.queries.function.ValueSource;
 import org.apache.lucene.queries.function.valuesource.ByteFieldSource;
-=======
 import org.apache.lucene.index.IndexableField;
->>>>>>>
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.search.cache.ByteValuesCreator;
 import org.apache.lucene.search.cache.CachedArrayCreator;
Index: solr/core/src/java/org/apache/solr/schema/DateField.java
===================================================================
--- solr/core/src/java/org/apache/solr/schema/DateField.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/schema/DateField.java	(working copy)
@@ -18,13 +18,10 @@
 package org.apache.solr.schema;
 
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
-<<<<<<<
-=======
 import org.apache.lucene.index.IndexableField;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.search.TermRangeQuery;
->>>>>>>
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.ValueSource;
 import org.apache.lucene.queries.function.docvalues.StringIndexDocValues;
Index: solr/core/src/java/org/apache/solr/schema/DoubleField.java
===================================================================
--- solr/core/src/java/org/apache/solr/schema/DoubleField.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/schema/DoubleField.java	(working copy)
@@ -17,13 +17,10 @@
 
 package org.apache.solr.schema;
 
-<<<<<<<
 import org.apache.lucene.document.Fieldable;
 import org.apache.lucene.queries.function.ValueSource;
 import org.apache.lucene.queries.function.valuesource.DoubleFieldSource;
-=======
 import org.apache.lucene.index.IndexableField;
->>>>>>>
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.search.cache.CachedArrayCreator;
 import org.apache.lucene.search.cache.DoubleValuesCreator;
Index: solr/core/src/java/org/apache/solr/schema/ExternalFileField.java
===================================================================
--- solr/core/src/java/org/apache/solr/schema/ExternalFileField.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/schema/ExternalFileField.java	(working copy)
@@ -18,12 +18,7 @@
 
 import org.apache.lucene.queries.function.ValueSource;
 import org.apache.lucene.search.SortField;
-<<<<<<<
-import org.apache.lucene.document.Fieldable;
-=======
 import org.apache.lucene.index.IndexableField;
-import org.apache.solr.search.function.ValueSource;
->>>>>>>
 import org.apache.solr.search.function.FileFloatSource;
 import org.apache.solr.search.QParser;
 import org.apache.solr.response.TextResponseWriter;
Index: solr/core/src/java/org/apache/solr/schema/FieldType.java
===================================================================
--- solr/core/src/java/org/apache/solr/schema/FieldType.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/schema/FieldType.java	(working copy)
@@ -22,12 +22,8 @@
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
 import org.apache.lucene.document.Field;
-<<<<<<<
-import org.apache.lucene.document.Fieldable;
 import org.apache.lucene.index.FieldInfo.IndexOptions;
-=======
 import org.apache.lucene.index.IndexableField;
->>>>>>>
 import org.apache.lucene.index.Term;
 import org.apache.lucene.queries.function.ValueSource;
 import org.apache.lucene.search.Query;
@@ -254,24 +250,17 @@
     }
     if (val==null) return null;
 
-<<<<<<<
-    return createField(field.getName(), val, 
-                       getFieldStore(field, val), getFieldIndex(field, val), 
-                       getFieldTermVec(field, val), field.omitNorms(),
-                       getIndexOptions(field, val), boost);
-=======
     org.apache.lucene.document.FieldType newType = new org.apache.lucene.document.FieldType();
     newType.setIndexed(field.indexed());
     newType.setTokenized(field.isTokenized());
     newType.setStored(field.stored());
     newType.setOmitNorms(field.omitNorms());
-    newType.setOmitTermFreqAndPositions(field.omitTf());
+    newType.setIndexOptions(getIndexOptions(field, val));
     newType.setStoreTermVectors(field.storeTermVector());
     newType.setStoreTermVectorOffsets(field.storeTermOffsets());
     newType.setStoreTermVectorPositions(field.storeTermPositions());
     
     return createField(field.getName(), val, newType, boost);
->>>>>>>
   }
 
   /**
@@ -279,36 +268,15 @@
    * Fields per SchemaField
    * @param name The name of the field
    * @param val The _internal_ value to index
-<<<<<<<
-   * @param storage {@link org.apache.lucene.document.Field.Store}
-   * @param index {@link org.apache.lucene.document.Field.Index}
-   * @param vec {@link org.apache.lucene.document.Field.TermVector}
    * @param omitNorms true if norms should be omitted
    * @param options options for what should be indexed in the postings
-=======
    * @param type {@link org.apache.lucene.document.FieldType}
->>>>>>>
    * @param boost The boost value
    * @return the {@link org.apache.lucene.index.IndexableField}.
    */
-<<<<<<<
-  protected Fieldable createField(String name, String val, Field.Store storage, Field.Index index,
-                                    Field.TermVector vec, boolean omitNorms, IndexOptions options, float boost){
-    Field f = new Field(name,
-                        val,
-                        storage,
-                        index,
-                        vec);
-    if (index.isIndexed()) {
-      f.setOmitNorms(omitNorms);
-      f.setIndexOptions(options);
-      f.setBoost(boost);
-    }
-=======
   protected IndexableField createField(String name, String val, org.apache.lucene.document.FieldType type, float boost){
     Field f = new Field(name, type, val);
     f.setBoost(boost);
->>>>>>>
     return f;
   }
 
@@ -326,13 +294,6 @@
     IndexableField f = createField( field, value, boost);
     return f==null ? new IndexableField[]{} : new IndexableField[]{f};
   }
-<<<<<<<
-=======
-  
-  /**
-   * Convert an external value (from XML update command or from query string)
-   * into the internal format for both storing and indexing (which can be modified by any analyzers).
->>>>>>>
   protected IndexOptions getIndexOptions(SchemaField field,
                                          String internalVal) {
     IndexOptions options = IndexOptions.DOCS_AND_FREQS_AND_POSITIONS;
Index: solr/core/src/java/org/apache/solr/schema/FloatField.java
===================================================================
--- solr/core/src/java/org/apache/solr/schema/FloatField.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/schema/FloatField.java	(working copy)
@@ -23,13 +23,7 @@
 import org.apache.lucene.search.cache.CachedArrayCreator;
 import org.apache.lucene.search.cache.FloatValuesCreator;
 import org.apache.solr.search.QParser;
-<<<<<<<
-import org.apache.lucene.document.Fieldable;
-=======
-import org.apache.solr.search.function.ValueSource;
-import org.apache.solr.search.function.FloatFieldSource;
 import org.apache.lucene.index.IndexableField;
->>>>>>>
 import org.apache.solr.response.TextResponseWriter;
 
 import java.util.Map;
Index: solr/core/src/java/org/apache/solr/schema/GeoHashField.java
===================================================================
--- solr/core/src/java/org/apache/solr/schema/GeoHashField.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/schema/GeoHashField.java	(working copy)
@@ -17,13 +17,9 @@
 
 package org.apache.solr.schema;
 
-<<<<<<<
-import org.apache.lucene.document.Fieldable;
 import org.apache.lucene.queries.function.ValueSource;
 import org.apache.lucene.queries.function.valuesource.LiteralValueSource;
-=======
 import org.apache.lucene.index.IndexableField;
->>>>>>>
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.spatial.geohash.GeoHashUtils;
Index: solr/core/src/java/org/apache/solr/schema/IntField.java
===================================================================
--- solr/core/src/java/org/apache/solr/schema/IntField.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/schema/IntField.java	(working copy)
@@ -23,13 +23,7 @@
 import org.apache.lucene.search.cache.CachedArrayCreator;
 import org.apache.lucene.search.cache.IntValuesCreator;
 import org.apache.solr.search.QParser;
-<<<<<<<
-import org.apache.lucene.document.Fieldable;
-=======
-import org.apache.solr.search.function.ValueSource;
-import org.apache.solr.search.function.IntFieldSource;
 import org.apache.lucene.index.IndexableField;
->>>>>>>
 import org.apache.solr.response.TextResponseWriter;
 
 import java.util.Map;
Index: solr/core/src/java/org/apache/solr/schema/LatLonType.java
===================================================================
--- solr/core/src/java/org/apache/solr/schema/LatLonType.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/schema/LatLonType.java	(working copy)
@@ -16,14 +16,10 @@
  * limitations under the License.
  */
 
-<<<<<<<
 import org.apache.lucene.document.Field;
-import org.apache.lucene.document.Fieldable;
 import org.apache.lucene.index.FieldInfo.IndexOptions;
-=======
 import org.apache.lucene.document.FieldType;
 import org.apache.lucene.index.IndexableField;
->>>>>>>
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.queries.function.DocValues;
@@ -81,16 +77,11 @@
     }
 
     if (field.stored()) {
-<<<<<<<
-      f[f.length - 1] = createField(field.getName(), externalVal,
-              getFieldStore(field, externalVal), Field.Index.NO, Field.TermVector.NO,
-              false, IndexOptions.DOCS_AND_FREQS_AND_POSITIONS, boost);
-=======
       FieldType customType = new FieldType();
       customType.setStored(true);
+      customType.setIndexOptions(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS);
       
       f[f.length - 1] = createField(field.getName(), externalVal, customType, boost);
->>>>>>>
     }
     return f;
   }
Index: solr/core/src/java/org/apache/solr/schema/LongField.java
===================================================================
--- solr/core/src/java/org/apache/solr/schema/LongField.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/schema/LongField.java	(working copy)
@@ -17,13 +17,9 @@
 
 package org.apache.solr.schema;
 
-<<<<<<<
-import org.apache.lucene.document.Fieldable;
 import org.apache.lucene.queries.function.ValueSource;
 import org.apache.lucene.queries.function.valuesource.LongFieldSource;
-=======
 import org.apache.lucene.index.IndexableField;
->>>>>>>
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.search.cache.CachedArrayCreator;
 import org.apache.lucene.search.cache.LongValuesCreator;
Index: solr/core/src/java/org/apache/solr/schema/PointType.java
===================================================================
--- solr/core/src/java/org/apache/solr/schema/PointType.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/schema/PointType.java	(working copy)
@@ -17,15 +17,11 @@
 
 package org.apache.solr.schema;
 
-<<<<<<<
 import org.apache.lucene.document.Field;
-import org.apache.lucene.document.Fieldable;
 import org.apache.lucene.index.FieldInfo.IndexOptions;
 import org.apache.lucene.queries.function.ValueSource;
 import org.apache.lucene.queries.function.valuesource.VectorValueSource;
-=======
 import org.apache.lucene.index.IndexableField;
->>>>>>>
 import org.apache.lucene.search.BooleanClause;
 import org.apache.lucene.search.BooleanQuery;
 import org.apache.lucene.search.Query;
@@ -93,15 +89,10 @@
 
     if (field.stored()) {
       String storedVal = externalVal;  // normalize or not?
-<<<<<<<
-      f[f.length - 1] = createField(field.getName(), storedVal,
-                getFieldStore(field, storedVal), Field.Index.NO, Field.TermVector.NO,
-                false, IndexOptions.DOCS_AND_FREQS_AND_POSITIONS, boost);
-=======
       org.apache.lucene.document.FieldType customType = new org.apache.lucene.document.FieldType();
       customType.setStored(true);
+      customType.setIndexOptions(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS);
       f[f.length - 1] = createField(field.getName(), storedVal, customType, boost);
->>>>>>>
     }
     
     return f;
Index: solr/core/src/java/org/apache/solr/schema/ShortField.java
===================================================================
--- solr/core/src/java/org/apache/solr/schema/ShortField.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/schema/ShortField.java	(working copy)
@@ -16,13 +16,9 @@
  * limitations under the License.
  */
 
-<<<<<<<
-import org.apache.lucene.document.Fieldable;
 import org.apache.lucene.queries.function.ValueSource;
 import org.apache.lucene.queries.function.valuesource.ShortFieldSource;
-=======
 import org.apache.lucene.index.IndexableField;
->>>>>>>
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.search.cache.CachedArrayCreator;
 import org.apache.lucene.search.cache.ShortValuesCreator;
Index: solr/core/src/java/org/apache/solr/schema/SortableDoubleField.java
===================================================================
--- solr/core/src/java/org/apache/solr/schema/SortableDoubleField.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/schema/SortableDoubleField.java	(working copy)
@@ -24,16 +24,10 @@
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.CharsRef;
-<<<<<<<
 import org.apache.lucene.util.mutable.MutableValue;
 import org.apache.lucene.util.mutable.MutableValueDouble;
 import org.apache.solr.search.QParser;
 import org.apache.lucene.document.Fieldable;
-=======
-import org.apache.solr.search.function.FieldCacheSource;
-import org.apache.solr.search.function.DocValues;
-import org.apache.solr.search.function.StringIndexDocValues;
->>>>>>>
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.index.IndexableField;
 import org.apache.solr.util.NumberUtils;
Index: solr/core/src/java/org/apache/solr/schema/SortableFloatField.java
===================================================================
--- solr/core/src/java/org/apache/solr/schema/SortableFloatField.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/schema/SortableFloatField.java	(working copy)
@@ -24,16 +24,9 @@
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.CharsRef;
-<<<<<<<
 import org.apache.lucene.util.mutable.MutableValue;
 import org.apache.lucene.util.mutable.MutableValueFloat;
 import org.apache.solr.search.QParser;
-import org.apache.lucene.document.Fieldable;
-=======
-import org.apache.solr.search.function.FieldCacheSource;
-import org.apache.solr.search.function.DocValues;
-import org.apache.solr.search.function.StringIndexDocValues;
->>>>>>>
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.index.IndexableField;
 import org.apache.solr.util.NumberUtils;
Index: solr/core/src/java/org/apache/solr/schema/SortableIntField.java
===================================================================
--- solr/core/src/java/org/apache/solr/schema/SortableIntField.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/schema/SortableIntField.java	(working copy)
@@ -24,16 +24,9 @@
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.CharsRef;
-<<<<<<<
 import org.apache.lucene.util.mutable.MutableValue;
 import org.apache.lucene.util.mutable.MutableValueInt;
 import org.apache.solr.search.QParser;
-import org.apache.lucene.document.Fieldable;
-=======
-import org.apache.solr.search.function.FieldCacheSource;
-import org.apache.solr.search.function.DocValues;
-import org.apache.solr.search.function.StringIndexDocValues;
->>>>>>>
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.index.IndexableField;
 import org.apache.solr.util.NumberUtils;
Index: solr/core/src/java/org/apache/solr/schema/SortableLongField.java
===================================================================
--- solr/core/src/java/org/apache/solr/schema/SortableLongField.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/schema/SortableLongField.java	(working copy)
@@ -24,16 +24,9 @@
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.CharsRef;
-<<<<<<<
 import org.apache.lucene.util.mutable.MutableValue;
 import org.apache.lucene.util.mutable.MutableValueLong;
 import org.apache.solr.search.QParser;
-import org.apache.lucene.document.Fieldable;
-=======
-import org.apache.solr.search.function.FieldCacheSource;
-import org.apache.solr.search.function.DocValues;
-import org.apache.solr.search.function.StringIndexDocValues;
->>>>>>>
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
 import org.apache.lucene.index.IndexableField;
 import org.apache.solr.util.NumberUtils;
Index: solr/core/src/java/org/apache/solr/schema/TrieField.java
===================================================================
--- solr/core/src/java/org/apache/solr/schema/TrieField.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/schema/TrieField.java	(working copy)
@@ -17,13 +17,10 @@
 package org.apache.solr.schema;
 
 import org.apache.lucene.document.NumericField;
-<<<<<<<
-=======
 import org.apache.lucene.index.IndexableField;
 import org.apache.lucene.search.*;
 import org.apache.lucene.search.cache.CachedArrayCreator;
 import org.apache.lucene.search.cache.DoubleValuesCreator;
->>>>>>>
 import org.apache.lucene.index.FieldInfo.IndexOptions;
 import org.apache.lucene.queries.function.ValueSource;
 import org.apache.lucene.queries.function.valuesource.DoubleFieldSource;
@@ -494,7 +491,7 @@
     ft.setTokenized(true);
     ft.setIndexed(indexed);
     ft.setOmitNorms(field.omitNorms());
-    ft.setOmitTermFreqAndPositions(field.omitTf());
+    ft.setIndexOptions(getIndexOptions(field, value.toString()));
     
     final org.apache.lucene.document.NumericField f = new org.apache.lucene.document.NumericField(field.getName(), precisionStep, ft);
     switch (type) {
@@ -532,11 +529,6 @@
         throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "Unknown type for trie field: " + type);
     }
 
-<<<<<<<
-    f.setOmitNorms(field.omitNorms());
-    f.setIndexOptions(getIndexOptions(field, value.toString()));
-=======
->>>>>>>
     f.setBoost(boost);
     return f;
   }
Index: solr/core/src/java/org/apache/solr/search/FastLRUCache.java
===================================================================
--- solr/core/src/java/org/apache/solr/search/FastLRUCache.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/search/FastLRUCache.java	(working copy)
@@ -205,11 +205,7 @@
   }
 
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 
   public URL[] getDocs() {
Index: solr/core/src/java/org/apache/solr/search/Grouping.java
===================================================================
--- solr/core/src/java/org/apache/solr/search/Grouping.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/search/Grouping.java	(working copy)
@@ -18,8 +18,10 @@
 package org.apache.solr.search;
 
 import org.apache.commons.lang.ArrayUtils;
+import org.apache.lucene.document.Field;
 import org.apache.lucene.document.Fieldable;
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
+import org.apache.lucene.index.IndexableField;
 import org.apache.lucene.queries.function.DocValues;
 import org.apache.lucene.queries.function.FunctionQuery;
 import org.apache.lucene.queries.function.ValueSource;
@@ -752,7 +754,7 @@
           SchemaField schemaField = searcher.getSchema().getField(groupBy);
           FieldType fieldType = schemaField.getType();
           String readableValue = fieldType.indexedToReadable(group.groupValue.utf8ToString());
-          Fieldable field = schemaField.createField(readableValue, 0.0f);
+          IndexableField field = schemaField.createField(readableValue, 0.0f);
           nl.add("groupValue", fieldType.toObject(field));
         } else {
           nl.add("groupValue", null);
Index: solr/core/src/java/org/apache/solr/search/LRUCache.java
===================================================================
--- solr/core/src/java/org/apache/solr/search/LRUCache.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/search/LRUCache.java	(working copy)
@@ -231,11 +231,7 @@
   }
 
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 
   public URL[] getDocs() {
Index: solr/core/src/java/org/apache/solr/search/SolrFieldCacheMBean.java
===================================================================
--- solr/core/src/java/org/apache/solr/search/SolrFieldCacheMBean.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/search/SolrFieldCacheMBean.java	(working copy)
@@ -50,11 +50,7 @@
     return "$Id$"; 
   }
   public String getSource() { 
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
   public URL[] getDocs() {
     return null;
Index: solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java
===================================================================
--- solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java	(working copy)
@@ -1870,19 +1870,11 @@
   }
 
   public String getSourceId() {
-<<<<<<<
     return "$Id$";
-=======
-    return "$Id$";
->>>>>>>
   }
 
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 
   public URL[] getDocs() {
Index: solr/core/src/java/org/apache/solr/search/function/FileFloatSource.java
===================================================================
--- solr/core/src/java/org/apache/solr/search/function/FileFloatSource.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/search/function/FileFloatSource.java	(working copy)
@@ -327,11 +327,7 @@
 
     @Override
     public String getSource() {
-<<<<<<<
       return "$URL$";
-=======
-      return "$URL$";
->>>>>>>
     }
 
     @Override
Index: solr/core/src/java/org/apache/solr/update/AddUpdateCommand.java
===================================================================
--- solr/core/src/java/org/apache/solr/update/AddUpdateCommand.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/update/AddUpdateCommand.java	(working copy)
@@ -72,14 +72,6 @@
        IndexSchema schema = req.getSchema();
        SchemaField sf = schema.getUniqueKeyField();
        if (sf != null) {
-<<<<<<<
-=======
-         if (doc != null) {
-           schema.getUniqueKeyField();
-           IndexableField storedId = doc.getField(sf.getName());
-           indexedId = sf.getType().storedToIndexed(storedId);
-         }
->>>>>>>
          if (solrDoc != null) {
            SolrInputField field = solrDoc.getField(sf.getName());
 
Index: solr/core/src/java/org/apache/solr/update/DirectUpdateHandler2.java
===================================================================
--- solr/core/src/java/org/apache/solr/update/DirectUpdateHandler2.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/update/DirectUpdateHandler2.java	(working copy)
@@ -432,11 +432,7 @@
   }
 
   public String getSource() {
-<<<<<<<
     return "$URL$";
-=======
-    return "$URL$";
->>>>>>>
   }
 
   public URL[] getDocs() {
Index: solr/core/src/java/org/apache/solr/update/UpdateHandler.java
===================================================================
--- solr/core/src/java/org/apache/solr/update/UpdateHandler.java	(revision 1158790)
+++ solr/core/src/java/org/apache/solr/update/UpdateHandler.java	(working copy)
@@ -104,15 +104,6 @@
     }
   }
 
-<<<<<<<
-=======
-    // Right now, single valued fields that require value transformation from external to internal (indexed)
-    // form have that transformation already performed and stored as the field value.
-    IndexableField[] id = doc.getFields( idField.getName() );
-    if (id == null || id.length < 1)
-      throw new SolrException( SolrException.ErrorCode.BAD_REQUEST,"Document is missing mandatory uniqueKey field: " + idField.getName());
-    if( id.length > 1 )
->>>>>>>
   public UpdateHandler(SolrCore core)  {
     this.core=core;
     schema = core.getSchema();
@@ -138,16 +129,6 @@
    */
   public abstract void newIndexWriter() throws IOException;
 
-<<<<<<<
-=======
-  protected final String getIndexedIdOptional(Document doc) {
-    if (idField == null) return null;
-    IndexableField f = doc.getField(idField.getName());
-    if (f == null) return null;
-    return idFieldType.storedToIndexed(f);
-  }
->>>>>>>
-
   public abstract int addDoc(AddUpdateCommand cmd) throws IOException;
   public abstract void delete(DeleteUpdateCommand cmd) throws IOException;
   public abstract void deleteByQuery(DeleteUpdateCommand cmd) throws IOException;
Index: solr/core/src/test/org/apache/solr/BasicFunctionalityTest.java
===================================================================
--- solr/core/src/test/org/apache/solr/BasicFunctionalityTest.java	(revision 1158790)
+++ solr/core/src/test/org/apache/solr/BasicFunctionalityTest.java	(working copy)
@@ -28,13 +28,9 @@
 
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
-<<<<<<<
-import org.apache.lucene.document.Fieldable;
 import org.apache.lucene.index.IndexWriter;
-=======
 import org.apache.lucene.document.FieldSelectorVisitor;
 import org.apache.lucene.index.IndexableField;
->>>>>>>
 import org.apache.lucene.index.LogMergePolicy;
 import org.apache.solr.common.SolrException;
 import org.apache.solr.common.params.AppendedSolrParams;
Index: solr/core/src/test/org/apache/solr/schema/PolyFieldTest.java
===================================================================
--- solr/core/src/test/org/apache/solr/schema/PolyFieldTest.java	(revision 1158790)
+++ solr/core/src/test/org/apache/solr/schema/PolyFieldTest.java	(working copy)
@@ -16,12 +16,8 @@
  * limitations under the License.
  */
 
-<<<<<<<
-import org.apache.lucene.document.Fieldable;
 import org.apache.lucene.queries.function.ValueSource;
-=======
 import org.apache.lucene.index.IndexableField;
->>>>>>>
 import org.apache.lucene.search.BooleanClause;
 import org.apache.lucene.search.BooleanQuery;
 import org.apache.lucene.search.Query;
Index: solr/core/src/test/org/apache/solr/update/DirectUpdateHandlerOptimizeTest.java
===================================================================
--- solr/core/src/test/org/apache/solr/update/DirectUpdateHandlerOptimizeTest.java	(revision 1158790)
+++ solr/core/src/test/org/apache/solr/update/DirectUpdateHandlerOptimizeTest.java	(working copy)
@@ -18,12 +18,7 @@
 
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
-<<<<<<<
 import org.apache.solr.common.SolrInputDocument;
-=======
-import org.apache.lucene.document.StringField;
-import org.apache.lucene.document.TextField;
->>>>>>>
 import org.apache.solr.core.SolrCore;
 import org.apache.solr.request.SolrQueryRequest;
 import org.apache.solr.util.AbstractSolrTestCase;
@@ -61,15 +56,9 @@
     //the merge factor is 100 and the maxBufferedDocs is 2, so there should be 50 segments
     for (int i = 0; i < 99; i++) {
       // Add a valid document
-<<<<<<<
       cmd.solrDoc = new SolrInputDocument();
       cmd.solrDoc.addField("id", "id_" + i);
       cmd.solrDoc.addField("subject", "subject_" + i);
-=======
-      cmd.doc = new Document();
-      cmd.doc.add(new Field("id", StringField.TYPE_STORED, "id_" + i));
-      cmd.doc.add(new TextField("subject", "subject_" + i));
->>>>>>>
       updater.addDoc(cmd);
     }
 
Index: solr/core/src/test/org/apache/solr/update/TestIndexingPerformance.java
===================================================================
--- solr/core/src/test/org/apache/solr/update/TestIndexingPerformance.java	(revision 1158790)
+++ solr/core/src/test/org/apache/solr/update/TestIndexingPerformance.java	(working copy)
@@ -19,13 +19,7 @@
 
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
-<<<<<<<
-import org.apache.lucene.document.Fieldable;
 import org.apache.solr.common.SolrInputDocument;
-=======
-import org.apache.lucene.document.StringField;
-import org.apache.lucene.index.IndexableField;
->>>>>>>
 import org.apache.solr.request.SolrQueryRequest;
 import org.apache.solr.schema.IndexSchema;
 import org.apache.solr.util.AbstractSolrTestCase;
@@ -100,21 +94,7 @@
     add.overwrite = overwrite;
 
     for (int i=0; i<iter; i++) {
-<<<<<<<
       add.clear();
-=======
-      if (includeDoc || add.doc==null) {
-        add.doc = new Document();
-        idField = new Field("id",StringField.TYPE_STORED,"");
-        add.doc.add(idField);
-        for (int j=0; j<fields.length; j+=2) {
-          String field = fields[j];
-          String val = fields[j+1];
-          IndexableField f = schema.getField(field).createField(val, 1.0f);
-          add.doc.add(f);
-        }
-      }
->>>>>>>
       add.solrDoc = new SolrInputDocument();
       add.solrDoc.addField("id", Integer.toString(i));
       for (int j=0; j<fields.length; j+=2) {
