r12281 - in search_server/branches/ngs: index index/src/main/java/org/musicbrainz/search index/src/main/java/org/musicbrainz/search/index servlet/src/main/java/org/musicbrainz/search/servlet servlet/src/main/java/org/musicbrainz/search/servlet/mmd1 servlet/src/main/java/org/musicbrainz/search/servlet/mmd2 servlet/src/test/java/org/musicbrainz/search/servlet

View: New views
1 Messages — Rating Filter:   Alert me  

r12281 - in search_server/branches/ngs: index index/src/main/java/org/musicbrainz/search index/src/main/java/org/musicbrainz/search/index servlet/src/main/java/org/musicbrainz/search/servlet servlet/src/main/java/org/musicbrainz/search/servlet/mmd1 servlet/src/main/java/org/musicbrainz/search/servlet/mmd2 servlet/src/test/java/org/musicbrainz/search/servlet

by root-97 :: Rate this Message:

Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message

Author: murdos
Date: 2009-11-02 23:38:03 +0000 (Mon, 02 Nov 2009)
New Revision: 12281

Added:
   search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/MbDocument.java
Removed:
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/MbDocument.java
Modified:
   search_server/branches/ngs/index/
   search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/AnnotationIndex.java
   search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/ArtistIndex.java
   search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/CDStubIndex.java
   search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/DatabaseIndex.java
   search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/FreeDBIndex.java
   search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/Index.java
   search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/IndexBuilder.java
   search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/LabelIndex.java
   search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/RecordingIndex.java
   search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/ReleaseGroupIndex.java
   search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/ReleaseIndex.java
   search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/WorkIndex.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/Result.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/SearchServer.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/ArtistMmd1XmlWriter.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/LabelMmd1XmlWriter.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/ReleaseGroupMmd1XmlWriter.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/ReleaseMmd1XmlWriter.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/TrackMmd1XmlWriter.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/ArtistXmlWriter.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/LabelXmlWriter.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/RecordingXmlWriter.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/ReleaseGroupXmlWriter.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/ReleaseXmlWriter.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/WorkXmlWriter.java
   search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindAnnotationTest.java
   search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindArtistTest.java
   search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindFreeDBTest.java
   search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindLabelTest.java
   search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindRecordingTest.java
   search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindReleaseGroupTest.java
   search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindReleaseTest.java
   search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindWorkTest.java
Log:
Moved MbDocument to the index project and moved facility methods in Index to MbDocument.


Property changes on: search_server/branches/ngs/index
___________________________________________________________________
Modified: svn:mergeinfo
   - /search_server/branches/lucene-java/index:12117-12127
/search_server/branches/ngs-playground/index:12209
/search_server/trunk/index:12128-12159
   + /search_server/branches/lucene-java/index:12117-12127
/search_server/branches/ngs-playground/index:12209,12256
/search_server/trunk/index:12128-12159

Modified: search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/AnnotationIndex.java
===================================================================
--- search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/AnnotationIndex.java 2009-11-02 23:08:24 UTC (rev 12280)
+++ search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/AnnotationIndex.java 2009-11-02 23:38:03 UTC (rev 12281)
@@ -10,6 +10,7 @@
 import org.apache.lucene.document.Document;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.analysis.Analyzer;
+import org.musicbrainz.search.MbDocument;
 import org.musicbrainz.search.analysis.PerFieldEntityAnalyzer;
 
 public class AnnotationIndex extends DatabaseIndex {
@@ -168,13 +169,13 @@
     }
 
     public Document documentFromResultSet(ResultSet rs,AnnotationType type) throws SQLException {
- Document doc = new Document();
- addFieldToDocument(doc, AnnotationIndexField.MBID, rs.getString("gid"));
- addFieldToDocument(doc, AnnotationIndexField.NAME, rs.getString("name"));
- addFieldToDocument(doc, AnnotationIndexField.TYPE, type.getName());
- addFieldToDocument(doc, AnnotationIndexField.TEXT, rs.getString("text"));
+        MbDocument doc = new MbDocument();
+        doc.addField(AnnotationIndexField.MBID, rs.getString("gid"));
+        doc.addField(AnnotationIndexField.NAME, rs.getString("name"));
+ doc.addField(AnnotationIndexField.TYPE, type.getName());
+ doc.addField(AnnotationIndexField.TEXT, rs.getString("text"));
 
- return doc;
- }
+        return doc.getLuceneDocument();
+    }
 
 }

Modified: search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/ArtistIndex.java
===================================================================
--- search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/ArtistIndex.java 2009-11-02 23:08:24 UTC (rev 12280)
+++ search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/ArtistIndex.java 2009-11-02 23:38:03 UTC (rev 12281)
@@ -25,8 +25,7 @@
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.PerFieldAnalyzerWrapper;
-import org.musicbrainz.search.analysis.StandardUnaccentAnalyzer;
+import org.musicbrainz.search.MbDocument;
 import org.musicbrainz.search.analysis.PerFieldEntityAnalyzer;
 
 import java.sql.*;
@@ -113,36 +112,36 @@
 
     public Document documentFromResultSet(ResultSet rs, Map<Integer, List<String>> aliases) throws SQLException {
     
-        Document doc = new Document();
+        MbDocument doc = new MbDocument();
         int artistId = rs.getInt("id");
-        addFieldToDocument(doc, ArtistIndexField.ARTIST_ID, rs.getString("gid"));
-        addFieldToDocument(doc, ArtistIndexField.ARTIST, rs.getString("name"));
-        addFieldToDocument(doc, ArtistIndexField.SORTNAME, rs.getString("sortname"));
+        doc.addField(ArtistIndexField.ARTIST_ID, rs.getString("gid"));
+        doc.addField(ArtistIndexField.ARTIST, rs.getString("name"));
+        doc.addField(ArtistIndexField.SORTNAME, rs.getString("sortname"));
 
         //Allows you to search for artists  of unknown type
         String type=rs.getString("type");
         if(type!=null) {
-            addFieldToDocument(doc, ArtistIndexField.TYPE, type);
+            doc.addField(ArtistIndexField.TYPE, type);
         } else {
-            addFieldToDocument(doc, ArtistIndexField.TYPE, ArtistType.UNKNOWN.getName());
+            doc.addField(ArtistIndexField.TYPE, ArtistType.UNKNOWN.getName());
         }
 
-        addNonEmptyFieldToDocument(doc, ArtistIndexField.BEGIN,
+        doc.addNonEmptyField(ArtistIndexField.BEGIN,
                    Utils.formatDate(rs.getInt("begindate_year"), rs.getInt("begindate_month"), rs.getInt("begindate_day")));
 
-        addNonEmptyFieldToDocument(doc, ArtistIndexField.END,
+        doc.addNonEmptyField(ArtistIndexField.END,
                    Utils.formatDate(rs.getInt("enddate_year"), rs.getInt("enddate_month"), rs.getInt("enddate_day")));
 
-        addNonEmptyFieldToDocument(doc, ArtistIndexField.COMMENT, rs.getString("comment"));
-        addNonEmptyFieldToDocument(doc, ArtistIndexField.COUNTRY, rs.getString("country"));
-        addNonEmptyFieldToDocument(doc, ArtistIndexField.GENDER, rs.getString("gender"));
+        doc.addNonEmptyField(ArtistIndexField.COMMENT, rs.getString("comment"));
+        doc.addNonEmptyField(ArtistIndexField.COUNTRY, rs.getString("country"));
+        doc.addNonEmptyField(ArtistIndexField.GENDER, rs.getString("gender"));
 
         if (aliases.containsKey(artistId)) {
             for (String alias : aliases.get(artistId)) {
-             addFieldToDocument(doc, ArtistIndexField.ALIAS, alias);
+             doc.addField(ArtistIndexField.ALIAS, alias);
             }
         }
-        return doc;
+        return doc.getLuceneDocument();
     }
 
 }

Modified: search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/CDStubIndex.java
===================================================================
--- search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/CDStubIndex.java 2009-11-02 23:08:24 UTC (rev 12280)
+++ search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/CDStubIndex.java 2009-11-02 23:38:03 UTC (rev 12281)
@@ -22,6 +22,7 @@
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.index.IndexWriter;
+import org.musicbrainz.search.MbDocument;
 import org.musicbrainz.search.analysis.PerFieldEntityAnalyzer;
 
 import java.io.IOException;
@@ -79,14 +80,14 @@
     }
 
     public Document documentFromResultSet(ResultSet rs) throws SQLException {
-        Document doc = new Document();
-        addFieldToDocument(doc, CDStubIndexField.TITLE, rs.getString("title"));
-        addFieldToDocument(doc, CDStubIndexField.ARTIST, rs.getString("artist"));
-        addFieldToDocument(doc, CDStubIndexField.DISCID, rs.getString("discid"));
-        addFieldToDocument(doc, CDStubIndexField.NUM_TRACKS, rs.getString("tracks"));
-        addNonEmptyFieldToDocument(doc, CDStubIndexField.BARCODE, rs.getString("barcode"));
-        addNonEmptyFieldToDocument(doc, CDStubIndexField.COMMENT, rs.getString("comment"));
-        return doc;
+        MbDocument doc = new MbDocument();
+        doc.addField(CDStubIndexField.TITLE, rs.getString("title"));
+        doc.addField(CDStubIndexField.ARTIST, rs.getString("artist"));
+        doc.addField(CDStubIndexField.DISCID, rs.getString("discid"));
+        doc.addField(CDStubIndexField.NUM_TRACKS, rs.getString("tracks"));
+        doc.addNonEmptyField(CDStubIndexField.BARCODE, rs.getString("barcode"));
+        doc.addNonEmptyField(CDStubIndexField.COMMENT, rs.getString("comment"));
+        return doc.getLuceneDocument();
     }
 
 }

Modified: search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/DatabaseIndex.java
===================================================================
--- search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/DatabaseIndex.java 2009-11-02 23:08:24 UTC (rev 12280)
+++ search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/DatabaseIndex.java 2009-11-02 23:38:03 UTC (rev 12281)
@@ -30,7 +30,7 @@
 /**
  * An abstract Index specialized in indexing information from a Database
  */
