You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by ju...@apache.org on 2011/04/05 15:22:30 UTC

svn commit: r1089030 - in /jackrabbit/trunk/jackrabbit-core/src: main/java/org/apache/jackrabbit/core/query/lucene/ main/java/org/apache/jackrabbit/core/value/ test/java/org/apache/jackrabbit/core/query/lucene/

Author: jukka
Date: Tue Apr  5 13:22:29 2011
New Revision: 1089030

URL: http://svn.apache.org/viewvc?rev=1089030&view=rev
Log:
JCR-2916: Avoid String.intern() when indexing

Patches by Alex Parvulescu

Modified:
    jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/AbstractIndex.java
    jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/IndexMigration.java
    jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/NodeIndexer.java
    jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/SearchIndex.java
    jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/InternalValue.java
    jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/lucene/ChainedTermEnumTest.java
    jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/lucene/IDFieldTest.java
    jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/lucene/IndexMigrationTest.java

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/AbstractIndex.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/AbstractIndex.java?rev=1089030&r1=1089029&r2=1089030&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/AbstractIndex.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/AbstractIndex.java Tue Apr  5 13:22:29 2011
@@ -482,13 +482,12 @@ abstract class AbstractIndex {
      * @throws IOException if the document cannot be added to the indexing
      *                     queue.
      */
-    @SuppressWarnings("unchecked")
     private Document getFinishedDocument(Document doc) throws IOException {
         if (!Util.isDocumentReady(doc)) {
             Document copy = new Document();
             // mark the document that reindexing is required
-            copy.add(new Field(FieldNames.REINDEXING_REQUIRED, "",
-                    Field.Store.NO, Field.Index.NOT_ANALYZED_NO_NORMS));
+            copy.add(new Field(FieldNames.REINDEXING_REQUIRED, false, "",
+                    Field.Store.NO, Field.Index.NOT_ANALYZED_NO_NORMS, Field.TermVector.NO));
             for (Fieldable f : doc.getFields()) {
                 Fieldable field = null;
                 Field.TermVector tv = getTermVectorParameter(f);
@@ -498,8 +497,8 @@ abstract class AbstractIndex {
                     // replace all readers with empty string reader
                     field = new Field(f.name(), new StringReader(""), tv);
                 } else if (f.stringValue() != null) {
-                    field = new Field(f.name(), f.stringValue(),
-                            stored, indexed, tv);
+                    field = new Field(f.name(), false, f.stringValue(), stored,
+                            indexed, tv);
                 } else if (f.isBinary()) {
                     field = new Field(f.name(), f.getBinaryValue(), stored);
                 }

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/IndexMigration.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/IndexMigration.java?rev=1089030&r1=1089029&r2=1089030&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/IndexMigration.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/IndexMigration.java Tue Apr  5 13:22:29 2011
@@ -159,7 +159,9 @@ public class IndexMigration {
                 for (Fieldable field : fields) {
                     String value = field.stringValue();
                     value = value.replace(oldSepChar, '[');
-                    doc.add(new Field(FieldNames.PROPERTIES, value, Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS));
+                    doc.add(new Field(FieldNames.PROPERTIES, false, value,
+                            Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS,
+                            Field.TermVector.NO));
                 }
             }
             return doc;

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/NodeIndexer.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/NodeIndexer.java?rev=1089030&r1=1089029&r2=1089030&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/NodeIndexer.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/NodeIndexer.java Tue Apr  5 13:22:29 2011
@@ -16,6 +16,19 @@
  */
 package org.apache.jackrabbit.core.query.lucene;
 
+import java.math.BigDecimal;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+import java.util.Set;
+import java.util.concurrent.Executor;
+
+import javax.jcr.NamespaceException;
+import javax.jcr.PropertyType;
+import javax.jcr.RepositoryException;
+
 import org.apache.jackrabbit.core.id.NodeId;
 import org.apache.jackrabbit.core.id.PropertyId;
 import org.apache.jackrabbit.core.state.ChildNodeEntry;
@@ -37,18 +50,6 @@ import org.apache.tika.parser.Parser;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.jcr.NamespaceException;
-import javax.jcr.PropertyType;
-import javax.jcr.RepositoryException;
-import java.math.BigDecimal;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.List;
-import java.util.Set;
-import java.util.concurrent.Executor;
-
 /**
  * Creates a lucene <code>Document</code> object from a {@link javax.jcr.Node}.
  */
@@ -217,8 +218,9 @@ public class NodeIndexer {
             // parent UUID
             if (node.getParentId() == null) {
                 // root node
-                doc.add(new Field(FieldNames.PARENT, "", Field.Store.YES,
-                        Field.Index.NOT_ANALYZED_NO_NORMS));
+                doc.add(new Field(FieldNames.PARENT, false, "",
+                        Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS,
+                        Field.TermVector.NO));
                 addNodeName(doc, "", "");
             } else if (node.getSharedSet().isEmpty()) {
                 addParentChildRelation(doc, node.getParentId());
@@ -228,8 +230,9 @@ public class NodeIndexer {
                     addParentChildRelation(doc, id);
                 }
                 // mark shareable nodes
-                doc.add(new Field(FieldNames.SHAREABLE_NODE, "",
-                        Field.Store.NO, Field.Index.NOT_ANALYZED_NO_NORMS));
+                doc.add(new Field(FieldNames.SHAREABLE_NODE, false, "",
+                        Field.Store.NO, Field.Index.NOT_ANALYZED_NO_NORMS,
+                        Field.TermVector.NO));
             }
         } catch (NoSuchItemStateException e) {
             throwRepositoryException(e);
@@ -297,7 +300,8 @@ public class NodeIndexer {
     protected void addMVPName(Document doc, Name name) {
         try {
             String propName = resolver.getJCRName(name);
-            doc.add(new Field(FieldNames.MVP, propName, Field.Store.NO, Field.Index.NOT_ANALYZED_NO_NORMS, Field.TermVector.NO));
+            doc.add(new Field(FieldNames.MVP, false, propName, Field.Store.NO,
+                    Field.Index.NOT_ANALYZED_NO_NORMS, Field.TermVector.NO));
         } catch (NamespaceException e) {
             // will never happen, prefixes are created dynamically
         }
@@ -415,7 +419,9 @@ public class NodeIndexer {
         } catch (NamespaceException e) {
             // will never happen
         }
-        doc.add(new Field(FieldNames.PROPERTIES_SET, fieldName, Field.Store.NO, Field.Index.NOT_ANALYZED_NO_NORMS));
+        doc.add(new Field(FieldNames.PROPERTIES_SET, false, fieldName,
+                Field.Store.NO, Field.Index.NOT_ANALYZED_NO_NORMS,
+                Field.TermVector.NO));
     }
 
     /**
@@ -519,7 +525,7 @@ public class NodeIndexer {
             field.setOmitNorms(true);
             return field;
         } else {
-            return new Field(FieldNames.PROPERTIES,
+            return new Field(FieldNames.PROPERTIES, false,
                     FieldNames.createNamedValue(fieldName, internalValue),
                     Field.Store.NO, Field.Index.NOT_ANALYZED_NO_NORMS,
                     Field.TermVector.NO);
@@ -611,12 +617,13 @@ public class NodeIndexer {
         String uuid = internalValue.toString();
         doc.add(createFieldWithoutNorms(fieldName, uuid,
                 weak ? PropertyType.WEAKREFERENCE : PropertyType.REFERENCE));
-        doc.add(new Field(FieldNames.PROPERTIES,
-                FieldNames.createNamedValue(fieldName, uuid),
-                Field.Store.YES, Field.Index.NO, Field.TermVector.NO));
+        doc.add(new Field(FieldNames.PROPERTIES, false, FieldNames
+                .createNamedValue(fieldName, uuid), Field.Store.YES,
+                Field.Index.NO, Field.TermVector.NO));
         if (weak) {
-            doc.add(new Field(FieldNames.WEAK_REFS, uuid, Field.Store.NO,
-                    Field.Index.NOT_ANALYZED_NO_NORMS));
+            doc.add(new Field(FieldNames.WEAK_REFS, false, uuid,
+                    Field.Store.NO, Field.Index.NOT_ANALYZED_NO_NORMS,
+                    Field.TermVector.NO));
         }
     }
 
@@ -742,10 +749,8 @@ public class NodeIndexer {
             int idx = fieldName.indexOf(':');
             fieldName = fieldName.substring(0, idx + 1)
                     + FieldNames.FULLTEXT_PREFIX + fieldName.substring(idx + 1);
-            Field f = new Field(fieldName, stringValue,
-                    Field.Store.NO,
-                    Field.Index.ANALYZED,
-                    Field.TermVector.NO);
+            Field f = new Field(fieldName, true, stringValue, Field.Store.NO,
+                    Field.Index.ANALYZED, Field.TermVector.NO);
             f.setBoost(boost);
             doc.add(f);
 
@@ -816,10 +821,10 @@ public class NodeIndexer {
             // We would be able to store the field compressed or not depending
             // on a criterion but then we could not determine later is this field
             // has been compressed or not, so we choose to store it uncompressed
-            return new Field(FieldNames.FULLTEXT, value, Field.Store.YES,
+            return new Field(FieldNames.FULLTEXT, false, value, Field.Store.YES,
                     Field.Index.ANALYZED, tv);
         } else {
-            return new Field(FieldNames.FULLTEXT, value,
+            return new Field(FieldNames.FULLTEXT, false, value,
                     Field.Store.NO, Field.Index.ANALYZED, tv);
         }
     }
@@ -924,9 +929,9 @@ public class NodeIndexer {
                              InternalValue value) {
         long length = Util.getLength(value);
         if (length != -1) {
-            doc.add(new Field(FieldNames.PROPERTY_LENGTHS,
-                    FieldNames.createNamedLength(propertyName, length),
-                    Field.Store.NO, Field.Index.NOT_ANALYZED_NO_NORMS));
+            doc.add(new Field(FieldNames.PROPERTY_LENGTHS, false, FieldNames
+                    .createNamedLength(propertyName, length), Field.Store.NO,
+                    Field.Index.NOT_ANALYZED_NO_NORMS, Field.TermVector.NO));
         }
     }
 
@@ -942,11 +947,16 @@ public class NodeIndexer {
                                String namespaceURI,
                                String localName) throws NamespaceException {
         String name = mappings.getPrefix(namespaceURI) + ":" + localName;
-        doc.add(new Field(FieldNames.LABEL, name, Field.Store.NO, Field.Index.NOT_ANALYZED_NO_NORMS));
+        doc.add(new Field(FieldNames.LABEL, false, name, Field.Store.NO,
+                Field.Index.NOT_ANALYZED_NO_NORMS, Field.TermVector.NO));
         // as of version 3, also index combination of namespace URI and local name
         if (indexFormatVersion.getVersion() >= IndexFormatVersion.V3.getVersion()) {
-            doc.add(new Field(FieldNames.NAMESPACE_URI, namespaceURI, Field.Store.NO, Field.Index.NOT_ANALYZED_NO_NORMS));
-            doc.add(new Field(FieldNames.LOCAL_NAME, localName, Field.Store.NO, Field.Index.NOT_ANALYZED_NO_NORMS));
+            doc.add(new Field(FieldNames.NAMESPACE_URI, false, namespaceURI,
+                    Field.Store.NO, Field.Index.NOT_ANALYZED_NO_NORMS,
+                    Field.TermVector.NO));
+            doc.add(new Field(FieldNames.LOCAL_NAME, false, localName,
+                    Field.Store.NO, Field.Index.NOT_ANALYZED_NO_NORMS,
+                    Field.TermVector.NO));
         }
     }
 
@@ -962,9 +972,9 @@ public class NodeIndexer {
     protected void addParentChildRelation(Document doc,
                                           NodeId parentId)
             throws ItemStateException, RepositoryException {
-        doc.add(new Field(
-                FieldNames.PARENT, parentId.toString(),
-                Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS, Field.TermVector.NO));
+        doc.add(new Field(FieldNames.PARENT, false, parentId.toString(),
+                Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS,
+                Field.TermVector.NO));
         NodeState parent = (NodeState) stateProvider.getItemState(parentId);
         ChildNodeEntry child = parent.getChildNodeEntry(node.getNodeId());
         if (child == null) {

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/SearchIndex.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/SearchIndex.java?rev=1089030&r1=1089029&r2=1089030&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/SearchIndex.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/SearchIndex.java Tue Apr  5 13:22:29 2011
@@ -1415,7 +1415,12 @@ public class SearchIndex extends Abstrac
                                 for (Fieldable fulltextField : fulltextFields) {
                                     doc.add(fulltextField);
                                 }
-                                doc.add(new Field(FieldNames.AGGREGATED_NODE_UUID, aggregate.getNodeId().toString(), Field.Store.NO, Field.Index.NOT_ANALYZED_NO_NORMS));
+                                doc.add(new Field(
+                                        FieldNames.AGGREGATED_NODE_UUID, false,
+                                        aggregate.getNodeId().toString(),
+                                        Field.Store.NO,
+                                        Field.Index.NOT_ANALYZED_NO_NORMS,
+                                        Field.TermVector.NO));
                             }
                         }
                         // make sure that fulltext fields are aligned properly
@@ -1463,8 +1468,13 @@ public class SearchIndex extends Abstrac
                                         termAttribute.setTermBuffer(value);
                                         doc.add(new Field(field.name(),
                                                 new SingletonTokenStream(value, (Payload) payloadAttribute.getPayload().clone())));
-                                        doc.add(new Field(FieldNames.AGGREGATED_NODE_UUID,
-                                                parent.getNodeId().toString(), Field.Store.NO, Field.Index.NOT_ANALYZED_NO_NORMS));
+                                        doc.add(new Field(
+                                                FieldNames.AGGREGATED_NODE_UUID,
+                                                false,
+                                                parent.getNodeId().toString(),
+                                                Field.Store.NO,
+                                                Field.Index.NOT_ANALYZED_NO_NORMS,
+                                                Field.TermVector.NO));
                                     }
                                 }
                             } finally {

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/InternalValue.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/InternalValue.java?rev=1089030&r1=1089029&r2=1089030&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/InternalValue.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/value/InternalValue.java Tue Apr  5 13:22:29 2011
@@ -56,23 +56,25 @@ import org.apache.jackrabbit.util.ISO860
  * The following table specifies the internal format for every property type:
  * <pre>
  * <table>
- * <tr><b>PropertyType</b><td></td><td><b>Internal Format</b></td></tr>
- * <tr>STRING<td></td><td>String</td></tr>
- * <tr>LONG<td></td><td>Long</td></tr>
- * <tr>DOUBLE<td></td><td>Double</td></tr>
- * <tr>DATE<td></td><td>Calendar</td></tr>
- * <tr>BOOLEAN<td></td><td>Boolean</td></tr>
- * <tr>NAME<td></td><td>Name</td></tr>
- * <tr>PATH<td></td><td>Path</td></tr>
- * <tr>URI<td></td><td>URI</td></tr>
- * <tr>DECIMAL<td></td><td>BigDecimal</td></tr>
- * <tr>BINARY<td></td><td>BLOBFileValue</td></tr>
- * <tr>REFERENCE<td></td><td>{@link NodeId}</td></tr>
+ * <tr><td><b>PropertyType</b></td><td><b>Internal Format</b></td></tr>
+ * <tr><td>STRING</td><td>String</td></tr>
+ * <tr><td>LONG</td><td>Long</td></tr>
+ * <tr><td>DOUBLE</td><td>Double</td></tr>
+ * <tr><td>DATE</td><td>Calendar</td></tr>
+ * <tr><td>BOOLEAN</td><td>Boolean</td></tr>
+ * <tr><td>NAME</td><td>Name</td></tr>
+ * <tr><td>PATH</td><td>Path</td></tr>
+ * <tr><td>URI</td><td>URI</td></tr>
+ * <tr><td>DECIMAL</td><td>BigDecimal</td></tr>
+ * <tr><td>BINARY</td><td>BLOBFileValue</td></tr>
+ * <tr><td>REFERENCE</td><td>{@link NodeId}</td></tr>
  * </table>
  * </pre>
  */
 public class InternalValue extends AbstractQValue {
 
+    private static final long serialVersionUID = -7340744360527434409L;
+
     public static final InternalValue[] EMPTY_ARRAY = new InternalValue[0];
 
     private static final InternalValue BOOLEAN_TRUE = new InternalValue(true);

Modified: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/lucene/ChainedTermEnumTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/lucene/ChainedTermEnumTest.java?rev=1089030&r1=1089029&r2=1089030&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/lucene/ChainedTermEnumTest.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/lucene/ChainedTermEnumTest.java Tue Apr  5 13:22:29 2011
@@ -65,8 +65,8 @@ public class ChainedTermEnumTest extends
                 true, IndexWriter.MaxFieldLength.UNLIMITED);
         for (int i = 0; i < numTerms; i++) {
             Document doc = new Document();
-            doc.add(new Field("field", prefix + i,
-                    Field.Store.NO, Field.Index.NOT_ANALYZED_NO_NORMS));
+            doc.add(new Field("field", true, prefix + i, Field.Store.NO,
+                    Field.Index.NOT_ANALYZED_NO_NORMS, Field.TermVector.NO));
             writer.addDocument(doc);
         }
         writer.close();

Modified: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/lucene/IDFieldTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/lucene/IDFieldTest.java?rev=1089030&r1=1089029&r2=1089030&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/lucene/IDFieldTest.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/lucene/IDFieldTest.java Tue Apr  5 13:22:29 2011
@@ -16,10 +16,11 @@
  */
 package org.apache.jackrabbit.core.query.lucene;
 
+import junit.framework.TestCase;
+
 import org.apache.jackrabbit.core.id.NodeId;
 import org.apache.lucene.document.Field;
-
-import junit.framework.TestCase;
+import org.apache.lucene.document.Field.TermVector;
 
 /**
  * <code>IDFieldTest</code>...
@@ -35,12 +36,27 @@ public class IDFieldTest extends TestCas
         time = System.currentTimeMillis() - time;
         System.out.println("IDField: " + time + " ms.");
 
-        time = System.currentTimeMillis();
+        for (int i = 0; i < 50; i++) {
+            createNodes(id.toString(), i % 2 == 0);
+        }
+    }
+
+    private void createNodes(String id, boolean useNewWay) {
+
+        long time = System.currentTimeMillis();
         for (int i = 0; i < 1000 * 1000; i++) {
-            new Field(FieldNames.UUID, id.toString(), Field.Store.YES,
-                    Field.Index.NOT_ANALYZED_NO_NORMS);
+            if (useNewWay) {
+                new Field(FieldNames.UUID, false, id, Field.Store.YES,
+                        Field.Index.NOT_ANALYZED_NO_NORMS, TermVector.NO);
+            } else {
+                new Field(FieldNames.UUID, id, Field.Store.YES,
+                        Field.Index.NOT_ANALYZED_NO_NORMS, TermVector.NO);
+            }
+
         }
         time = System.currentTimeMillis() - time;
-        System.out.println("Field: " + time + " ms.");
+        System.out.println(String.format("Field: %2s ms. new way? %b", time,
+                useNewWay));
+
     }
 }

Modified: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/lucene/IndexMigrationTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/lucene/IndexMigrationTest.java?rev=1089030&r1=1089029&r2=1089030&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/lucene/IndexMigrationTest.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/lucene/IndexMigrationTest.java Tue Apr  5 13:22:29 2011
@@ -66,9 +66,14 @@ public class IndexMigrationTest extends 
 
     protected static Document createDocument(String name, String value) {
         Document doc = new Document();
-        doc.add(new Field(FieldNames.UUID, UUID.randomUUID().toString(), Field.Store.YES, Field.Index.NO));
-        doc.add(new Field(FieldNames.PROPERTIES, createNamedValue14(name, value), Field.Store.NO, Field.Index.NOT_ANALYZED));
-        doc.add(new Field(FieldNames.FULLTEXT_PREFIX + ":" + name, value, Field.Store.NO, Field.Index.ANALYZED, Field.TermVector.WITH_POSITIONS_OFFSETS));
+        doc.add(new Field(FieldNames.UUID, false, UUID.randomUUID().toString(),
+                Field.Store.YES, Field.Index.NO, Field.TermVector.NO));
+        doc.add(new Field(FieldNames.PROPERTIES, false, createNamedValue14(
+                name, value), Field.Store.NO, Field.Index.NOT_ANALYZED,
+                Field.TermVector.NO));
+        doc.add(new Field(FieldNames.FULLTEXT_PREFIX + ":" + name, true, value,
+                Field.Store.NO, Field.Index.ANALYZED,
+                Field.TermVector.WITH_POSITIONS_OFFSETS));
         return doc;
     }
 }