-public abstract class DatabaseIndex extends Index {
+public abstract class DatabaseIndex implements Index {
 
     protected HashMap<String, PreparedStatement> preparedStatements;
     protected Connection dbConnection;
@@ -54,13 +54,17 @@
         return dbConnection;
     }
 
-    @Override
+    public void init() throws SQLException {
+    }
+    
     public void destroy() throws SQLException {
         for (PreparedStatement st : preparedStatements.values() ) {
             st.close();
         }
     }
 
+    public abstract int getNoOfRows(int maxId) throws SQLException ;
+    
     /**
      * Returns the max id
      *

Modified: search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/FreeDBIndex.java
===================================================================
--- search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/FreeDBIndex.java 2009-11-02 23:08:24 UTC (rev 12280)
+++ search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/FreeDBIndex.java 2009-11-02 23:38:03 UTC (rev 12281)
@@ -43,8 +43,7 @@
 import org.apache.lucene.document.Document;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.PerFieldAnalyzerWrapper;
-import org.musicbrainz.search.analysis.StandardUnaccentAnalyzer;
+import org.musicbrainz.search.MbDocument;
 import org.musicbrainz.search.analysis.PerFieldEntityAnalyzer;
 
 public class FreeDBIndex {
@@ -106,7 +105,7 @@
  }
 
  protected Document documentFromFreeDBEntry(String category, byte[] content) throws IOException {
- Document doc = new Document();
+        MbDocument doc = new MbDocument();
  BufferedReader reader = new BufferedReader(new InputStreamReader(new ByteArrayInputStream(content)));
 
  String title = "";
@@ -141,13 +140,13 @@
  return null;
  }
 
- Index.addFieldToDocument(doc, FreeDBIndexField.ARTIST, artist);
- Index.addFieldToDocument(doc, FreeDBIndexField.TITLE, release);
- Index.addFieldToDocument(doc, FreeDBIndexField.DISCID, discid);
- Index.addFieldToDocument(doc, FreeDBIndexField.CATEGORY, category);
- Index.addFieldToDocument(doc, FreeDBIndexField.YEAR, year);
- Index.addFieldToDocument(doc, FreeDBIndexField.TRACKS, numTracks.toString());
+ doc.addField(FreeDBIndexField.ARTIST, artist);
+ doc.addField(FreeDBIndexField.TITLE, release);
+ doc.addField(FreeDBIndexField.DISCID, discid);
+ doc.addField(FreeDBIndexField.CATEGORY, category);
+ doc.addField(FreeDBIndexField.YEAR, year);
+ doc.addField(FreeDBIndexField.TRACKS, numTracks.toString());
 
- return doc;
+ return doc.getLuceneDocument();
  }
 }

Modified: search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/Index.java
===================================================================
--- search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/Index.java 2009-11-02 23:08:24 UTC (rev 12280)
+++ search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/Index.java 2009-11-02 23:38:03 UTC (rev 12281)
@@ -19,89 +19,12 @@
 
 package org.musicbrainz.search.index;
 
-import java.io.IOException;
-import java.sql.Connection;
-import java.sql.SQLException;
-
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.NumericField;
-import org.apache.lucene.document.NumberTools;
-import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.util.NumericUtils;
 
-public abstract class Index {
+public interface Index {
 
- protected Connection dbConnection;
+    public String getName();
+    
+    public Analyzer getAnalyzer();
 
-    public void init() throws SQLException {};
-    public void destroy() throws SQLException {};
-
-
- public abstract int getMaxId() throws SQLException;
-    public abstract int getNoOfRows(int maxId) throws SQLException ;
-    public abstract String getName();
-    public abstract Analyzer getAnalyzer();
-    public abstract void indexData(IndexWriter indexWriter, int min, int max) throws SQLException, IOException;
-
- protected static String normalizeDate(String date) {
- return date.replace("-00", "");
- }
-
-    /**
-     * Add numeric field to document, handled specially so that ranges searches work properly
-     * @param doc
-     * @param field
-     * @param value
-     */
-    public static void addNumericFieldToDocument(Document doc, IndexField field, Integer value) {
-        addFieldToDocument(doc,field,NumericUtils.intToPrefixCoded(value));
-    }
-
-    /**
-     * Add field to document
-     *
-     * @param doc
-     * @param field
-     * @param value
-     */
-    public static void addFieldToDocument(Document doc, IndexField field, String value) {
- doc.add(new Field(field.getName(), value, field.getStore(), field.getIndex()));
- }
-
-    /**
-     * Add field to document if not empty
-     *
-     * @param doc
-     * @param field
-     * @param value
-     */
-    public static void addNonEmptyFieldToDocument(Document doc, IndexField field, String value) {
-        if (value != null && !value.isEmpty()) {
-         doc.add(new Field(field.getName(), value, field.getStore(), field.getIndex()));
-        }
- }
-
-    /**
-     * Add field to document if not empty, otherwise add hyphen.
-     *
-     * This method is necessary when adding fields that make up a set within in a list so that
-     * order is preserved.
-     *
-     * @param doc
-     * @param field
-     * @param value
-     */
-    //TODO is thia way we can achieve the same effect without needing to store these fields
-    public static void addFieldOrHyphenToDocument(Document doc, IndexField field, String value) {
-        if (value != null && !value.isEmpty()) {
-         doc.add(new Field(field.getName(), value, field.getStore(), field.getIndex()));
-        }
-        else {
-           doc.add(new Field(field.getName(), "-", field.getStore(), field.getIndex()));
-        }
-
-    }
-
 }

Modified: search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/IndexBuilder.java
===================================================================
--- search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/IndexBuilder.java 2009-11-02 23:08:24 UTC (rev 12280)
+++ search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/IndexBuilder.java 2009-11-02 23:38:03 UTC (rev 12281)
@@ -125,7 +125,7 @@
 
 
         // MusicBrainz data indexing
-        Index[] indexes = {
+        DatabaseIndex[] indexes = {
                 new ArtistIndex(mainDbConn),
                 new ReleaseIndex(mainDbConn),
                 new ReleaseGroupIndex(mainDbConn),
@@ -136,7 +136,7 @@
                 new CDStubIndex(rawDbConn), //Note different db
         };
 
-        for (Index index : indexes) {
+        for (DatabaseIndex index : indexes) {
 
             // Check if this index should be built
             if (!options.buildIndex(index.getName())) {
@@ -173,7 +173,7 @@
      * @throws IOException
      * @throws SQLException
      */
-    private static void buildDatabaseIndex(Index index, IndexBuilderOptions options) throws IOException, SQLException
+    private static void buildDatabaseIndex(DatabaseIndex index, IndexBuilderOptions options) throws IOException, SQLException
     {
         IndexWriter indexWriter;
         String path = options.getIndexesDir() + index.getName() + "_index";

Modified: search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/LabelIndex.java
===================================================================
--- search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/LabelIndex.java 2009-11-02 23:08:24 UTC (rev 12280)
+++ search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/LabelIndex.java 2009-11-02 23:38:03 UTC (rev 12281)
@@ -27,10 +27,7 @@
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.PerFieldAnalyzerWrapper;
-import org.apache.lucene.analysis.KeywordAnalyzer;
-import org.musicbrainz.search.analysis.StandardUnaccentAnalyzer;
-import org.musicbrainz.search.analysis.CaseInsensitiveKeywordAnalyzer;
+import org.musicbrainz.search.MbDocument;
 import org.musicbrainz.search.analysis.PerFieldEntityAnalyzer;
 
 import java.sql.*;
@@ -124,41 +121,41 @@
 
     public Document documentFromResultSet(ResultSet rs, Map<Integer, List<String>> aliases) throws SQLException {
 
-        Document doc = new Document();
+        MbDocument doc = new MbDocument();
         int labelId = rs.getInt("id");
-        addFieldToDocument(doc, LabelIndexField.LABEL_ID, rs.getString("gid"));
-        addFieldToDocument(doc, LabelIndexField.LABEL, rs.getString("name"));
-        addFieldToDocument(doc, LabelIndexField.SORTNAME, rs.getString("sortname"));
+        doc.addField(LabelIndexField.LABEL_ID, rs.getString("gid"));
+        doc.addField(LabelIndexField.LABEL, rs.getString("name"));
+        doc.addField(LabelIndexField.SORTNAME, rs.getString("sortname"));
 
         //Allows you to search for labels of Unknown type
         String type=rs.getString("type");
         if(type!=null) {
-            addFieldToDocument(doc, LabelIndexField.TYPE, type);
+            doc.addField(LabelIndexField.TYPE, type);
         } else {
-            addFieldToDocument(doc, LabelIndexField.TYPE, LabelType.UNKNOWN.getName());
+            doc.addField(LabelIndexField.TYPE, LabelType.UNKNOWN.getName());
         }
 
-        addNonEmptyFieldToDocument(doc, LabelIndexField.COMMENT, rs.getString("comment"));
-        addNonEmptyFieldToDocument(doc, LabelIndexField.COUNTRY, rs.getString("country"));
+        doc.addNonEmptyField(LabelIndexField.COMMENT, rs.getString("comment"));
+        doc.addNonEmptyField(LabelIndexField.COUNTRY, rs.getString("country"));
         
-        addNonEmptyFieldToDocument(doc, LabelIndexField.BEGIN,
+        doc.addNonEmptyField(LabelIndexField.BEGIN,
          Utils.formatDate(rs.getInt("begindate_year"), rs.getInt("begindate_month"), rs.getInt("begindate_day")));
 
-        addNonEmptyFieldToDocument(doc, LabelIndexField.END,
+        doc.addNonEmptyField(LabelIndexField.END,
             Utils.formatDate(rs.getInt("enddate_year"), rs.getInt("enddate_month"), rs.getInt("enddate_day")));
         
         String labelcode = rs.getString("labelcode");
         if (labelcode != null && !labelcode.isEmpty()) {
             Matcher m = stripLabelCodeOfLeadingZeroes.matcher(labelcode);
-            addFieldToDocument(doc, LabelIndexField.CODE, m.replaceFirst(""));
+            doc.addField(LabelIndexField.CODE, m.replaceFirst(""));
         }
 
         if (aliases.containsKey(labelId)) {
             for (String alias : aliases.get(labelId)) {
-                addFieldToDocument(doc, LabelIndexField.ALIAS, alias);
+                doc.addField(LabelIndexField.ALIAS, alias);
             }
         }
-        return doc;
+        return doc.getLuceneDocument();
     }
 
 }

Modified: search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/RecordingIndex.java
===================================================================
--- search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/RecordingIndex.java 2009-11-02 23:08:24 UTC (rev 12280)
+++ search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/RecordingIndex.java 2009-11-02 23:38:03 UTC (rev 12281)
@@ -24,6 +24,7 @@
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.analysis.Analyzer;
+import org.musicbrainz.search.MbDocument;
 import org.musicbrainz.search.analysis.PerFieldEntityAnalyzer;
 
 import java.sql.*;
@@ -225,37 +226,37 @@
 
         int id = rs.getInt("recordingId");
 
-        Document doc = new Document();
-        addFieldToDocument(doc, RecordingIndexField.RECORDING_ID, rs.getString("trackid"));
-        addNonEmptyFieldToDocument(doc, RecordingIndexField.RECORDING, rs.getString("trackname"));
-        addNumericFieldToDocument(doc, RecordingIndexField.DURATION, rs.getInt("duration"));
-        addNumericFieldToDocument(doc, RecordingIndexField.QUANTIZED_DURATION, rs.getInt("duration") / QUANTIZED_DURATION);
+        MbDocument doc = new MbDocument();
+        doc.addField(RecordingIndexField.RECORDING_ID, rs.getString("trackid"));
+        doc.addNonEmptyField(RecordingIndexField.RECORDING, rs.getString("trackname"));
+        doc.addNumericField(RecordingIndexField.DURATION, rs.getInt("duration"));
+        doc.addNumericField(RecordingIndexField.QUANTIZED_DURATION, rs.getInt("duration") / QUANTIZED_DURATION);
 
         if (tracks.containsKey(id)) {
             //For each track for this recording
             for (TrackWrapper track : tracks.get(id)) {
-                addNumericFieldToDocument(doc, RecordingIndexField.NUM_TRACKS, track.getTrackCount());
-                addNumericFieldToDocument(doc, RecordingIndexField.TRACKNUM, track.getTrackPosition());
-                addFieldOrHyphenToDocument(doc, RecordingIndexField.RELEASE_TYPE, track.getReleaseGroupType());
-                addFieldToDocument(doc, RecordingIndexField.RELEASE_ID, track.getReleaseId());
-                addFieldToDocument(doc, RecordingIndexField.RELEASE, track.getReleaseName());
+                doc.addNumericField(RecordingIndexField.NUM_TRACKS, track.getTrackCount());
+                doc.addNumericField(RecordingIndexField.TRACKNUM, track.getTrackPosition());
+                doc.addFieldOrHyphen(RecordingIndexField.RELEASE_TYPE, track.getReleaseGroupType());
+                doc.addField(RecordingIndexField.RELEASE_ID, track.getReleaseId());
+                doc.addField(RecordingIndexField.RELEASE, track.getReleaseName());
             }
         }
 
         if (artists.containsKey(id)) {
             //For each credit artist for this recording
             for (ArtistWrapper artist : artists.get(id)) {
-                addFieldToDocument(doc, RecordingIndexField.ARTIST_ID, artist.getArtistId());
-                addFieldToDocument(doc, RecordingIndexField.ARTIST_NAME, artist.getArtistName());
-                addFieldToDocument(doc, RecordingIndexField.ARTIST_SORTNAME, artist.getArtistSortName());
-                addFieldToDocument(doc, RecordingIndexField.ARTIST_NAMECREDIT, artist.getArtistCreditName());
-                addFieldOrHyphenToDocument(doc, RecordingIndexField.ARTIST_JOINPHRASE, artist.getJoinPhrase());
-                addFieldOrHyphenToDocument(doc, RecordingIndexField.ARTIST_COMMENT, artist.getArtistComment());
+                doc.addField(RecordingIndexField.ARTIST_ID, artist.getArtistId());
+                doc.addField(RecordingIndexField.ARTIST_NAME, artist.getArtistName());
+                doc.addField(RecordingIndexField.ARTIST_SORTNAME, artist.getArtistSortName());
+                doc.addField(RecordingIndexField.ARTIST_NAMECREDIT, artist.getArtistCreditName());
+                doc.addFieldOrHyphen(RecordingIndexField.ARTIST_JOINPHRASE, artist.getJoinPhrase());
+                doc.addFieldOrHyphen(RecordingIndexField.ARTIST_COMMENT, artist.getArtistComment());
             }
 
-            addFieldToDocument(doc, RecordingIndexField.ARTIST, ArtistWrapper.createFullArtistCredit(artists.get(id)));
+            doc.addField(RecordingIndexField.ARTIST, ArtistWrapper.createFullArtistCredit(artists.get(id)));
         }
-        return doc;
+        return doc.getLuceneDocument();
     }
 
 }

Modified: search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/ReleaseGroupIndex.java
===================================================================
--- search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/ReleaseGroupIndex.java 2009-11-02 23:08:24 UTC (rev 12280)
+++ search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/ReleaseGroupIndex.java 2009-11-02 23:38:03 UTC (rev 12281)
@@ -25,6 +25,7 @@
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.analysis.Analyzer;
+import org.musicbrainz.search.MbDocument;
 import org.musicbrainz.search.analysis.PerFieldEntityAnalyzer;
 
 import java.sql.*;
@@ -155,35 +156,35 @@
     }
 
     public Document documentFromResultSet(ResultSet rs, Map<Integer, List<ReleaseWrapper>> releases, Map<Integer, List<ArtistWrapper>> artists) throws SQLException {
-        Document doc = new Document();
+        MbDocument doc = new MbDocument();
         int id = rs.getInt("id");
-        addFieldToDocument(doc, ReleaseGroupIndexField.RELEASEGROUP_ID, rs.getString("gid"));
-        addFieldToDocument(doc, ReleaseGroupIndexField.RELEASEGROUP, rs.getString("name"));
-        addNonEmptyFieldToDocument(doc, ReleaseGroupIndexField.TYPE, rs.getString("type"));
+        doc.addField(ReleaseGroupIndexField.RELEASEGROUP_ID, rs.getString("gid"));
+        doc.addField(ReleaseGroupIndexField.RELEASEGROUP, rs.getString("name"));
+        doc.addNonEmptyField(ReleaseGroupIndexField.TYPE, rs.getString("type"));
 
         //Add each release name within this release group
         if (releases.containsKey(id)) {
             for (ReleaseWrapper release : releases.get(id)) {
-                addFieldOrHyphenToDocument(doc, ReleaseGroupIndexField.RELEASE, release.getReleaseName());
-                addFieldOrHyphenToDocument(doc, ReleaseGroupIndexField.RELEASE_ID, release.getReleaseId());
+                doc.addFieldOrHyphen(ReleaseGroupIndexField.RELEASE, release.getReleaseName());
+                doc.addFieldOrHyphen(ReleaseGroupIndexField.RELEASE_ID, release.getReleaseId());
             }
         }
 
         if (artists.containsKey(id)) {
             //For each artist credit for this release
             for (ArtistWrapper artist : artists.get(id)) {
-                 addFieldToDocument(doc, ReleaseGroupIndexField.ARTIST_ID, artist.getArtistId());
+                 doc.addField(ReleaseGroupIndexField.ARTIST_ID, artist.getArtistId());
                 //TODO in many cases these three values might be the same is user actually interested in searching
                 //by these variations, or do we just need for output
-                addFieldToDocument(doc, ReleaseGroupIndexField.ARTIST_NAME, artist.getArtistName());
-                addFieldToDocument(doc, ReleaseGroupIndexField.ARTIST_SORTNAME, artist.getArtistSortName());
-                addFieldToDocument(doc, ReleaseGroupIndexField.ARTIST_NAMECREDIT, artist.getArtistCreditName());
-                addFieldOrHyphenToDocument(doc, ReleaseGroupIndexField.ARTIST_JOINPHRASE, artist.getJoinPhrase());
-                addFieldOrHyphenToDocument(doc, ReleaseGroupIndexField.ARTIST_COMMENT, artist.getArtistComment());
+                doc.addField(ReleaseGroupIndexField.ARTIST_NAME, artist.getArtistName());
+                doc.addField(ReleaseGroupIndexField.ARTIST_SORTNAME, artist.getArtistSortName());
+                doc.addField(ReleaseGroupIndexField.ARTIST_NAMECREDIT, artist.getArtistCreditName());
+                doc.addFieldOrHyphen(ReleaseGroupIndexField.ARTIST_JOINPHRASE, artist.getJoinPhrase());
+                doc.addFieldOrHyphen(ReleaseGroupIndexField.ARTIST_COMMENT, artist.getArtistComment());
             }
-            addFieldToDocument(doc, ReleaseGroupIndexField.ARTIST, ArtistWrapper.createFullArtistCredit(artists.get(id)));
+            doc.addField(ReleaseGroupIndexField.ARTIST, ArtistWrapper.createFullArtistCredit(artists.get(id)));
         }
-        return doc;
+        return doc.getLuceneDocument();
     }
 
 }

Modified: search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/ReleaseIndex.java
===================================================================
--- search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/ReleaseIndex.java 2009-11-02 23:08:24 UTC (rev 12280)
+++ search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/ReleaseIndex.java 2009-11-02 23:38:03 UTC (rev 12281)
@@ -22,6 +22,7 @@
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.index.IndexWriter;
+import org.musicbrainz.search.MbDocument;
 import org.musicbrainz.search.analysis.PerFieldEntityAnalyzer;
 
 import java.io.IOException;
@@ -198,24 +199,24 @@
                                           Map<Integer,List<List<String>>> labelInfo,
                                           Map<Integer,List<List<String>>> mediums,
                                           Map<Integer, List<ArtistWrapper>> artists) throws SQLException {
-        Document doc = new Document();
+        MbDocument doc = new MbDocument();
         int id = rs.getInt("id");
-        addFieldToDocument(doc, ReleaseIndexField.RELEASE_ID, rs.getString("gid"));
-        addFieldToDocument(doc, ReleaseIndexField.RELEASE, rs.getString("name"));
-        addNonEmptyFieldToDocument(doc, ReleaseIndexField.TYPE, rs.getString("type"));
-        addNonEmptyFieldToDocument(doc, ReleaseIndexField.STATUS, rs.getString("status"));
-        addNonEmptyFieldToDocument(doc, ReleaseIndexField.COUNTRY, rs.getString("country"));
-        addNonEmptyFieldToDocument(doc, ReleaseIndexField.DATE,
+        doc.addField(ReleaseIndexField.RELEASE_ID, rs.getString("gid"));
+        doc.addField(ReleaseIndexField.RELEASE, rs.getString("name"));
+        doc.addNonEmptyField(ReleaseIndexField.TYPE, rs.getString("type"));
+        doc.addNonEmptyField(ReleaseIndexField.STATUS, rs.getString("status"));
+        doc.addNonEmptyField(ReleaseIndexField.COUNTRY, rs.getString("country"));
+        doc.addNonEmptyField(ReleaseIndexField.DATE,
                 Utils.formatDate(rs.getInt("date_year"), rs.getInt("date_month"), rs.getInt("date_day")));
-        addNonEmptyFieldToDocument(doc, ReleaseIndexField.BARCODE, rs.getString("barcode"));
-        addNonEmptyFieldToDocument(doc, ReleaseIndexField.AMAZON_ID, rs.getString("amazonasin"));
-        addNonEmptyFieldToDocument(doc, ReleaseIndexField.LANGUAGE, rs.getString("language"));
-        addNonEmptyFieldToDocument(doc, ReleaseIndexField.SCRIPT, rs.getString("script"));
+        doc.addNonEmptyField(ReleaseIndexField.BARCODE, rs.getString("barcode"));
+        doc.addNonEmptyField(ReleaseIndexField.AMAZON_ID, rs.getString("amazonasin"));
+        doc.addNonEmptyField(ReleaseIndexField.LANGUAGE, rs.getString("language"));
+        doc.addNonEmptyField(ReleaseIndexField.SCRIPT, rs.getString("script"));
 
         if (labelInfo.containsKey(id)) {
             for (List<String> entry : labelInfo.get(id)) {
-                addFieldOrHyphenToDocument(doc, ReleaseIndexField.LABEL, entry.get(0));
-                addFieldOrHyphenToDocument(doc, ReleaseIndexField.CATALOG_NO, entry.get(1));
+                doc.addFieldOrHyphen(ReleaseIndexField.LABEL, entry.get(0));
+                doc.addFieldOrHyphen(ReleaseIndexField.CATALOG_NO, entry.get(1));
             }
         }
 
@@ -225,40 +226,40 @@
             for (List<String> entry : mediums.get(id)) {
                 String str;
                 str = entry.get(0);
-                addFieldOrHyphenToDocument(doc, ReleaseIndexField.FORMAT, str);
+                doc.addFieldOrHyphen(ReleaseIndexField.FORMAT, str);
                 int numTracksOnMedium = Integer.parseInt(entry.get(1));
-                addNumericFieldToDocument(doc,ReleaseIndexField.NUM_TRACKS_MEDIUM,numTracksOnMedium);
+                doc.addNumericField(ReleaseIndexField.NUM_TRACKS_MEDIUM,numTracksOnMedium);
                 trackCount+=numTracksOnMedium;
 
                 int numDiscsOnMedium = Integer.parseInt(entry.get(2));
-                addNumericFieldToDocument(doc,ReleaseIndexField.NUM_DISCIDS_MEDIUM,numDiscsOnMedium);
+                doc.addNumericField(ReleaseIndexField.NUM_DISCIDS_MEDIUM,numDiscsOnMedium);
                 discCount+=numDiscsOnMedium;
 
             }
 
             //Num Tracks over the whole release
-            addNumericFieldToDocument(doc,ReleaseIndexField.NUM_TRACKS,trackCount);
+            doc.addNumericField(ReleaseIndexField.NUM_TRACKS,trackCount);
 
             //Num Discs over the whole release
-            addNumericFieldToDocument(doc,ReleaseIndexField.NUM_DISCIDS,discCount);
+            doc.addNumericField(ReleaseIndexField.NUM_DISCIDS,discCount);
 
         }
 
         if (artists.containsKey(id)) {
             //For each artist credit for this release
             for (ArtistWrapper artist : artists.get(id)) {
-                  addFieldToDocument(doc, ReleaseIndexField.ARTIST_ID, artist.getArtistId());
+                  doc.addField(ReleaseIndexField.ARTIST_ID, artist.getArtistId());
                  //TODO in many cases these three values might be the same is user actually interested in searching
                  //by these variations, or do we just need for output
-                 addFieldToDocument(doc, ReleaseIndexField.ARTIST_NAME, artist.getArtistName());
-                 addFieldToDocument(doc, ReleaseIndexField.ARTIST_SORTNAME, artist.getArtistSortName());
-                 addFieldToDocument(doc, ReleaseIndexField.ARTIST_NAMECREDIT, artist.getArtistCreditName());
-                 addFieldOrHyphenToDocument(doc, ReleaseIndexField.ARTIST_JOINPHRASE, artist.getJoinPhrase());
-                 addFieldOrHyphenToDocument(doc, ReleaseIndexField.ARTIST_COMMENT, artist.getArtistComment());
+                 doc.addField(ReleaseIndexField.ARTIST_NAME, artist.getArtistName());
+                 doc.addField(ReleaseIndexField.ARTIST_SORTNAME, artist.getArtistSortName());
+                 doc.addField(ReleaseIndexField.ARTIST_NAMECREDIT, artist.getArtistCreditName());
+                 doc.addFieldOrHyphen(ReleaseIndexField.ARTIST_JOINPHRASE, artist.getJoinPhrase());
+                 doc.addFieldOrHyphen(ReleaseIndexField.ARTIST_COMMENT, artist.getArtistComment());
             }
-            addFieldToDocument(doc, ReleaseIndexField.ARTIST, ArtistWrapper.createFullArtistCredit(artists.get(id)));
+            doc.addField(ReleaseIndexField.ARTIST, ArtistWrapper.createFullArtistCredit(artists.get(id)));
         }
-        return doc;
+        return doc.getLuceneDocument();
     }
 
 }

Modified: search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/WorkIndex.java
===================================================================
--- search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/WorkIndex.java 2009-11-02 23:08:24 UTC (rev 12280)
+++ search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/WorkIndex.java 2009-11-02 23:38:03 UTC (rev 12281)
@@ -25,6 +25,7 @@
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.analysis.Analyzer;
+import org.musicbrainz.search.MbDocument;
 import org.musicbrainz.search.analysis.PerFieldEntityAnalyzer;
 
 import java.sql.*;
@@ -130,28 +131,28 @@
     }
 
     public Document documentFromResultSet(ResultSet rs,Map<Integer, List<ArtistWrapper>> artists) throws SQLException {
-        Document doc = new Document();
+        MbDocument doc = new MbDocument();
         int id = rs.getInt("wid");
-        addFieldToDocument(doc, WorkIndexField.WORK_ID, rs.getString("gid"));
-        addFieldToDocument(doc, WorkIndexField.WORK, rs.getString("name"));
-        addNonEmptyFieldToDocument(doc, WorkIndexField.TYPE, rs.getString("type"));
-        addNonEmptyFieldToDocument(doc, WorkIndexField.ISWC, rs.getString("iswc"));
+        doc.addField(WorkIndexField.WORK_ID, rs.getString("gid"));
+        doc.addField(WorkIndexField.WORK, rs.getString("name"));
+        doc.addNonEmptyField(WorkIndexField.TYPE, rs.getString("type"));
+        doc.addNonEmptyField(WorkIndexField.ISWC, rs.getString("iswc"));
 
         if (artists.containsKey(id)) {
             //For each artist credit
             for (ArtistWrapper artist : artists.get(id)) {
-                 addFieldToDocument(doc, WorkIndexField.ARTIST_ID, artist.getArtistId());
+                 doc.addField(WorkIndexField.ARTIST_ID, artist.getArtistId());
                 //TODO in many cases these three values might be the same is user actually interested in searching
                 //by these variations, or do we just need for output
-                addFieldToDocument(doc, WorkIndexField.ARTIST_NAME, artist.getArtistName());
-                addFieldToDocument(doc, WorkIndexField.ARTIST_SORTNAME, artist.getArtistSortName());
-                addFieldToDocument(doc, WorkIndexField.ARTIST_NAMECREDIT, artist.getArtistCreditName());
-                addFieldOrHyphenToDocument(doc, WorkIndexField.ARTIST_JOINPHRASE, artist.getJoinPhrase());
-                addFieldOrHyphenToDocument(doc, WorkIndexField.ARTIST_COMMENT, artist.getArtistComment());
+                doc.addField(WorkIndexField.ARTIST_NAME, artist.getArtistName());
+                doc.addField(WorkIndexField.ARTIST_SORTNAME, artist.getArtistSortName());
+                doc.addField(WorkIndexField.ARTIST_NAMECREDIT, artist.getArtistCreditName());
+                doc.addFieldOrHyphen(WorkIndexField.ARTIST_JOINPHRASE, artist.getJoinPhrase());
+                doc.addFieldOrHyphen(WorkIndexField.ARTIST_COMMENT, artist.getArtistComment());
             }
-            addFieldToDocument(doc, WorkIndexField.ARTIST, ArtistWrapper.createFullArtistCredit(artists.get(id)));
+            doc.addField(WorkIndexField.ARTIST, ArtistWrapper.createFullArtistCredit(artists.get(id)));
         }
-        return doc;
+        return doc.getLuceneDocument();
     }
 
 }
\ No newline at end of file

Modified: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/Result.java
===================================================================
--- search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/Result.java 2009-11-02 23:08:24 UTC (rev 12280)
+++ search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/Result.java 2009-11-02 23:38:03 UTC (rev 12281)
@@ -28,6 +28,8 @@
 
 package org.musicbrainz.search.servlet;
 
+import org.musicbrainz.search.MbDocument;
+
 public class Result {
 
  public MbDocument doc;

Modified: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/SearchServer.java
===================================================================
--- search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/SearchServer.java 2009-11-02 23:08:24 UTC (rev 12280)
+++ search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/SearchServer.java 2009-11-02 23:38:03 UTC (rev 12281)
@@ -38,6 +38,7 @@
 import org.apache.lucene.search.TopScoreDocCollector;
 import org.apache.lucene.store.NIOFSDirectory;
 import org.apache.lucene.util.NumericUtils;
+import org.musicbrainz.search.MbDocument;
 import org.musicbrainz.search.index.MetaIndexField;
 import org.musicbrainz.search.servlet.mmd1.Mmd1XmlWriter;
 import org.musicbrainz.search.servlet.mmd2.XmlWriter;

Modified: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/ArtistMmd1XmlWriter.java
===================================================================
--- search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/ArtistMmd1XmlWriter.java 2009-11-02 23:08:24 UTC (rev 12280)
+++ search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/ArtistMmd1XmlWriter.java 2009-11-02 23:38:03 UTC (rev 12281)
@@ -35,7 +35,7 @@
 import com.jthink.brainz.mmd.ObjectFactory;
 import org.apache.commons.lang.StringUtils;
 import org.musicbrainz.search.index.ArtistIndexField;
-import org.musicbrainz.search.servlet.MbDocument;
+import org.musicbrainz.search.MbDocument;
 import org.musicbrainz.search.servlet.Result;
 import org.musicbrainz.search.servlet.Results;
 

Modified: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/LabelMmd1XmlWriter.java
===================================================================
--- search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/LabelMmd1XmlWriter.java 2009-11-02 23:08:24 UTC (rev 12280)
+++ search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/LabelMmd1XmlWriter.java 2009-11-02 23:38:03 UTC (rev 12281)
@@ -35,7 +35,7 @@
 import com.jthink.brainz.mmd.ObjectFactory;
 import org.apache.commons.lang.StringUtils;
 import org.musicbrainz.search.index.LabelIndexField;
-import org.musicbrainz.search.servlet.MbDocument;
+import org.musicbrainz.search.MbDocument;
 import org.musicbrainz.search.servlet.Result;
 import org.musicbrainz.search.servlet.Results;
 

Modified: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/ReleaseGroupMmd1XmlWriter.java
===================================================================
--- search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/ReleaseGroupMmd1XmlWriter.java 2009-11-02 23:08:24 UTC (rev 12280)
+++ search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/ReleaseGroupMmd1XmlWriter.java 2009-11-02 23:38:03 UTC (rev 12281)
@@ -31,7 +31,7 @@
 import com.jthink.brainz.mmd.*;
 import org.apache.commons.lang.StringUtils;
 import org.musicbrainz.search.index.ReleaseGroupIndexField;
-import org.musicbrainz.search.servlet.MbDocument;
+import org.musicbrainz.search.MbDocument;
 import org.musicbrainz.search.servlet.Result;
 import org.musicbrainz.search.servlet.Results;
 

Modified: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/ReleaseMmd1XmlWriter.java
===================================================================
--- search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/ReleaseMmd1XmlWriter.java 2009-11-02 23:08:24 UTC (rev 12280)
+++ search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/ReleaseMmd1XmlWriter.java 2009-11-02 23:38:03 UTC (rev 12281)
@@ -42,7 +42,7 @@
 import org.apache.commons.lang.StringUtils;
 import org.apache.lucene.util.NumericUtils;
 import org.musicbrainz.search.index.ReleaseIndexField;
-import org.musicbrainz.search.servlet.MbDocument;
+import org.musicbrainz.search.MbDocument;
 import org.musicbrainz.search.servlet.Result;
 import org.musicbrainz.search.servlet.Results;
 

Modified: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/TrackMmd1XmlWriter.java
===================================================================
--- search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/TrackMmd1XmlWriter.java 2009-11-02 23:08:24 UTC (rev 12280)
+++ search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/TrackMmd1XmlWriter.java 2009-11-02 23:38:03 UTC (rev 12281)
@@ -38,7 +38,7 @@
 import org.apache.lucene.util.NumericUtils;
 import org.apache.commons.lang.StringUtils;
 import org.musicbrainz.search.index.RecordingIndexField;
-import org.musicbrainz.search.servlet.MbDocument;
+import org.musicbrainz.search.MbDocument;
 import org.musicbrainz.search.servlet.Result;
 import org.musicbrainz.search.servlet.Results;
 

Modified: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/ArtistXmlWriter.java
===================================================================
--- search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/ArtistXmlWriter.java 2009-11-02 23:08:24 UTC (rev 12280)
+++ search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/ArtistXmlWriter.java 2009-11-02 23:38:03 UTC (rev 12281)
@@ -29,10 +29,9 @@
 package org.musicbrainz.search.servlet.mmd2;
 
 
-import org.apache.commons.lang.StringUtils;
 import org.musicbrainz.mmd2.*;
 import org.musicbrainz.search.index.ArtistIndexField;
-import org.musicbrainz.search.servlet.MbDocument;
+import org.musicbrainz.search.MbDocument;
 import org.musicbrainz.search.servlet.Result;
 import org.musicbrainz.search.servlet.Results;
 

Modified: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/LabelXmlWriter.java
===================================================================
--- search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/LabelXmlWriter.java 2009-11-02 23:08:24 UTC (rev 12280)
+++ search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/LabelXmlWriter.java 2009-11-02 23:38:03 UTC (rev 12281)
@@ -29,11 +29,9 @@
 package org.musicbrainz.search.servlet.mmd2;
 
 
-import org.apache.commons.lang.StringUtils;
 import org.musicbrainz.mmd2.*;
 import org.musicbrainz.search.index.LabelIndexField;
-import org.musicbrainz.search.index.ArtistIndexField;
-import org.musicbrainz.search.servlet.MbDocument;
+import org.musicbrainz.search.MbDocument;
 import org.musicbrainz.search.servlet.Result;
 import org.musicbrainz.search.servlet.Results;
 

Modified: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/RecordingXmlWriter.java
===================================================================
--- search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/RecordingXmlWriter.java 2009-11-02 23:08:24 UTC (rev 12280)
+++ search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/RecordingXmlWriter.java 2009-11-02 23:38:03 UTC (rev 12281)
@@ -30,7 +30,7 @@
 
 import org.apache.lucene.util.NumericUtils;
 import org.musicbrainz.search.index.RecordingIndexField;
-import org.musicbrainz.search.servlet.MbDocument;
+import org.musicbrainz.search.MbDocument;
 import org.musicbrainz.search.servlet.Result;
 import org.musicbrainz.search.servlet.Results;
 import org.musicbrainz.mmd2.*;

Modified: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/ReleaseGroupXmlWriter.java
===================================================================
--- search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/ReleaseGroupXmlWriter.java 2009-11-02 23:08:24 UTC (rev 12280)
+++ search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/ReleaseGroupXmlWriter.java 2009-11-02 23:38:03 UTC (rev 12281)
@@ -28,11 +28,10 @@
 
 package org.musicbrainz.search.servlet.mmd2;
 
-import org.apache.commons.lang.StringUtils;
 import org.musicbrainz.mmd2.*;
 import org.musicbrainz.search.index.ReleaseGroupIndexField;
 import org.musicbrainz.search.index.ReleaseIndexField;
-import org.musicbrainz.search.servlet.MbDocument;
+import org.musicbrainz.search.MbDocument;
 import org.musicbrainz.search.servlet.Result;
 import org.musicbrainz.search.servlet.Results;
 

Modified: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/ReleaseXmlWriter.java
===================================================================
--- search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/ReleaseXmlWriter.java 2009-11-02 23:08:24 UTC (rev 12280)
+++ search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/ReleaseXmlWriter.java 2009-11-02 23:38:03 UTC (rev 12281)
@@ -29,11 +29,10 @@
 package org.musicbrainz.search.servlet.mmd2;
 
 
-import org.apache.commons.lang.StringUtils;
 import org.apache.lucene.util.NumericUtils;
 import org.musicbrainz.mmd2.*;
 import org.musicbrainz.search.index.ReleaseIndexField;
-import org.musicbrainz.search.servlet.MbDocument;
+import org.musicbrainz.search.MbDocument;
 import org.musicbrainz.search.servlet.Result;
 import org.musicbrainz.search.servlet.Results;
 

Modified: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/WorkXmlWriter.java
===================================================================
--- search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/WorkXmlWriter.java 2009-11-02 23:08:24 UTC (rev 12280)
+++ search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/WorkXmlWriter.java 2009-11-02 23:38:03 UTC (rev 12281)
@@ -28,11 +28,9 @@
 
 package org.musicbrainz.search.servlet.mmd2;
 
-import org.apache.commons.lang.StringUtils;
 import org.musicbrainz.mmd2.*;
-import org.musicbrainz.search.index.ReleaseGroupIndexField;
 import org.musicbrainz.search.index.WorkIndexField;
-import org.musicbrainz.search.servlet.MbDocument;
+import org.musicbrainz.search.MbDocument;
 import org.musicbrainz.search.servlet.Result;
 import org.musicbrainz.search.servlet.Results;
 

Modified: search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindAnnotationTest.java
===================================================================
--- search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindAnnotationTest.java 2009-11-02 23:08:24 UTC (rev 12280)
+++ search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindAnnotationTest.java 2009-11-02 23:38:03 UTC (rev 12281)
@@ -2,15 +2,14 @@
 
 import junit.framework.TestCase;
 import org.apache.lucene.analysis.PerFieldAnalyzerWrapper;
-import org.apache.lucene.document.Document;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.store.RAMDirectory;
 import org.apache.velocity.app.Velocity;
+import org.musicbrainz.search.MbDocument;
 import org.musicbrainz.search.analysis.PerFieldEntityAnalyzer;
 import org.musicbrainz.search.index.AnnotationIndexField;
 import org.musicbrainz.search.index.AnnotationType;
-import org.musicbrainz.search.index.Index;
 
 import java.io.PrintWriter;
 import java.io.StringWriter;
@@ -37,12 +36,12 @@
 
         //A complete Annotation entry
         {
-            Document doc = new Document();
-            Index.addFieldToDocument(doc, AnnotationIndexField.TYPE, AnnotationType.RELEASE.getName());
-            Index.addFieldToDocument(doc, AnnotationIndexField.NAME, "Pieds nus sur la braise");
-            Index.addFieldToDocument(doc, AnnotationIndexField.MBID, "bdb24cb5-404b-4f60-bba4-7b730325ae47");
-            Index.addFieldToDocument(doc, AnnotationIndexField.TEXT, "EAN: 0828768226629 - DiscID: TWj6cLku360MfFYAq_MEaT_stgc-");
-            writer.addDocument(doc);
+            MbDocument doc = new MbDocument();
+            doc.addField(AnnotationIndexField.TYPE, AnnotationType.RELEASE.getName());
+            doc.addField(AnnotationIndexField.NAME, "Pieds nus sur la braise");
+            doc.addField(AnnotationIndexField.MBID, "bdb24cb5-404b-4f60-bba4-7b730325ae47");
+            doc.addField(AnnotationIndexField.TEXT, "EAN: 0828768226629 - DiscID: TWj6cLku360MfFYAq_MEaT_stgc-");
+            writer.addDocument(doc.getLuceneDocument());
         }
 
         writer.close();

Modified: search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindArtistTest.java
===================================================================
--- search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindArtistTest.java 2009-11-02 23:08:24 UTC (rev 12280)
+++ search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindArtistTest.java 2009-11-02 23:38:03 UTC (rev 12281)
@@ -1,6 +1,5 @@
 package org.musicbrainz.search.servlet;
 import junit.framework.TestCase;
-import org.apache.lucene.document.Document;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.store.RAMDirectory;
@@ -8,11 +7,10 @@
 import org.apache.velocity.app.Velocity;
 import org.musicbrainz.search.index.ArtistIndexField;
 import org.musicbrainz.search.index.ArtistType;
-import org.musicbrainz.search.index.Index;
 import org.musicbrainz.search.servlet.ArtistHtmlWriter;
 import org.musicbrainz.search.servlet.ArtistSearch;
 import org.musicbrainz.search.servlet.mmd1.ArtistMmd1XmlWriter;
-import org.musicbrainz.search.servlet.MbDocument;
+import org.musicbrainz.search.MbDocument;
 import org.musicbrainz.search.servlet.Result;
 import org.musicbrainz.search.servlet.Results;
 import org.musicbrainz.search.servlet.ResultsWriter;
@@ -48,31 +46,31 @@
 
         //General Purpose Artist
         {
-            Document doc = new Document();
-            Index.addFieldToDocument(doc, ArtistIndexField.ARTIST_ID, "4302e264-1cf0-4d1f-aca7-2a6f89e34b36");
-            Index.addFieldToDocument(doc, ArtistIndexField.ARTIST, "Farming Incident");
-            Index.addFieldToDocument(doc, ArtistIndexField.SORTNAME, "Farming Incident");
-            Index.addFieldToDocument(doc, ArtistIndexField.BEGIN, "1999-04");
-            Index.addFieldToDocument(doc, ArtistIndexField.TYPE, ArtistType.GROUP.getName());
-            Index.addFieldToDocument(doc, ArtistIndexField.COMMENT, "the real one");
-            Index.addFieldToDocument(doc, ArtistIndexField.COUNTRY, "af");
-            Index.addFieldToDocument(doc, ArtistIndexField.GENDER, "male");
-            writer.addDocument(doc);
+            MbDocument doc = new MbDocument();
+            doc.addField(ArtistIndexField.ARTIST_ID, "4302e264-1cf0-4d1f-aca7-2a6f89e34b36");
+            doc.addField(ArtistIndexField.ARTIST, "Farming Incident");
+            doc.addField(ArtistIndexField.SORTNAME, "Farming Incident");
+            doc.addField(ArtistIndexField.BEGIN, "1999-04");
+            doc.addField(ArtistIndexField.TYPE, ArtistType.GROUP.getName());
+            doc.addField(ArtistIndexField.COMMENT, "the real one");
+            doc.addField(ArtistIndexField.COUNTRY, "af");
+            doc.addField(ArtistIndexField.GENDER, "male");
+            writer.addDocument(doc.getLuceneDocument());
         }
 
         //Artist with & on name and aliases
         {
-            Document doc = new Document();
-            Index.addFieldToDocument(doc, ArtistIndexField.ARTIST_ID, "ccd4879c-5e88-4385-b131-bf65296bf245");
-            Index.addFieldToDocument(doc, ArtistIndexField.ARTIST, "Echo & The Bunnymen");
-            Index.addFieldToDocument(doc, ArtistIndexField.SORTNAME, "Echo & The Bunnymen");
-            Index.addFieldToDocument(doc, ArtistIndexField.BEGIN, "1978");
-            Index.addFieldToDocument(doc, ArtistIndexField.TYPE, ArtistType.GROUP.getName());
-            Index.addFieldToDocument(doc, ArtistIndexField.ALIAS, "Echo And The Bunnymen");
-            Index.addFieldToDocument(doc, ArtistIndexField.ALIAS, "Echo & The Bunnyman");
-            Index.addFieldToDocument(doc, ArtistIndexField.ALIAS, "Echo and The Bunymen");
-            Index.addFieldToDocument(doc, ArtistIndexField.ALIAS, "Echo & The Bunymen");
-            writer.addDocument(doc);
+            MbDocument doc = new MbDocument();
+            doc.addField(ArtistIndexField.ARTIST_ID, "ccd4879c-5e88-4385-b131-bf65296bf245");
+            doc.addField(ArtistIndexField.ARTIST, "Echo & The Bunnymen");
+            doc.addField(ArtistIndexField.SORTNAME, "Echo & The Bunnymen");
+            doc.addField(ArtistIndexField.BEGIN, "1978");
+            doc.addField(ArtistIndexField.TYPE, ArtistType.GROUP.getName());
+            doc.addField(ArtistIndexField.ALIAS, "Echo And The Bunnymen");
+            doc.addField(ArtistIndexField.ALIAS, "Echo & The Bunnyman");
+            doc.addField(ArtistIndexField.ALIAS, "Echo and The Bunymen");
+            doc.addField(ArtistIndexField.ALIAS, "Echo & The Bunymen");
+            writer.addDocument(doc.getLuceneDocument());
         }
         writer.close();
         ss = new ArtistSearch(new IndexSearcher(ramDir,true));

Modified: search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindFreeDBTest.java
===================================================================
--- search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindFreeDBTest.java 2009-11-02 23:08:24 UTC (rev 12280)
+++ search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindFreeDBTest.java 2009-11-02 23:38:03 UTC (rev 12281)
@@ -1,6 +1,5 @@
 package org.musicbrainz.search.servlet;
 import junit.framework.TestCase;
-import org.apache.lucene.document.Document;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.store.RAMDirectory;
@@ -8,10 +7,9 @@
 import org.apache.velocity.app.Velocity;
 import org.musicbrainz.search.analysis.PerFieldEntityAnalyzer;
 import org.musicbrainz.search.index.FreeDBIndexField;
-import org.musicbrainz.search.index.Index;
 import org.musicbrainz.search.servlet.FreeDBHtmlWriter;
 import org.musicbrainz.search.servlet.FreeDBSearch;
-import org.musicbrainz.search.servlet.MbDocument;
+import org.musicbrainz.search.MbDocument;
 import org.musicbrainz.search.servlet.Result;
 import org.musicbrainz.search.servlet.Results;
 import org.musicbrainz.search.servlet.ResultsWriter;
@@ -43,14 +41,14 @@
 
         //A complete FreeDB entry
         {
-            Document doc = new Document();
-            Index.addFieldToDocument(doc, FreeDBIndexField.ARTIST, "Ska-P");
-            Index.addFieldToDocument(doc, FreeDBIndexField.TITLE, "L\u00e1grimas & Gozos");
-            Index.addFieldToDocument(doc, FreeDBIndexField.CATEGORY, "folk");
-            Index.addFieldToDocument(doc, FreeDBIndexField.DISCID, "c20c4b0d");
-            Index.addFieldToDocument(doc, FreeDBIndexField.TRACKS, "13");
-            Index.addFieldToDocument(doc, FreeDBIndexField.YEAR, "2008");
-            writer.addDocument(doc);
+            MbDocument doc = new MbDocument();
+            doc.addField(FreeDBIndexField.ARTIST, "Ska-P");
+            doc.addField(FreeDBIndexField.TITLE, "L\u00e1grimas & Gozos");
+            doc.addField(FreeDBIndexField.CATEGORY, "folk");
+            doc.addField(FreeDBIndexField.DISCID, "c20c4b0d");
+            doc.addField(FreeDBIndexField.TRACKS, "13");
+            doc.addField(FreeDBIndexField.YEAR, "2008");
+            writer.addDocument(doc.getLuceneDocument());
         }
 
         writer.close();

Modified: search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindLabelTest.java
===================================================================
--- search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindLabelTest.java 2009-11-02 23:08:24 UTC (rev 12280)
+++ search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindLabelTest.java 2009-11-02 23:38:03 UTC (rev 12281)
@@ -1,6 +1,5 @@
 package org.musicbrainz.search.servlet;
 import junit.framework.TestCase;
-import org.apache.lucene.document.Document;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.store.RAMDirectory;
@@ -9,7 +8,7 @@
 import org.musicbrainz.search.index.*;
 import org.musicbrainz.search.servlet.LabelSearch;
 import org.musicbrainz.search.servlet.mmd1.LabelMmd1XmlWriter;
-import org.musicbrainz.search.servlet.MbDocument;
+import org.musicbrainz.search.MbDocument;
 import org.musicbrainz.search.servlet.Result;
 import org.musicbrainz.search.servlet.Results;
 import org.musicbrainz.search.servlet.ResultsWriter;
@@ -43,30 +42,29 @@
         IndexWriter writer = new IndexWriter(ramDir, analyzer, true, IndexWriter.MaxFieldLength.LIMITED);
 
         {
-            Document doc = new Document();
-            Index.addFieldToDocument(doc, LabelIndexField.LABEL_ID, "ff571ff4-04cb-4b9c-8a1c-354c330f863c");
-            Index.addFieldToDocument(doc, LabelIndexField.LABEL, "Jockey Slut");
-            Index.addFieldToDocument(doc, LabelIndexField.SORTNAME, "Slut, Jockey");
-            Index.addFieldToDocument(doc, LabelIndexField.ALIAS, "Jockeys");
-            Index.addFieldToDocument(doc, LabelIndexField.BEGIN, "1993");
-            Index.addFieldToDocument(doc, LabelIndexField.END, "2004");
-            Index.addFieldToDocument(doc, LabelIndexField.TYPE, LabelType.PRODUCTION.getName());
-            Index.addFieldToDocument(doc, LabelIndexField.COUNTRY, "GB");
-            writer.addDocument(doc);
+            MbDocument doc = new MbDocument();
+            doc.addField(LabelIndexField.LABEL_ID, "ff571ff4-04cb-4b9c-8a1c-354c330f863c");
+            doc.addField(LabelIndexField.LABEL, "Jockey Slut");
+            doc.addField(LabelIndexField.SORTNAME, "Slut, Jockey");
+            doc.addField(LabelIndexField.ALIAS, "Jockeys");
+            doc.addField(LabelIndexField.BEGIN, "1993");
+            doc.addField(LabelIndexField.END, "2004");
+            doc.addField(LabelIndexField.TYPE, LabelType.PRODUCTION.getName());
+            doc.addField(LabelIndexField.COUNTRY, "GB");
+            writer.addDocument(doc.getLuceneDocument());
         }
 
         {
-            Document doc = new Document();
-            Index.addFieldToDocument(doc, LabelIndexField.LABEL_ID, "a539bb1e-f2e1-4b45-9db8-8053841e7503");
-            Index.addFieldToDocument(doc, LabelIndexField.LABEL, "4AD");
-            Index.addFieldToDocument(doc, LabelIndexField.SORTNAME, "4AD");
-            Index.addFieldToDocument(doc, LabelIndexField.BEGIN, "1979");
-            Index.addFieldToDocument(doc, LabelIndexField.CODE, "5807");
-            Index.addFieldToDocument(doc, LabelIndexField.TYPE, LabelType.PRODUCTION.getName());
-            writer.addDocument(doc);
+            MbDocument doc = new MbDocument();
+            doc.addField(LabelIndexField.LABEL_ID, "a539bb1e-f2e1-4b45-9db8-8053841e7503");
+            doc.addField(LabelIndexField.LABEL, "4AD");
+            doc.addField(LabelIndexField.SORTNAME, "4AD");
+            doc.addField(LabelIndexField.BEGIN, "1979");
+            doc.addField(LabelIndexField.CODE, "5807");
+            doc.addField(LabelIndexField.TYPE, LabelType.PRODUCTION.getName());
+            writer.addDocument(doc.getLuceneDocument());
         }
 
-
         writer.close();
         ss = new LabelSearch(new IndexSearcher(ramDir, true));
     }

Modified: search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindRecordingTest.java
===================================================================
--- search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindRecordingTest.java 2009-11-02 23:08:24 UTC (rev 12280)
+++ search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindRecordingTest.java 2009-11-02 23:38:03 UTC (rev 12281)
@@ -1,12 +1,12 @@
 package org.musicbrainz.search.servlet;
 import junit.framework.TestCase;
-import org.apache.lucene.document.Document;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.store.RAMDirectory;
 import org.apache.lucene.analysis.PerFieldAnalyzerWrapper;
 import org.apache.lucene.util.NumericUtils;
 import org.apache.velocity.app.Velocity;
+import org.musicbrainz.search.MbDocument;
 import org.musicbrainz.search.index.*;
 import org.musicbrainz.search.servlet.mmd2.RecordingXmlWriter;
 import org.musicbrainz.search.servlet.mmd1.TrackMmd1XmlWriter;
@@ -39,24 +39,24 @@
         PerFieldAnalyzerWrapper analyzer = new PerFieldEntityAnalyzer(RecordingIndexField.class);
         IndexWriter writer = new IndexWriter(ramDir, analyzer, true, IndexWriter.MaxFieldLength.LIMITED);
 
-        Document doc = new Document();
-        Index.addFieldToDocument(doc, RecordingIndexField.RECORDING_ID, "7ca7782b-a602-448b-b108-bb881a7be2d6");
-        Index.addFieldToDocument(doc, RecordingIndexField.RECORDING, "Gravitational Lenz");
-        Index.addFieldToDocument(doc, RecordingIndexField.RELEASE_ID, "1d9e8ed6-3893-4d3b-aa7d-6cd79609e386");
-        Index.addFieldToDocument(doc, RecordingIndexField.RELEASE, "Our Glorious 5 Year Plan");
-        Index.addFieldToDocument(doc, RecordingIndexField.ARTIST_ID, "4302e264-1cf0-4d1f-aca7-2a6f89e34b36");
-        Index.addFieldToDocument(doc, RecordingIndexField.ARTIST, "Farming Incident");
-        Index.addFieldToDocument(doc, RecordingIndexField.ARTIST_NAME, "Farming Incident");
-        Index.addFieldToDocument(doc, RecordingIndexField.ARTIST_NAMECREDIT, "Farming Incident");
-        Index.addFieldToDocument(doc, RecordingIndexField.ARTIST_SORTNAME, "Incident, Farming");
-        Index.addFieldToDocument(doc, RecordingIndexField.ARTIST_JOINPHRASE, "-");
+        MbDocument doc = new MbDocument();
+        doc.addField(RecordingIndexField.RECORDING_ID, "7ca7782b-a602-448b-b108-bb881a7be2d6");
+        doc.addField(RecordingIndexField.RECORDING, "Gravitational Lenz");
+        doc.addField(RecordingIndexField.RELEASE_ID, "1d9e8ed6-3893-4d3b-aa7d-6cd79609e386");
+        doc.addField(RecordingIndexField.RELEASE, "Our Glorious 5 Year Plan");
+        doc.addField(RecordingIndexField.ARTIST_ID, "4302e264-1cf0-4d1f-aca7-2a6f89e34b36");
+        doc.addField(RecordingIndexField.ARTIST, "Farming Incident");
+        doc.addField(RecordingIndexField.ARTIST_NAME, "Farming Incident");
+        doc.addField(RecordingIndexField.ARTIST_NAMECREDIT, "Farming Incident");
+        doc.addField(RecordingIndexField.ARTIST_SORTNAME, "Incident, Farming");
+        doc.addField(RecordingIndexField.ARTIST_JOINPHRASE, "-");
 
-        Index.addNumericFieldToDocument(doc, RecordingIndexField.DURATION, 234000);
-        Index.addNumericFieldToDocument(doc, RecordingIndexField.QUANTIZED_DURATION, (234000 / 2000));
-        Index.addNumericFieldToDocument(doc, RecordingIndexField.NUM_TRACKS,10);
-        Index.addNumericFieldToDocument(doc, RecordingIndexField.TRACKNUM, 5);
-        Index.addFieldToDocument(doc, RecordingIndexField.RELEASE_TYPE, ReleaseGroupType.ALBUM.getName());
-        writer.addDocument(doc);
+        doc.addNumericField(RecordingIndexField.DURATION, 234000);
+        doc.addNumericField(RecordingIndexField.QUANTIZED_DURATION, (234000 / 2000));
+        doc.addNumericField(RecordingIndexField.NUM_TRACKS,10);
+        doc.addNumericField(RecordingIndexField.TRACKNUM, 5);
+        doc.addField(RecordingIndexField.RELEASE_TYPE, ReleaseGroupType.ALBUM.getName());
+        writer.addDocument(doc.getLuceneDocument());
         writer.close();
         ss = new RecordingSearch(new IndexSearcher(ramDir,true));
     }

Modified: search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindReleaseGroupTest.java
===================================================================
--- search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindReleaseGroupTest.java 2009-11-02 23:08:24 UTC (rev 12280)
+++ search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindReleaseGroupTest.java 2009-11-02 23:38:03 UTC (rev 12281)
@@ -1,13 +1,12 @@
 package org.musicbrainz.search.servlet;
 import junit.framework.TestCase;
-import org.apache.lucene.document.Document;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.store.RAMDirectory;
 import org.apache.lucene.analysis.PerFieldAnalyzerWrapper;
 import org.apache.velocity.app.Velocity;
 import org.musicbrainz.search.index.*;
-import org.musicbrainz.search.servlet.MbDocument;
+import org.musicbrainz.search.MbDocument;
 import org.musicbrainz.search.servlet.ReleaseGroupSearch;
 import org.musicbrainz.search.servlet.mmd1.ReleaseGroupMmd1XmlWriter;
 import org.musicbrainz.search.servlet.Result;
@@ -43,43 +42,43 @@
         IndexWriter writer = new IndexWriter(ramDir, analyzer, true, IndexWriter.MaxFieldLength.LIMITED);
 
         //Release Group with single artist
-        Document doc = new Document();
-        Index.addFieldToDocument(doc, ReleaseGroupIndexField.RELEASEGROUP_ID, "2c7d81da-8fc3-3157-99c1-e9195ac92c45");
-        Index.addFieldToDocument(doc, ReleaseGroupIndexField.RELEASEGROUP, "Nobody's Twisting Your Arm");
-        Index.addFieldToDocument(doc, ReleaseGroupIndexField.RELEASE_ID, "2c7d81da-8fc3-3157-99c1-e9195ac92c46");
-        Index.addFieldToDocument(doc, ReleaseGroupIndexField.RELEASE, "secret");
+        MbDocument doc = new MbDocument();
+        doc.addField(ReleaseGroupIndexField.RELEASEGROUP_ID, "2c7d81da-8fc3-3157-99c1-e9195ac92c45");
+        doc.addField(ReleaseGroupIndexField.RELEASEGROUP, "Nobody's Twisting Your Arm");
+        doc.addField(ReleaseGroupIndexField.RELEASE_ID, "2c7d81da-8fc3-3157-99c1-e9195ac92c46");
+        doc.addField(ReleaseGroupIndexField.RELEASE, "secret");
 
-        Index.addFieldToDocument(doc, ReleaseGroupIndexField.TYPE, ReleaseGroupType.SINGLE.getName());
-        Index.addFieldToDocument(doc, ReleaseGroupIndexField.ARTIST_ID, "707622da-475f-48e1-905d-248718df6521");
-        Index.addFieldToDocument(doc, ReleaseGroupIndexField.ARTIST_NAME, "The Wedding Present");
-        Index.addFieldToDocument(doc, ReleaseGroupIndexField.ARTIST, "The Wedding Present");
-        Index.addFieldToDocument(doc, ReleaseGroupIndexField.ARTIST_SORTNAME, "Wedding Present, The");
-        Index.addFieldToDocument(doc, ReleaseGroupIndexField.ARTIST_JOINPHRASE, "-");
-        Index.addFieldToDocument(doc, ReleaseGroupIndexField.ARTIST_NAMECREDIT, "The Wedding Present");
-        writer.addDocument(doc);
+        doc.addField(ReleaseGroupIndexField.TYPE, ReleaseGroupType.SINGLE.getName());
+        doc.addField(ReleaseGroupIndexField.ARTIST_ID, "707622da-475f-48e1-905d-248718df6521");
+        doc.addField(ReleaseGroupIndexField.ARTIST_NAME, "The Wedding Present");
+        doc.addField(ReleaseGroupIndexField.ARTIST, "The Wedding Present");
+        doc.addField(ReleaseGroupIndexField.ARTIST_SORTNAME, "Wedding Present, The");
+        doc.addField(ReleaseGroupIndexField.ARTIST_JOINPHRASE, "-");
+        doc.addField(ReleaseGroupIndexField.ARTIST_NAMECREDIT, "The Wedding Present");
+        writer.addDocument(doc.getLuceneDocument());
 
         //Release Group with multiple Artist and different name credit and no releases
-        doc = new Document();
-        Index.addFieldToDocument(doc, ReleaseGroupIndexField.RELEASEGROUP_ID, "0011c128-b1f2-300e-88cc-c33c30dce704");
-        Index.addFieldToDocument(doc, ReleaseGroupIndexField.RELEASEGROUP, "Epics");
+        doc = new MbDocument();
+        doc.addField(ReleaseGroupIndexField.RELEASEGROUP_ID, "0011c128-b1f2-300e-88cc-c33c30dce704");
+        doc.addField(ReleaseGroupIndexField.RELEASEGROUP, "Epics");
 
 
-        Index.addFieldToDocument(doc, ReleaseGroupIndexField.TYPE, ReleaseGroupType.ALBUM.getName());
-        Index.addFieldToDocument(doc, ReleaseGroupIndexField.ARTIST_ID, "99845d0c-f239-4051-a6b1-4b5e9f7ede0b");
-        Index.addFieldToDocument(doc, ReleaseGroupIndexField.ARTIST_NAME, "Erich Kunzel");
-        Index.addFieldToDocument(doc, ReleaseGroupIndexField.ARTIST_SORTNAME, "Kunzel, Eric");
-        Index.addFieldToDocument(doc, ReleaseGroupIndexField.ARTIST_JOINPHRASE, "and");
-        Index.addFieldToDocument(doc, ReleaseGroupIndexField.ARTIST_NAMECREDIT, "Erich Kunzel");
+        doc.addField(ReleaseGroupIndexField.TYPE, ReleaseGroupType.ALBUM.getName());
+        doc.addField(ReleaseGroupIndexField.ARTIST_ID, "99845d0c-f239-4051-a6b1-4b5e9f7ede0b");
+        doc.addField(ReleaseGroupIndexField.ARTIST_NAME, "Erich Kunzel");
+        doc.addField(ReleaseGroupIndexField.ARTIST_SORTNAME, "Kunzel, Eric");
+        doc.addField(ReleaseGroupIndexField.ARTIST_JOINPHRASE, "and");
+        doc.addField(ReleaseGroupIndexField.ARTIST_NAMECREDIT, "Erich Kunzel");
 
-        Index.addFieldToDocument(doc, ReleaseGroupIndexField.ARTIST_ID, "d8fbd94c-cd06-4e8b-a559-761ad969d07e");
-        Index.addFieldToDocument(doc, ReleaseGroupIndexField.ARTIST_NAME, "The Cincinnati Pops Orchestra");
-        Index.addFieldToDocument(doc, ReleaseGroupIndexField.ARTIST_SORTNAME, "Cincinnati Pops Orchestra, The");
-        Index.addFieldToDocument(doc, ReleaseGroupIndexField.ARTIST_JOINPHRASE, "-");
-        Index.addFieldToDocument(doc, ReleaseGroupIndexField.ARTIST_NAMECREDIT, "Cincinnati Pops");
+        doc.addField(ReleaseGroupIndexField.ARTIST_ID, "d8fbd94c-cd06-4e8b-a559-761ad969d07e");
+        doc.addField(ReleaseGroupIndexField.ARTIST_NAME, "The Cincinnati Pops Orchestra");
+        doc.addField(ReleaseGroupIndexField.ARTIST_SORTNAME, "Cincinnati Pops Orchestra, The");
+        doc.addField(ReleaseGroupIndexField.ARTIST_JOINPHRASE, "-");
+        doc.addField(ReleaseGroupIndexField.ARTIST_NAMECREDIT, "Cincinnati Pops");
 
-        Index.addFieldToDocument(doc, ReleaseGroupIndexField.ARTIST, "Erich Kunzel and Cincinnati Pops");
+        doc.addField(ReleaseGroupIndexField.ARTIST, "Erich Kunzel and Cincinnati Pops");
 
-        writer.addDocument(doc);
+        writer.addDocument(doc.getLuceneDocument());
         writer.close();
         ss = new ReleaseGroupSearch(new IndexSearcher(ramDir,true));
     }

Modified: search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindReleaseTest.java
===================================================================
--- search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindReleaseTest.java 2009-11-02 23:08:24 UTC (rev 12280)
+++ search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindReleaseTest.java 2009-11-02 23:38:03 UTC (rev 12281)
@@ -1,6 +1,5 @@
 package org.musicbrainz.search.servlet;
 import junit.framework.TestCase;
-import org.apache.lucene.document.Document;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.store.RAMDirectory;
@@ -8,7 +7,7 @@
 import org.apache.lucene.util.NumericUtils;
 import org.apache.velocity.app.Velocity;
 import org.musicbrainz.search.index.*;
-import org.musicbrainz.search.servlet.MbDocument;
+import org.musicbrainz.search.MbDocument;
 import org.musicbrainz.search.servlet.ReleaseSearch;
 import org.musicbrainz.search.servlet.mmd1.ReleaseMmd1XmlWriter;
 import org.musicbrainz.search.servlet.ResourceType;
@@ -46,78 +45,78 @@
         PerFieldAnalyzerWrapper analyzer = new PerFieldEntityAnalyzer(ReleaseIndexField.class);
         IndexWriter writer = new IndexWriter(ramDir, analyzer, true, IndexWriter.MaxFieldLength.LIMITED);
 
-        Document doc = new Document();
-        Index.addFieldToDocument(doc, ReleaseIndexField.RELEASE_ID, "1d9e8ed6-3893-4d3b-aa7d-6cd79609e386");
-        Index.addFieldToDocument(doc, ReleaseIndexField.RELEASE, "Our Glorious 5 Year Plan");
-        Index.addFieldToDocument(doc, ReleaseIndexField.SCRIPT, "Latn");
-        Index.addFieldToDocument(doc, ReleaseIndexField.LANGUAGE, "eng");
-        Index.addFieldToDocument(doc, ReleaseIndexField.ARTIST_ID, "4302e264-1cf0-4d1f-aca7-2a6f89e34b36");
-        Index.addFieldToDocument(doc, ReleaseIndexField.ARTIST, "Farming Incident");
-        Index.addFieldToDocument(doc, ReleaseIndexField.ARTIST_NAME, "Farming Incident");
-        Index.addFieldToDocument(doc, ReleaseIndexField.ARTIST_NAMECREDIT, "Farming Incident");
-        Index.addFieldToDocument(doc, ReleaseIndexField.ARTIST_SORTNAME, "Incident, Farming");
-        Index.addFieldToDocument(doc, ReleaseIndexField.ARTIST_JOINPHRASE, "-");
+        MbDocument doc = new MbDocument();
+        doc.addField(ReleaseIndexField.RELEASE_ID, "1d9e8ed6-3893-4d3b-aa7d-6cd79609e386");
+        doc.addField(ReleaseIndexField.RELEASE, "Our Glorious 5 Year Plan");
+        doc.addField(ReleaseIndexField.SCRIPT, "Latn");
+        doc.addField(ReleaseIndexField.LANGUAGE, "eng");
+        doc.addField(ReleaseIndexField.ARTIST_ID, "4302e264-1cf0-4d1f-aca7-2a6f89e34b36");
+        doc.addField(ReleaseIndexField.ARTIST, "Farming Incident");
+        doc.addField(ReleaseIndexField.ARTIST_NAME, "Farming Incident");
+        doc.addField(ReleaseIndexField.ARTIST_NAMECREDIT, "Farming Incident");
+        doc.addField(ReleaseIndexField.ARTIST_SORTNAME, "Incident, Farming");
+        doc.addField(ReleaseIndexField.ARTIST_JOINPHRASE, "-");
 
         //Medium 1
-        Index.addNumericFieldToDocument(doc, ReleaseIndexField.NUM_TRACKS_MEDIUM, 10);
-        Index.addNumericFieldToDocument(doc, ReleaseIndexField.NUM_DISCIDS_MEDIUM, 1);
-        Index.addFieldToDocument(doc, ReleaseIndexField.FORMAT, "Vinyl");
+        doc.addNumericField(ReleaseIndexField.NUM_TRACKS_MEDIUM, 10);
+        doc.addNumericField(ReleaseIndexField.NUM_DISCIDS_MEDIUM, 1);
+        doc.addField(ReleaseIndexField.FORMAT, "Vinyl");
         //Medium 2
-        Index.addNumericFieldToDocument(doc, ReleaseIndexField.NUM_TRACKS_MEDIUM, 7);
-        Index.addNumericFieldToDocument(doc, ReleaseIndexField.NUM_DISCIDS_MEDIUM, 2);
-        Index.addFieldToDocument(doc, ReleaseIndexField.FORMAT, "-");
-        Index.addNumericFieldToDocument(doc, ReleaseIndexField.NUM_TRACKS, 17);
-        Index.addNumericFieldToDocument(doc, ReleaseIndexField.NUM_DISCIDS, 3);
+        doc.addNumericField(ReleaseIndexField.NUM_TRACKS_MEDIUM, 7);
+        doc.addNumericField(ReleaseIndexField.NUM_DISCIDS_MEDIUM, 2);
+        doc.addField(ReleaseIndexField.FORMAT, "-");
+        doc.addNumericField(ReleaseIndexField.NUM_TRACKS, 17);
+        doc.addNumericField(ReleaseIndexField.NUM_DISCIDS, 3);
 
-        Index.addFieldToDocument(doc, ReleaseIndexField.STATUS, "Official");
-        Index.addFieldToDocument(doc, ReleaseIndexField.TYPE, "album");
-        Index.addFieldToDocument(doc, ReleaseIndexField.AMAZON_ID, "B00004Y6O9");
+        doc.addField(ReleaseIndexField.STATUS, "Official");
+        doc.addField(ReleaseIndexField.TYPE, "album");
+        doc.addField(ReleaseIndexField.AMAZON_ID, "B00004Y6O9");
 
-        Index.addFieldToDocument(doc, ReleaseIndexField.COUNTRY, "gb");
+        doc.addField(ReleaseIndexField.COUNTRY, "gb");
 
-        Index.addFieldToDocument(doc, ReleaseIndexField.DATE, "2005");
-        Index.addFieldToDocument(doc, ReleaseIndexField.BARCODE, "07599273202");
+        doc.addField(ReleaseIndexField.DATE, "2005");
+        doc.addField(ReleaseIndexField.BARCODE, "07599273202");
 
         //Multiples allowed of these
-        Index.addFieldToDocument(doc, ReleaseIndexField.CATALOG_NO, "WRATHCD25");
-        Index.addFieldToDocument(doc, ReleaseIndexField.LABEL, "Wrath Records");
+        doc.addField(ReleaseIndexField.CATALOG_NO, "WRATHCD25");
+        doc.addField(ReleaseIndexField.LABEL, "Wrath Records");
 
-        Index.addFieldToDocument(doc, ReleaseIndexField.CATALOG_NO, "LP001");
-        Index.addFieldToDocument(doc, ReleaseIndexField.LABEL, "Major Records");
+        doc.addField(ReleaseIndexField.CATALOG_NO, "LP001");
+        doc.addField(ReleaseIndexField.LABEL, "Major Records");
 
 
-        writer.addDocument(doc);
+        writer.addDocument(doc.getLuceneDocument());
 
         //Release with Multiple Artists
-        doc = new Document();
-        Index.addFieldToDocument(doc, ReleaseIndexField.RELEASE_ID, "0011c128-b1f2-300e-88cc-c33c30dce704");
-        Index.addFieldToDocument(doc, ReleaseIndexField.RELEASE, "Epics");
-        Index.addFieldToDocument(doc, ReleaseIndexField.SCRIPT, "Taml");
-        Index.addFieldToDocument(doc, ReleaseIndexField.LANGUAGE, "fra");
-        Index.addFieldToDocument(doc, ReleaseIndexField.TYPE, ReleaseGroupType.SINGLE.getName());
-        Index.addFieldToDocument(doc, ReleaseIndexField.ARTIST, "Erich Kunzel and Cincinnati Pops");
-        Index.addFieldToDocument(doc, ReleaseIndexField.ARTIST_ID, "99845d0c-f239-4051-a6b1-4b5e9f7ede0b");
-        Index.addFieldToDocument(doc, ReleaseIndexField.ARTIST_NAME, "Erich Kunzel");
-        Index.addFieldToDocument(doc, ReleaseIndexField.ARTIST_SORTNAME, "Kunzel, Eric");
-        Index.addFieldToDocument(doc, ReleaseIndexField.ARTIST_JOINPHRASE, "and");
-        Index.addFieldToDocument(doc, ReleaseIndexField.ARTIST_NAMECREDIT, "Erich Kunzel");
+        doc = new MbDocument();
+        doc.addField(ReleaseIndexField.RELEASE_ID, "0011c128-b1f2-300e-88cc-c33c30dce704");
+        doc.addField(ReleaseIndexField.RELEASE, "Epics");
+        doc.addField(ReleaseIndexField.SCRIPT, "Taml");
+        doc.addField(ReleaseIndexField.LANGUAGE, "fra");
+        doc.addField(ReleaseIndexField.TYPE, ReleaseGroupType.SINGLE.getName());
+        doc.addField(ReleaseIndexField.ARTIST, "Erich Kunzel and Cincinnati Pops");
+        doc.addField(ReleaseIndexField.ARTIST_ID, "99845d0c-f239-4051-a6b1-4b5e9f7ede0b");
+        doc.addField(ReleaseIndexField.ARTIST_NAME, "Erich Kunzel");
+        doc.addField(ReleaseIndexField.ARTIST_SORTNAME, "Kunzel, Eric");
+        doc.addField(ReleaseIndexField.ARTIST_JOINPHRASE, "and");
+        doc.addField(ReleaseIndexField.ARTIST_NAMECREDIT, "Erich Kunzel");
 
-        Index.addFieldToDocument(doc, ReleaseIndexField.ARTIST_ID, "d8fbd94c-cd06-4e8b-a559-761ad969d07e");
-        Index.addFieldToDocument(doc, ReleaseIndexField.ARTIST_NAME, "The Cincinnati Pops Orchestra");
-        Index.addFieldToDocument(doc, ReleaseIndexField.ARTIST_SORTNAME, "Cincinnati Pops Orchestra, The");
-        Index.addFieldToDocument(doc, ReleaseIndexField.ARTIST_JOINPHRASE, "-");
-        Index.addFieldToDocument(doc, ReleaseIndexField.ARTIST_NAMECREDIT, "Cincinnati Pops");
+        doc.addField(ReleaseIndexField.ARTIST_ID, "d8fbd94c-cd06-4e8b-a559-761ad969d07e");
+        doc.addField(ReleaseIndexField.ARTIST_NAME, "The Cincinnati Pops Orchestra");
+        doc.addField(ReleaseIndexField.ARTIST_SORTNAME, "Cincinnati Pops Orchestra, The");
+        doc.addField(ReleaseIndexField.ARTIST_JOINPHRASE, "-");
+        doc.addField(ReleaseIndexField.ARTIST_NAMECREDIT, "Cincinnati Pops");
 
-        Index.addNumericFieldToDocument(doc, ReleaseIndexField.NUM_TRACKS_MEDIUM, 14);
-        Index.addNumericFieldToDocument(doc, ReleaseIndexField.NUM_DISCIDS_MEDIUM, 1);
-        Index.addFieldToDocument(doc, ReleaseIndexField.STATUS, "Promotion");
-        Index.addNumericFieldToDocument(doc, ReleaseIndexField.NUM_TRACKS, 14);
-        Index.addNumericFieldToDocument(doc, ReleaseIndexField.NUM_DISCIDS, 1);
-        Index.addFieldToDocument(doc, ReleaseIndexField.FORMAT, "CD");
+        doc.addNumericField(ReleaseIndexField.NUM_TRACKS_MEDIUM, 14);
+        doc.addNumericField(ReleaseIndexField.NUM_DISCIDS_MEDIUM, 1);
+        doc.addField(ReleaseIndexField.STATUS, "Promotion");
+        doc.addNumericField(ReleaseIndexField.NUM_TRACKS, 14);
+        doc.addNumericField(ReleaseIndexField.NUM_DISCIDS, 1);
+        doc.addField(ReleaseIndexField.FORMAT, "CD");
 
-        Index.addFieldToDocument(doc, ReleaseIndexField.COUNTRY, "us");
-        Index.addFieldToDocument(doc, ReleaseIndexField.DATE, "2003-09-23");
-        writer.addDocument(doc);
+        doc.addField(ReleaseIndexField.COUNTRY, "us");
+        doc.addField(ReleaseIndexField.DATE, "2003-09-23");
+        writer.addDocument(doc.getLuceneDocument());
 
         writer.close();
         Map<ResourceType, IndexSearcher> searchers = new HashMap<ResourceType, IndexSearcher>();

Modified: search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindWorkTest.java
===================================================================
--- search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindWorkTest.java 2009-11-02 23:08:24 UTC (rev 12280)
+++ search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindWorkTest.java 2009-11-02 23:38:03 UTC (rev 12281)
@@ -1,7 +1,6 @@
 package org.musicbrainz.search.servlet;
 
 import junit.framework.TestCase;
-import org.apache.lucene.document.Document;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.store.RAMDirectory;
@@ -9,14 +8,12 @@
 import org.apache.velocity.app.Velocity;
 import org.musicbrainz.search.index.*;
 import org.musicbrainz.search.servlet.LabelSearch;
-import org.musicbrainz.search.servlet.mmd1.LabelMmd1XmlWriter;
-import org.musicbrainz.search.servlet.MbDocument;
+import org.musicbrainz.search.MbDocument;
 import org.musicbrainz.search.servlet.Result;
 import org.musicbrainz.search.servlet.Results;
 import org.musicbrainz.search.servlet.ResultsWriter;
 import org.musicbrainz.search.servlet.SearchServer;
 import org.musicbrainz.search.servlet.SearchServerServlet;
-import org.musicbrainz.search.servlet.mmd2.LabelXmlWriter;
 import org.musicbrainz.search.servlet.mmd2.WorkXmlWriter;
 import org.musicbrainz.search.analysis.PerFieldEntityAnalyzer;
 
@@ -44,18 +41,18 @@
         PerFieldAnalyzerWrapper analyzer = new PerFieldEntityAnalyzer(WorkIndexField.class);
         IndexWriter writer = new IndexWriter(ramDir, analyzer, true, IndexWriter.MaxFieldLength.LIMITED);
         {
-            Document doc = new Document();
-            Index.addFieldToDocument(doc, WorkIndexField.WORK_ID, "4ff89cf0-86af-11de-90ed-001fc6f176ff");
-            Index.addFieldToDocument(doc, WorkIndexField.WORK, "Symphony No. 5");
-            Index.addFieldToDocument(doc, WorkIndexField.ISWC,"T-101779304-1");
-            Index.addFieldToDocument(doc, WorkIndexField.ARTIST_ID, "1f9df192-a621-4f54-8850-2c5373b7eac9");
-            Index.addFieldToDocument(doc, WorkIndexField.ARTIST, "Ludwig van Beethoven");
-            Index.addFieldToDocument(doc, WorkIndexField.ARTIST_NAME, "Ludwig van Beethoven");
-            Index.addFieldToDocument(doc, WorkIndexField.ARTIST_NAMECREDIT, "Ludwig van Beethoven");
-            Index.addFieldToDocument(doc, WorkIndexField.ARTIST_SORTNAME, "Beethoven, Ludwig van");
-            Index.addFieldToDocument(doc, WorkIndexField.ARTIST_JOINPHRASE, "-");
+            MbDocument doc = new MbDocument();
+            doc.addField(WorkIndexField.WORK_ID, "4ff89cf0-86af-11de-90ed-001fc6f176ff");
+            doc.addField(WorkIndexField.WORK, "Symphony No. 5");
+            doc.addField(WorkIndexField.ISWC,"T-101779304-1");
+            doc.addField(WorkIndexField.ARTIST_ID, "1f9df192-a621-4f54-8850-2c5373b7eac9");
+            doc.addField(WorkIndexField.ARTIST, "Ludwig van Beethoven");
+            doc.addField(WorkIndexField.ARTIST_NAME, "Ludwig van Beethoven");
+            doc.addField(WorkIndexField.ARTIST_NAMECREDIT, "Ludwig van Beethoven");
+            doc.addField(WorkIndexField.ARTIST_SORTNAME, "Beethoven, Ludwig van");
+            doc.addField(WorkIndexField.ARTIST_JOINPHRASE, "-");
 
-            writer.addDocument(doc);
+            writer.addDocument(doc.getLuceneDocument());
         }
         writer.close();
         ss = new LabelSearch(new IndexSearcher(ramDir, true));


_______________________________________________
MusicBrainz-commits mailing list
MusicBrainz-commits@...
http://lists.musicbrainz.org/mailman/listinfo/musicbrainz-commits