You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2012/01/16 00:05:15 UTC
svn commit: r1231791 [3/4] - in /lucene/dev/trunk: lucene/
lucene/contrib/demo/src/java/org/apache/lucene/demo/
lucene/contrib/highlighter/src/test/org/apache/lucene/search/highlight/
lucene/contrib/misc/src/java/org/apache/lucene/document/ lucene/cont...
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/document/TestDocument.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/document/TestDocument.java?rev=1231791&r1=1231790&r2=1231791&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/document/TestDocument.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/document/TestDocument.java Sun Jan 15 23:05:13 2012
@@ -1,17 +1,5 @@
package org.apache.lucene.document;
-import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.IndexableField;
-import org.apache.lucene.index.RandomIndexWriter;
-import org.apache.lucene.index.Term;
-import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.ScoreDoc;
-import org.apache.lucene.search.TermQuery;
-import org.apache.lucene.store.Directory;
-import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.LuceneTestCase;
-
/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
@@ -29,6 +17,26 @@ import org.apache.lucene.util.LuceneTest
* limitations under the License.
*/
+import java.io.StringReader;
+
+import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.index.DocsAndPositionsEnum;
+import org.apache.lucene.index.Fields;
+import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.IndexableField;
+import org.apache.lucene.index.RandomIndexWriter;
+import org.apache.lucene.index.Term;
+import org.apache.lucene.index.Terms;
+import org.apache.lucene.index.TermsEnum;
+import org.apache.lucene.search.IndexSearcher;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.search.ScoreDoc;
+import org.apache.lucene.search.TermQuery;
+import org.apache.lucene.store.Directory;
+import org.apache.lucene.util.BytesRef;
+import org.apache.lucene.util.LuceneTestCase;
+
+
/**
* Tests {@link Document} class.
*/
@@ -43,8 +51,8 @@ public class TestDocument extends Lucene
FieldType ft = new FieldType();
ft.setStored(true);
IndexableField stringFld = new Field("string", binaryVal, ft);
- IndexableField binaryFld = new BinaryField("binary", binaryVal.getBytes());
- IndexableField binaryFld2 = new BinaryField("binary", binaryVal2.getBytes());
+ IndexableField binaryFld = new StoredField("binary", binaryVal.getBytes());
+ IndexableField binaryFld2 = new StoredField("binary", binaryVal2.getBytes());
doc.add(stringFld);
doc.add(binaryFld);
@@ -274,20 +282,82 @@ public class TestDocument extends Lucene
assertEquals("did not see all IDs", 7, result);
}
- public void testFieldSetValueChangeBinary() {
- Field field1 = new BinaryField("field1", new byte[0]);
- Field field2 = new Field("field2", "", TextField.TYPE_STORED);
+ // LUCENE-3616
+ public void testInvalidFields() {
try {
- field1.setValue("abc");
- fail("did not hit expected exception");
+ new Field("foo", new Tokenizer() {
+ @Override
+ public boolean incrementToken() {
+ return false;
+ }}, StringField.TYPE_STORED);
+ fail("did not hit expected exc");
} catch (IllegalArgumentException iae) {
// expected
}
- try {
- field2.setValue(new byte[0]);
- fail("did not hit expected exception");
- } catch (IllegalArgumentException iae) {
- // expected
+ }
+
+ // LUCENE-3682
+ public void testTransitionAPI() throws Exception {
+ Directory dir = newDirectory();
+ RandomIndexWriter w = new RandomIndexWriter(random, dir);
+
+ Document doc = new Document();
+ doc.add(new Field("stored", "abc", Field.Store.YES, Field.Index.NO));
+ doc.add(new Field("stored_indexed", "abc xyz", Field.Store.YES, Field.Index.NOT_ANALYZED));
+ doc.add(new Field("stored_tokenized", "abc xyz", Field.Store.YES, Field.Index.ANALYZED));
+ doc.add(new Field("indexed", "abc xyz", Field.Store.NO, Field.Index.NOT_ANALYZED));
+ doc.add(new Field("tokenized", "abc xyz", Field.Store.NO, Field.Index.ANALYZED));
+ doc.add(new Field("tokenized_reader", new StringReader("abc xyz")));
+ doc.add(new Field("tokenized_tokenstream", w.w.getAnalyzer().tokenStream("tokenized_tokenstream", new StringReader("abc xyz"))));
+ doc.add(new Field("binary", new byte[10]));
+ doc.add(new Field("tv", "abc xyz", Field.Store.NO, Field.Index.ANALYZED, Field.TermVector.YES));
+ doc.add(new Field("tv_pos", "abc xyz", Field.Store.NO, Field.Index.ANALYZED, Field.TermVector.WITH_POSITIONS));
+ doc.add(new Field("tv_off", "abc xyz", Field.Store.NO, Field.Index.ANALYZED, Field.TermVector.WITH_OFFSETS));
+ doc.add(new Field("tv_pos_off", "abc xyz", Field.Store.NO, Field.Index.ANALYZED, Field.TermVector.WITH_POSITIONS_OFFSETS));
+ w.addDocument(doc);
+ IndexReader r = w.getReader();
+ w.close();
+
+ doc = r.document(0);
+ // 4 stored fields
+ assertEquals(4, doc.getFields().size());
+ assertEquals("abc", doc.get("stored"));
+ assertEquals("abc xyz", doc.get("stored_indexed"));
+ assertEquals("abc xyz", doc.get("stored_tokenized"));
+ final BytesRef br = doc.getBinaryValue("binary");
+ assertNotNull(br);
+ assertEquals(10, br.length);
+
+ IndexSearcher s = new IndexSearcher(r);
+ assertEquals(1, s.search(new TermQuery(new Term("stored_indexed", "abc xyz")), 1).totalHits);
+ assertEquals(1, s.search(new TermQuery(new Term("stored_tokenized", "abc")), 1).totalHits);
+ assertEquals(1, s.search(new TermQuery(new Term("stored_tokenized", "xyz")), 1).totalHits);
+ assertEquals(1, s.search(new TermQuery(new Term("indexed", "abc xyz")), 1).totalHits);
+ assertEquals(1, s.search(new TermQuery(new Term("tokenized", "abc")), 1).totalHits);
+ assertEquals(1, s.search(new TermQuery(new Term("tokenized", "xyz")), 1).totalHits);
+ assertEquals(1, s.search(new TermQuery(new Term("tokenized_reader", "abc")), 1).totalHits);
+ assertEquals(1, s.search(new TermQuery(new Term("tokenized_reader", "xyz")), 1).totalHits);
+ assertEquals(1, s.search(new TermQuery(new Term("tokenized_tokenstream", "abc")), 1).totalHits);
+ assertEquals(1, s.search(new TermQuery(new Term("tokenized_tokenstream", "xyz")), 1).totalHits);
+
+ for(String field : new String[] {"tv", "tv_pos", "tv_off", "tv_pos_off"}) {
+ Fields tvFields = r.getTermVectors(0);
+ Terms tvs = tvFields.terms(field);
+ assertNotNull(tvs);
+ assertEquals(2, tvs.getUniqueTermCount());
+ TermsEnum tvsEnum = tvs.iterator(null);
+ assertEquals(new BytesRef("abc"), tvsEnum.next());
+ final DocsAndPositionsEnum dpEnum = tvsEnum.docsAndPositions(null, null);
+ if (field.equals("tv")) {
+ assertNull(dpEnum);
+ } else {
+ assertNotNull(dpEnum);
+ }
+ assertEquals(new BytesRef("xyz"), tvsEnum.next());
+ assertNull(tvsEnum.next());
}
+
+ r.close();
+ dir.close();
}
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestAddIndexes.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestAddIndexes.java?rev=1231791&r1=1231790&r2=1231791&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestAddIndexes.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestAddIndexes.java Sun Jan 15 23:05:13 2012
@@ -1256,9 +1256,7 @@ public class TestAddIndexes extends Luce
RandomIndexWriter w = new RandomIndexWriter(random, d1);
Document doc = new Document();
doc.add(newField("id", "1", StringField.TYPE_STORED));
- DocValuesField dv = new DocValuesField("dv");
- dv.setInt(1);
- doc.add(dv);
+ doc.add(new DocValuesField("dv", 1, DocValues.Type.VAR_INTS));
w.addDocument(doc);
IndexReader r1 = w.getReader();
w.close();
@@ -1267,9 +1265,7 @@ public class TestAddIndexes extends Luce
w = new RandomIndexWriter(random, d2);
doc = new Document();
doc.add(newField("id", "2", StringField.TYPE_STORED));
- dv = new DocValuesField("dv");
- dv.setInt(2);
- doc.add(dv);
+ doc.add(new DocValuesField("dv", 2, DocValues.Type.VAR_INTS));
w.addDocument(doc);
IndexReader r2 = w.getReader();
w.close();
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java?rev=1231791&r1=1231790&r2=1231791&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java Sun Jan 15 23:05:13 2012
@@ -29,8 +29,6 @@ import java.util.Map;
import java.util.Random;
import org.apache.lucene.analysis.MockAnalyzer;
-import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.codecs.FieldInfosReader;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.FieldType;
@@ -45,9 +43,7 @@ import org.apache.lucene.search.IndexSea
import org.apache.lucene.search.NumericRangeQuery;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.TermQuery;
-import org.apache.lucene.store.CompoundFileDirectory;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.IOContext;
import org.apache.lucene.store.RAMDirectory;
import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BytesRef;
@@ -544,8 +540,8 @@ public class TestBackwardsCompatibility
doc.add(new Field("content2", "here is more content with aaa aaa aaa", customType2));
doc.add(new Field("fie\u2C77ld", "field with non-ascii name", customType2));
// add numeric fields, to test if flex preserves encoding
- doc.add(new NumericField("trieInt", 4).setIntValue(id));
- doc.add(new NumericField("trieLong", 4).setLongValue(id));
+ doc.add(new NumericField("trieInt", id));
+ doc.add(new NumericField("trieLong", (long) id));
writer.addDocument(doc);
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestConsistentFieldNumbers.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestConsistentFieldNumbers.java?rev=1231791&r1=1231790&r2=1231791&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestConsistentFieldNumbers.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestConsistentFieldNumbers.java Sun Jan 15 23:05:13 2012
@@ -20,10 +20,10 @@ package org.apache.lucene.index;
import java.io.IOException;
import org.apache.lucene.analysis.MockAnalyzer;
-import org.apache.lucene.document.BinaryField;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.FieldType;
+import org.apache.lucene.document.StoredField;
import org.apache.lucene.document.StringField;
import org.apache.lucene.document.TextField;
import org.apache.lucene.store.Directory;
@@ -189,7 +189,7 @@ public class TestConsistentFieldNumbers
: NoMergePolicy.COMPOUND_FILES));
Document d = new Document();
d.add(new Field("f1", "d2 first field", TextField.TYPE_STORED));
- d.add(new BinaryField("f3", new byte[] { 1, 2, 3 }));
+ d.add(new StoredField("f3", new byte[] { 1, 2, 3 }));
writer.addDocument(d);
writer.close();
SegmentInfos sis = new SegmentInfos();
@@ -212,7 +212,7 @@ public class TestConsistentFieldNumbers
Document d = new Document();
d.add(new Field("f1", "d3 first field", TextField.TYPE_STORED));
d.add(new Field("f2", "d3 second field", TextField.TYPE_STORED));
- d.add(new BinaryField("f3", new byte[] { 1, 2, 3, 4, 5 }));
+ d.add(new StoredField("f3", new byte[] { 1, 2, 3, 4, 5 }));
writer.addDocument(d);
writer.close();
SegmentInfos sis = new SegmentInfos();
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestDocTermOrds.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestDocTermOrds.java?rev=1231791&r1=1231790&r2=1231791&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestDocTermOrds.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestDocTermOrds.java Sun Jan 15 23:05:13 2012
@@ -124,8 +124,7 @@ public class TestDocTermOrds extends Luc
for(int id=0;id<NUM_DOCS;id++) {
Document doc = new Document();
- NumericField idField = new NumericField("id");
- doc.add(idField.setIntValue(id));
+ doc.add(new NumericField("id", id));
final int termCount = _TestUtil.nextInt(random, 0, 20*RANDOM_MULTIPLIER);
while(ordsForDocSet.size() < termCount) {
@@ -221,8 +220,7 @@ public class TestDocTermOrds extends Luc
for(int id=0;id<NUM_DOCS;id++) {
Document doc = new Document();
- NumericField idField = new NumericField("id");
- doc.add(idField.setIntValue(id));
+ doc.add(new NumericField("id", id));
final int termCount = _TestUtil.nextInt(random, 0, 20*RANDOM_MULTIPLIER);
while(ordsForDocSet.size() < termCount) {
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestDocValuesIndexing.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestDocValuesIndexing.java?rev=1231791&r1=1231790&r2=1231791&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestDocValuesIndexing.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestDocValuesIndexing.java Sun Jan 15 23:05:13 2012
@@ -21,10 +21,8 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
-import java.util.Comparator;
import java.util.EnumSet;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
@@ -37,17 +35,7 @@ import org.apache.lucene.document.Field;
import org.apache.lucene.document.DocValuesField;
import org.apache.lucene.document.StringField;
import org.apache.lucene.document.TextField;
-import org.apache.lucene.index.CorruptIndexException;
-import org.apache.lucene.index.DocValues;
import org.apache.lucene.index.DocValues.SortedSource;
-import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.IndexWriter;
-import org.apache.lucene.index.IndexWriterConfig;
-import org.apache.lucene.index.LogDocMergePolicy;
-import org.apache.lucene.index.LogMergePolicy;
-import org.apache.lucene.index.MultiDocValues;
-import org.apache.lucene.index.RandomIndexWriter;
-import org.apache.lucene.index.Term;
import org.apache.lucene.index.DocValues.Source;
import org.apache.lucene.index.DocValues.Type;
import org.apache.lucene.search.*;
@@ -85,9 +73,7 @@ public class TestDocValuesIndexing exten
IndexWriter writer = new IndexWriter(dir, writerConfig(false));
for (int i = 0; i < 5; i++) {
Document doc = new Document();
- DocValuesField valuesField = new DocValuesField("docId");
- valuesField.setInt(i);
- doc.add(valuesField);
+ doc.add(new DocValuesField("docId", i, DocValues.Type.VAR_INTS));
doc.add(new TextField("docId", "" + i));
writer.addDocument(doc);
}
@@ -576,17 +562,47 @@ public class TestDocValuesIndexing exten
Type.FLOAT_32,
Type.FLOAT_64);
- private FixedBitSet indexValues(IndexWriter w, int numValues, Type value,
+ private FixedBitSet indexValues(IndexWriter w, int numValues, Type valueType,
List<Type> valueVarList, boolean withDeletions, int bytesSize)
throws CorruptIndexException, IOException {
- final boolean isNumeric = NUMERICS.contains(value);
+ final boolean isNumeric = NUMERICS.contains(valueType);
FixedBitSet deleted = new FixedBitSet(numValues);
Document doc = new Document();
- DocValuesField valField = new DocValuesField(value.name());
+ final DocValuesField valField;
+ if (isNumeric) {
+ switch (valueType) {
+ case VAR_INTS:
+ valField = new DocValuesField(valueType.name(), (long) 0, valueType);
+ break;
+ case FIXED_INTS_16:
+ valField = new DocValuesField(valueType.name(), (short) 0, valueType);
+ break;
+ case FIXED_INTS_32:
+ valField = new DocValuesField(valueType.name(), 0, valueType);
+ break;
+ case FIXED_INTS_64:
+ valField = new DocValuesField(valueType.name(), (long) 0, valueType);
+ break;
+ case FIXED_INTS_8:
+ valField = new DocValuesField(valueType.name(), (byte) 0, valueType);
+ break;
+ case FLOAT_32:
+ valField = new DocValuesField(valueType.name(), (float) 0, valueType);
+ break;
+ case FLOAT_64:
+ valField = new DocValuesField(valueType.name(), (double) 0, valueType);
+ break;
+ default:
+ valField = null;
+ fail("unhandled case");
+ }
+ } else {
+ valField = new DocValuesField(valueType.name(), new BytesRef(), valueType);
+ }
doc.add(valField);
final BytesRef bytesRef = new BytesRef();
- final String idBase = value.name() + "_";
+ final String idBase = valueType.name() + "_";
final byte[] b = new byte[bytesSize];
if (bytesRef != null) {
bytesRef.bytes = b;
@@ -596,38 +612,37 @@ public class TestDocValuesIndexing exten
byte upto = 0;
for (int i = 0; i < numValues; i++) {
if (isNumeric) {
- switch (value) {
+ switch (valueType) {
case VAR_INTS:
- valField.setInt((long)i);
+ valField.setValue((long)i);
break;
case FIXED_INTS_16:
- valField.setInt((short)i, random.nextInt(10) != 0);
+ valField.setValue((short)i);
break;
case FIXED_INTS_32:
- valField.setInt(i, random.nextInt(10) != 0);
+ valField.setValue(i);
break;
case FIXED_INTS_64:
- valField.setInt((long)i, random.nextInt(10) != 0);
+ valField.setValue((long)i);
break;
case FIXED_INTS_8:
- valField.setInt((byte)(0xFF & (i % 128)), random.nextInt(10) != 0);
+ valField.setValue((byte)(0xFF & (i % 128)));
break;
case FLOAT_32:
- valField.setFloat(2.0f * i);
+ valField.setValue(2.0f * i);
break;
case FLOAT_64:
- valField.setFloat(2.0d * i);
+ valField.setValue(2.0d * i);
break;
-
default:
- fail("unexpected value " + value);
+ fail("unexpected value " + valueType);
}
} else {
for (int j = 0; j < b.length; j++) {
b[j] = upto++;
}
if (bytesRef != null) {
- valField.setBytes(bytesRef, value);
+ valField.setValue(bytesRef);
}
}
doc.removeFields("id");
@@ -637,11 +652,11 @@ public class TestDocValuesIndexing exten
if (i % 7 == 0) {
if (withDeletions && random.nextBoolean()) {
Type val = valueVarList.get(random.nextInt(1 + valueVarList
- .indexOf(value)));
- final int randInt = val == value ? random.nextInt(1 + i) : random
+ .indexOf(valueType)));
+ final int randInt = val == valueType ? random.nextInt(1 + i) : random
.nextInt(numValues);
w.deleteDocuments(new Term("id", val.name() + "_" + randInt));
- if (val == value) {
+ if (val == valueType) {
deleted.set(randInt);
}
}
@@ -663,8 +678,7 @@ public class TestDocValuesIndexing exten
Directory d = newDirectory();
RandomIndexWriter w = new RandomIndexWriter(random, d);
Document doc = new Document();
- DocValuesField f = new DocValuesField("field");
- f.setInt(17);
+ DocValuesField f = new DocValuesField("field", 17, Type.VAR_INTS);
// Index doc values are single-valued so we should not
// be able to add same field more than once:
doc.add(f);
@@ -691,14 +705,11 @@ public class TestDocValuesIndexing exten
Directory d = newDirectory();
RandomIndexWriter w = new RandomIndexWriter(random, d);
Document doc = new Document();
- DocValuesField f = new DocValuesField("field");
- f.setInt(17);
// Index doc values are single-valued so we should not
// be able to add same field more than once:
- doc.add(f);
- DocValuesField f2 = new DocValuesField("field");
- f2.setFloat(22.0);
- doc.add(f2);
+ Field f;
+ doc.add(f = new DocValuesField("field", 17, Type.VAR_INTS));
+ doc.add(new DocValuesField("field", 22.0, Type.FLOAT_32));
try {
w.addDocument(doc);
fail("didn't hit expected exception");
@@ -725,7 +736,6 @@ public class TestDocValuesIndexing exten
IndexWriterConfig cfg = newIndexWriterConfig(TEST_VERSION_CURRENT,
new MockAnalyzer(random));
IndexWriter w = new IndexWriter(d, cfg);
- Comparator<BytesRef> comp = BytesRef.getUTF8SortedAsUnicodeComparator();
int numDocs = atLeast(100);
BytesRefHash hash = new BytesRefHash();
Map<String, String> docToString = new HashMap<String, String>();
@@ -733,14 +743,12 @@ public class TestDocValuesIndexing exten
for (int i = 0; i < numDocs; i++) {
Document doc = new Document();
doc.add(newField("id", "" + i, TextField.TYPE_STORED));
- DocValuesField f = new DocValuesField("field");
String string =fixed ? _TestUtil.randomFixedByteLengthUnicodeString(random,
len) : _TestUtil.randomRealisticUnicodeString(random, 1, len);
- hash.add(new BytesRef(string));
+ BytesRef br = new BytesRef(string);
+ doc.add(new DocValuesField("field", br, type));
+ hash.add(br);
docToString.put("" + i, string);
-
- f.setBytes(new BytesRef(string), type, comp);
- doc.add(f);
w.addDocument(doc);
}
if (rarely()) {
@@ -763,13 +771,12 @@ public class TestDocValuesIndexing exten
Document doc = new Document();
String id = "" + i + numDocs;
doc.add(newField("id", id, TextField.TYPE_STORED));
- DocValuesField f = new DocValuesField("field");
String string = fixed ? _TestUtil.randomFixedByteLengthUnicodeString(random,
len) : _TestUtil.randomRealisticUnicodeString(random, 1, len);
- hash.add(new BytesRef(string));
+ BytesRef br = new BytesRef(string);
+ hash.add(br);
docToString.put(id, string);
- f.setBytes(new BytesRef(string), type, comp);
- doc.add(f);
+ doc.add( new DocValuesField("field", br, type));
w.addDocument(doc);
}
w.commit();
@@ -777,7 +784,7 @@ public class TestDocValuesIndexing exten
DocValues docValues = MultiDocValues.getDocValues(reader, "field");
Source source = getSource(docValues);
SortedSource asSortedSource = source.asSortedSource();
- int[] sort = hash.sort(comp);
+ int[] sort = hash.sort(BytesRef.getUTF8SortedAsUnicodeComparator());
BytesRef expected = new BytesRef();
BytesRef actual = new BytesRef();
assertEquals(hash.size(), asSortedSource.getValueCount());
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestDuelingCodecs.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestDuelingCodecs.java?rev=1231791&r1=1231790&r2=1231791&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestDuelingCodecs.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestDuelingCodecs.java Sun Jan 15 23:05:13 2012
@@ -500,8 +500,6 @@ public class TestDuelingCodecs extends L
assertEquals(info, leftField.binaryValue(), rightField.binaryValue());
assertEquals(info, leftField.stringValue(), rightField.stringValue());
assertEquals(info, leftField.numericValue(), rightField.numericValue());
- assertEquals(info, leftField.numeric(), rightField.numeric());
- assertEquals(info, leftField.numericDataType(), rightField.numericDataType());
// TODO: should we check the FT at all?
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestFieldsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestFieldsReader.java?rev=1231791&r1=1231790&r2=1231791&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestFieldsReader.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestFieldsReader.java Sun Jan 15 23:05:13 2012
@@ -27,6 +27,7 @@ import org.apache.lucene.document.Docume
import org.apache.lucene.document.Field;
import org.apache.lucene.document.FieldType;
import org.apache.lucene.document.NumericField;
+import org.apache.lucene.document.StoredField;
import org.apache.lucene.document.StringField;
import org.apache.lucene.index.FieldInfo.IndexOptions;
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
@@ -237,40 +238,42 @@ public class TestFieldsReader extends Lu
final NumericField.DataType[] typeAnswers = new NumericField.DataType[numDocs];
for(int id=0;id<numDocs;id++) {
Document doc = new Document();
- NumericField nf = new NumericField("nf", NumericField.TYPE_STORED);
- doc.add(nf);
+ final NumericField nf;
final Number answer;
final NumericField.DataType typeAnswer;
if (random.nextBoolean()) {
// float/double
if (random.nextBoolean()) {
final float f = random.nextFloat();
- nf.setFloatValue(f);
answer = Float.valueOf(f);
+ nf = new NumericField("nf", answer, NumericField.getFieldType(NumericField.DataType.FLOAT, true));
typeAnswer = NumericField.DataType.FLOAT;
} else {
final double d = random.nextDouble();
- nf.setDoubleValue(d);
answer = Double.valueOf(d);
+ nf = new NumericField("nf", answer, NumericField.getFieldType(NumericField.DataType.DOUBLE, true));
typeAnswer = NumericField.DataType.DOUBLE;
}
} else {
// int/long
if (random.nextBoolean()) {
final int i = random.nextInt();
- nf.setIntValue(i);
answer = Integer.valueOf(i);
+ nf = new NumericField("nf", answer, NumericField.getFieldType(NumericField.DataType.INT, true));
typeAnswer = NumericField.DataType.INT;
} else {
final long l = random.nextLong();
- nf.setLongValue(l);
answer = Long.valueOf(l);
+ nf = new NumericField("nf", answer, NumericField.getFieldType(NumericField.DataType.LONG, true));
typeAnswer = NumericField.DataType.LONG;
}
}
+ doc.add(nf);
answers[id] = answer;
typeAnswers[id] = typeAnswer;
- doc.add(new NumericField("id", Integer.MAX_VALUE).setIntValue(id));
+ FieldType ft = new FieldType(NumericField.getFieldType(NumericField.DataType.INT, false));
+ ft.setNumericPrecisionStep(Integer.MAX_VALUE);
+ doc.add(new NumericField("id", id, ft));
w.addDocument(doc);
}
final IndexReader r = w.getReader();
@@ -283,10 +286,8 @@ public class TestFieldsReader extends Lu
for(int docID=0;docID<sub.numDocs();docID++) {
final Document doc = sub.document(docID);
final Field f = (Field) doc.getField("nf");
- assertTrue("got f=" + f, f instanceof NumericField);
- final NumericField nf = (NumericField) f;
- assertEquals(answers[ids[docID]], nf.numericValue());
- assertSame(typeAnswers[ids[docID]], nf.numericDataType());
+ assertTrue("got f=" + f, f instanceof StoredField);
+ assertEquals(answers[ids[docID]], f.numericValue());
}
}
r.close();
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReader.java?rev=1231791&r1=1231790&r2=1231791&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReader.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReader.java Sun Jan 15 23:05:13 2012
@@ -30,10 +30,10 @@ import java.util.Set;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.codecs.lucene40.Lucene40PostingsFormat;
-import org.apache.lucene.document.BinaryField;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.FieldType;
+import org.apache.lucene.document.StoredField;
import org.apache.lucene.document.StringField;
import org.apache.lucene.document.TextField;
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
@@ -297,7 +297,7 @@ public class TestIndexReader extends Luc
writer.close();
writer = new IndexWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random)).setOpenMode(OpenMode.APPEND).setMergePolicy(newLogMergePolicy()));
Document doc = new Document();
- doc.add(new BinaryField("bin1", bin));
+ doc.add(new StoredField("bin1", bin));
doc.add(new TextField("junk", "junk text"));
writer.addDocument(doc);
writer.close();
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java?rev=1231791&r1=1231790&r2=1231791&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java Sun Jan 15 23:05:13 2012
@@ -21,15 +21,10 @@ import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
-import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
-import java.util.Map;
-import java.util.Random;
import java.util.Set;
import org.apache.lucene.analysis.*;
@@ -37,10 +32,10 @@ import org.apache.lucene.analysis.tokena
import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
import org.apache.lucene.codecs.Codec;
import org.apache.lucene.codecs.simpletext.SimpleTextCodec;
-import org.apache.lucene.document.BinaryField;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.FieldType;
+import org.apache.lucene.document.StoredField;
import org.apache.lucene.document.StringField;
import org.apache.lucene.document.TextField;
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
@@ -51,7 +46,6 @@ import org.apache.lucene.search.PhraseQu
import org.apache.lucene.search.Query;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.TermQuery;
-import org.apache.lucene.search.TopDocs;
import org.apache.lucene.search.spans.SpanTermQuery;
import org.apache.lucene.store.AlreadyClosedException;
import org.apache.lucene.store.Directory;
@@ -927,7 +921,7 @@ public class TestIndexWriter extends Luc
b[i] = (byte) (i+77);
Document doc = new Document();
- Field f = new BinaryField("binary", b, 10, 17);
+ Field f = new StoredField("binary", b, 10, 17);
byte[] bx = f.binaryValue().bytes;
assertTrue(bx != null);
assertEquals(50, bx.length);
@@ -1183,11 +1177,11 @@ public class TestIndexWriter extends Luc
Document doc = new Document();
- FieldType customType = new FieldType(BinaryField.TYPE_STORED);
+ FieldType customType = new FieldType(StoredField.TYPE);
customType.setTokenized(true);
- customType.setIndexed(true);
Field f = new Field("binary", b, 10, 17, customType);
+ customType.setIndexed(true);
f.setTokenStream(new MockTokenizer(new StringReader("doc1field1"), MockTokenizer.WHITESPACE, false));
FieldType customType2 = new FieldType(TextField.TYPE_STORED);
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexableField.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexableField.java?rev=1231791&r1=1231790&r2=1231791&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexableField.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexableField.java Sun Jan 15 23:05:13 2012
@@ -25,14 +25,10 @@ import java.util.Iterator;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.document.Document;
-import org.apache.lucene.document.NumericField.DataType;
-import org.apache.lucene.document.NumericField;
import org.apache.lucene.document.StringField;
-import org.apache.lucene.index.DocValues;
import org.apache.lucene.search.BooleanClause;
import org.apache.lucene.search.BooleanQuery;
import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.NumericRangeQuery;
import org.apache.lucene.search.TermQuery;
import org.apache.lucene.search.TopDocs;
import org.apache.lucene.store.Directory;
@@ -85,6 +81,11 @@ public class TestIndexableField extends
public FieldInfo.IndexOptions indexOptions() {
return FieldInfo.IndexOptions.DOCS_AND_FREQS_AND_POSITIONS;
}
+
+ @Override
+ public DocValues.Type docValueType() {
+ return null;
+ }
};
public MyField(int counter) {
@@ -117,7 +118,7 @@ public class TestIndexableField extends
@Override
public String stringValue() {
final int fieldID = counter%10;
- if (fieldID != 3 && fieldID != 7 && fieldID != 9) {
+ if (fieldID != 3 && fieldID != 7) {
return "text " + counter;
} else {
return null;
@@ -133,20 +134,9 @@ public class TestIndexableField extends
}
}
- // Numeric field:
- @Override
- public boolean numeric() {
- return counter%10 == 9;
- }
-
- @Override
- public DataType numericDataType() {
- return DataType.INT;
- }
-
@Override
public Number numericValue() {
- return counter;
+ return null;
}
@Override
@@ -154,24 +144,10 @@ public class TestIndexableField extends
return fieldType;
}
- // TODO: randomly enable doc values
- @Override
- public DocValue docValue() {
- return null;
- }
-
- @Override
- public DocValues.Type docValueType() {
- return null;
- }
-
@Override
public TokenStream tokenStream(Analyzer analyzer) throws IOException {
- if (numeric()) {
- return new NumericField(name()).setIntValue(counter).tokenStream(analyzer);
- }
return readerValue() != null ? analyzer.tokenStream(name(), readerValue()) :
- analyzer.tokenStream(name(), new StringReader(stringValue()));
+ analyzer.tokenStream(name(), new StringReader(stringValue()));
}
}
@@ -253,7 +229,6 @@ public class TestIndexableField extends
final boolean stored = (counter&1) == 0 || fieldID == 3;
final boolean binary = fieldID == 3;
final boolean indexed = fieldID != 3;
- final boolean numeric = fieldID == 9;
final String stringValue;
if (fieldID != 3 && fieldID != 9) {
@@ -274,11 +249,6 @@ public class TestIndexableField extends
for(int idx=0;idx<10;idx++) {
assertEquals((byte) (idx+counter), b.bytes[b.offset+idx]);
}
- } else if (numeric) {
- assertTrue(f instanceof NumericField);
- final NumericField nf = (NumericField) f;
- assertEquals(NumericField.DataType.INT, nf.numericDataType());
- assertEquals(counter, nf.numericValue().intValue());
} else {
assert stringValue != null;
assertEquals(stringValue, f.stringValue());
@@ -314,26 +284,19 @@ public class TestIndexableField extends
assertTrue(vectors == null || vectors.terms(name) == null);
}
- if (numeric) {
- NumericRangeQuery nrq = NumericRangeQuery.newIntRange(name, counter, counter, true, true);
- final TopDocs hits2 = s.search(nrq, 1);
- assertEquals(1, hits2.totalHits);
- assertEquals(docID, hits2.scoreDocs[0].doc);
- } else {
- BooleanQuery bq = new BooleanQuery();
- bq.add(new TermQuery(new Term("id", ""+id)), BooleanClause.Occur.MUST);
- bq.add(new TermQuery(new Term(name, "text")), BooleanClause.Occur.MUST);
- final TopDocs hits2 = s.search(bq, 1);
- assertEquals(1, hits2.totalHits);
- assertEquals(docID, hits2.scoreDocs[0].doc);
-
- bq = new BooleanQuery();
- bq.add(new TermQuery(new Term("id", ""+id)), BooleanClause.Occur.MUST);
- bq.add(new TermQuery(new Term(name, ""+counter)), BooleanClause.Occur.MUST);
- final TopDocs hits3 = s.search(bq, 1);
- assertEquals(1, hits3.totalHits);
- assertEquals(docID, hits3.scoreDocs[0].doc);
- }
+ BooleanQuery bq = new BooleanQuery();
+ bq.add(new TermQuery(new Term("id", ""+id)), BooleanClause.Occur.MUST);
+ bq.add(new TermQuery(new Term(name, "text")), BooleanClause.Occur.MUST);
+ final TopDocs hits2 = s.search(bq, 1);
+ assertEquals(1, hits2.totalHits);
+ assertEquals(docID, hits2.scoreDocs[0].doc);
+
+ bq = new BooleanQuery();
+ bq.add(new TermQuery(new Term("id", ""+id)), BooleanClause.Occur.MUST);
+ bq.add(new TermQuery(new Term(name, ""+counter)), BooleanClause.Occur.MUST);
+ final TopDocs hits3 = s.search(bq, 1);
+ assertEquals(1, hits3.totalHits);
+ assertEquals(docID, hits3.scoreDocs[0].doc);
}
counter++;
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestTermsEnum.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestTermsEnum.java?rev=1231791&r1=1231790&r2=1231791&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestTermsEnum.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestTermsEnum.java Sun Jan 15 23:05:13 2012
@@ -164,7 +164,7 @@ public class TestTermsEnum extends Lucen
private void addDoc(RandomIndexWriter w, Collection<String> terms, Map<BytesRef,Integer> termToID, int id) throws IOException {
Document doc = new Document();
- doc.add(new NumericField("id").setIntValue(id));
+ doc.add(new NumericField("id", id));
if (VERBOSE) {
System.out.println("TEST: addDoc id:" + id + " terms=" + terms);
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestTypePromotion.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestTypePromotion.java?rev=1231791&r1=1231790&r2=1231791&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestTypePromotion.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestTypePromotion.java Sun Jan 15 23:05:13 2012
@@ -1,5 +1,22 @@
package org.apache.lucene.index;
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with this
+ * work for additional information regarding copyright ownership. The ASF
+ * licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
import java.io.IOException;
import java.util.EnumSet;
import java.util.Random;
@@ -11,37 +28,14 @@ import org.apache.lucene.document.Docume
import org.apache.lucene.document.Field;
import org.apache.lucene.document.DocValuesField;
import org.apache.lucene.document.TextField;
-import org.apache.lucene.index.CorruptIndexException;
-import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexReader.ReaderContext;
-import org.apache.lucene.index.DocValues;
import org.apache.lucene.index.DocValues.Source;
import org.apache.lucene.index.DocValues.Type;
-import org.apache.lucene.index.IndexWriter;
-import org.apache.lucene.index.IndexWriterConfig;
-import org.apache.lucene.index.NoMergePolicy;
-import org.apache.lucene.index.SlowMultiReaderWrapper;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.LuceneTestCase;
import org.junit.Before;
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with this
- * work for additional information regarding copyright ownership. The ASF
- * licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
public class TestTypePromotion extends LuceneTestCase {
@Before
public void setUp() throws Exception {
@@ -81,11 +75,11 @@ public class TestTypePromotion extends L
int num_2 = atLeast(200);
int num_3 = atLeast(200);
long[] values = new long[num_1 + num_2 + num_3];
- index(writer, new DocValuesField("promote"),
+ index(writer,
randomValueType(types, random), values, 0, num_1);
writer.commit();
- index(writer, new DocValuesField("promote"),
+ index(writer,
randomValueType(types, random), values, num_1, num_2);
writer.commit();
@@ -96,7 +90,7 @@ public class TestTypePromotion extends L
Directory dir_2 = newDirectory() ;
IndexWriter writer_2 = new IndexWriter(dir_2,
newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random)));
- index(writer_2, new DocValuesField("promote"),
+ index(writer_2,
randomValueType(types, random), values, num_1 + num_2, num_3);
writer_2.commit();
writer_2.close();
@@ -110,7 +104,7 @@ public class TestTypePromotion extends L
}
dir_2.close();
} else {
- index(writer, new DocValuesField("promote"),
+ index(writer,
randomValueType(types, random), values, num_1 + num_2, num_3);
}
@@ -172,9 +166,45 @@ public class TestTypePromotion extends L
reader.close();
}
- public void index(IndexWriter writer, DocValuesField valField,
+ public void index(IndexWriter writer,
Type valueType, long[] values, int offset, int num)
throws CorruptIndexException, IOException {
+ final DocValuesField valField;
+ switch (valueType) {
+ case FIXED_INTS_8:
+ valField = new DocValuesField("promote", (byte) 0, valueType);
+ break;
+ case FIXED_INTS_16:
+ valField = new DocValuesField("promote", (short) 0, valueType);
+ break;
+ case FIXED_INTS_32:
+ valField = new DocValuesField("promote", 0, valueType);
+ break;
+ case VAR_INTS:
+ valField = new DocValuesField("promote", 0L, valueType);
+ break;
+ case FIXED_INTS_64:
+ valField = new DocValuesField("promote", (long) 0, valueType);
+ break;
+ case FLOAT_64:
+ valField = new DocValuesField("promote", (double) 0, valueType);
+ break;
+ case FLOAT_32:
+ valField = new DocValuesField("promote", (float) 0, valueType);
+ break;
+ case BYTES_FIXED_DEREF:
+ case BYTES_FIXED_SORTED:
+ case BYTES_FIXED_STRAIGHT:
+ case BYTES_VAR_DEREF:
+ case BYTES_VAR_SORTED:
+ case BYTES_VAR_STRAIGHT:
+ valField = new DocValuesField("promote", new BytesRef(), valueType);
+ break;
+ default:
+ fail("unexpected value " + valueType);
+ valField = null;
+ }
+
BytesRef ref = new BytesRef(new byte[] { 1, 2, 3, 4 });
for (int i = offset; i < offset + num; i++) {
Document doc = new Document();
@@ -182,40 +212,40 @@ public class TestTypePromotion extends L
switch (valueType) {
case VAR_INTS:
values[i] = random.nextInt();
- valField.setInt(values[i]);
+ valField.setValue(values[i]);
break;
case FIXED_INTS_16:
values[i] = random.nextInt(Short.MAX_VALUE);
- valField.setInt((short) values[i], true);
+ valField.setValue((short) values[i]);
break;
case FIXED_INTS_32:
values[i] = random.nextInt();
- valField.setInt((int) values[i], true);
+ valField.setValue((int) values[i]);
break;
case FIXED_INTS_64:
values[i] = random.nextLong();
- valField.setInt(values[i], true);
+ valField.setValue(values[i]);
break;
case FLOAT_64:
double nextDouble = random.nextDouble();
values[i] = Double.doubleToRawLongBits(nextDouble);
- valField.setFloat(nextDouble);
+ valField.setValue(nextDouble);
break;
case FLOAT_32:
final float nextFloat = random.nextFloat();
values[i] = Double.doubleToRawLongBits(nextFloat);
- valField.setFloat(nextFloat);
+ valField.setValue(nextFloat);
break;
case FIXED_INTS_8:
- values[i] = (byte) i;
- valField.setInt((byte)values[i], true);
+ values[i] = (byte) i;
+ valField.setValue((byte)values[i]);
break;
case BYTES_FIXED_DEREF:
case BYTES_FIXED_SORTED:
case BYTES_FIXED_STRAIGHT:
values[i] = random.nextLong();
BytesRefUtils.copyLong(ref, values[i]);
- valField.setBytes(ref, valueType);
+ valField.setValue(ref);
break;
case BYTES_VAR_DEREF:
case BYTES_VAR_SORTED:
@@ -227,12 +257,11 @@ public class TestTypePromotion extends L
BytesRefUtils.copyLong(ref, random.nextLong());
values[i] = BytesRefUtils.asLong(ref);
}
- valField.setBytes(ref, valueType);
+ valField.setValue(ref);
break;
default:
fail("unexpected value " + valueType);
-
}
doc.add(valField);
writer.addDocument(doc);
@@ -267,7 +296,7 @@ public class TestTypePromotion extends L
int num_1 = atLeast(200);
int num_2 = atLeast(200);
long[] values = new long[num_1 + num_2];
- index(writer, new DocValuesField("promote"),
+ index(writer,
randomValueType(INTEGERS, random), values, 0, num_1);
writer.commit();
@@ -275,8 +304,8 @@ public class TestTypePromotion extends L
// once in a while use addIndexes
Directory dir_2 = newDirectory() ;
IndexWriter writer_2 = new IndexWriter(dir_2,
- newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random)));
- index(writer_2, new DocValuesField("promote"),
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random)));
+ index(writer_2,
randomValueType(random.nextBoolean() ? UNSORTED_BYTES : SORTED_BYTES, random), values, num_1, num_2);
writer_2.commit();
writer_2.close();
@@ -290,7 +319,7 @@ public class TestTypePromotion extends L
}
dir_2.close();
} else {
- index(writer, new DocValuesField("promote"),
+ index(writer,
randomValueType(random.nextBoolean() ? UNSORTED_BYTES : SORTED_BYTES, random), values, num_1, num_2);
writer.commit();
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestDocValuesScoring.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestDocValuesScoring.java?rev=1231791&r1=1231790&r2=1231791&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestDocValuesScoring.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestDocValuesScoring.java Sun Jan 15 23:05:13 2012
@@ -20,16 +20,17 @@ package org.apache.lucene.search;
import java.io.IOException;
import org.apache.lucene.codecs.Codec;
+import org.apache.lucene.document.DocValuesField;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
-import org.apache.lucene.document.DocValuesField;
import org.apache.lucene.document.TextField;
+import org.apache.lucene.index.DocValues.Source;
+import org.apache.lucene.index.DocValues;
import org.apache.lucene.index.FieldInvertState;
+import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.Term;
-import org.apache.lucene.index.DocValues.Source;
-import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.search.similarities.Similarity;
import org.apache.lucene.search.similarities.SimilarityProvider;
import org.apache.lucene.store.Directory;
@@ -54,18 +55,18 @@ public class TestDocValuesScoring extend
Document doc = new Document();
Field field = newField("foo", "", TextField.TYPE_UNSTORED);
doc.add(field);
- DocValuesField dvField = new DocValuesField("foo_boost");
+ DocValuesField dvField = new DocValuesField("foo_boost", 0.0f, DocValues.Type.FLOAT_32);
doc.add(dvField);
Field field2 = newField("bar", "", TextField.TYPE_UNSTORED);
doc.add(field2);
field.setValue("quick brown fox");
field2.setValue("quick brown fox");
- dvField.setFloat(2f); // boost x2
+ dvField.setValue(2f); // boost x2
iw.addDocument(doc);
field.setValue("jumps over lazy brown dog");
field2.setValue("jumps over lazy brown dog");
- dvField.setFloat(4f); // boost x4
+ dvField.setValue(4f); // boost x4
iw.addDocument(doc);
IndexReader ir = iw.getReader();
iw.close();
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFieldCache.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFieldCache.java?rev=1231791&r1=1231790&r2=1231791&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFieldCache.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFieldCache.java Sun Jan 15 23:05:13 2012
@@ -78,7 +78,7 @@ public class TestFieldCache extends Luce
}
if (i%2 == 0) {
- doc.add(new NumericField("numInt").setIntValue(i));
+ doc.add(new NumericField("numInt", i));
}
// sometimes skip the field:
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiValuedNumericRangeQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiValuedNumericRangeQuery.java?rev=1231791&r1=1231790&r2=1231791&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiValuedNumericRangeQuery.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiValuedNumericRangeQuery.java Sun Jan 15 23:05:13 2012
@@ -52,7 +52,7 @@ public class TestMultiValuedNumericRange
for (int m=0, c=random.nextInt(10); m<=c; m++) {
int value = random.nextInt(Integer.MAX_VALUE);
doc.add(newField("asc", format.format(value), StringField.TYPE_UNSTORED));
- doc.add(new NumericField("trie").setIntValue(value));
+ doc.add(new NumericField("trie", value));
}
writer.addDocument(doc);
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery32.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery32.java?rev=1231791&r1=1231790&r2=1231791&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery32.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery32.java Sun Jan 15 23:05:13 2012
@@ -19,9 +19,10 @@ package org.apache.lucene.search;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
+import org.apache.lucene.document.FieldType;
import org.apache.lucene.document.NumericField;
-import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexReader.AtomicReaderContext;
+import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.MultiFields;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.SlowMultiReaderWrapper;
@@ -58,15 +59,40 @@ public class TestNumericRangeQuery32 ext
newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random))
.setMaxBufferedDocs(_TestUtil.nextInt(random, 100, 1000))
.setMergePolicy(newLogMergePolicy()));
-
+
+ final FieldType storedInt = NumericField.getFieldType(NumericField.DataType.INT, true);
+
+ final FieldType storedInt8 = new FieldType(storedInt);
+ storedInt8.setNumericPrecisionStep(8);
+
+ final FieldType storedInt4 = new FieldType(storedInt);
+ storedInt4.setNumericPrecisionStep(4);
+
+ final FieldType storedInt2 = new FieldType(storedInt);
+ storedInt2.setNumericPrecisionStep(2);
+
+ final FieldType storedIntNone = new FieldType(storedInt);
+ storedIntNone.setNumericPrecisionStep(Integer.MAX_VALUE);
+
+ final FieldType unstoredInt = NumericField.getFieldType(NumericField.DataType.INT, false);
+
+ final FieldType unstoredInt8 = new FieldType(unstoredInt);
+ unstoredInt8.setNumericPrecisionStep(8);
+
+ final FieldType unstoredInt4 = new FieldType(unstoredInt);
+ unstoredInt4.setNumericPrecisionStep(4);
+
+ final FieldType unstoredInt2 = new FieldType(unstoredInt);
+ unstoredInt2.setNumericPrecisionStep(2);
+
NumericField
- field8 = new NumericField("field8", 8, NumericField.TYPE_STORED),
- field4 = new NumericField("field4", 4, NumericField.TYPE_STORED),
- field2 = new NumericField("field2", 2, NumericField.TYPE_STORED),
- fieldNoTrie = new NumericField("field"+Integer.MAX_VALUE, Integer.MAX_VALUE, rarely() ? NumericField.TYPE_STORED : NumericField.TYPE_UNSTORED),
- ascfield8 = new NumericField("ascfield8", 8, NumericField.TYPE_UNSTORED),
- ascfield4 = new NumericField("ascfield4", 4, NumericField.TYPE_UNSTORED),
- ascfield2 = new NumericField("ascfield2", 2, NumericField.TYPE_UNSTORED);
+ field8 = new NumericField("field8", 0, storedInt8),
+ field4 = new NumericField("field4", 0, storedInt4),
+ field2 = new NumericField("field2", 0, storedInt2),
+ fieldNoTrie = new NumericField("field"+Integer.MAX_VALUE, 0, storedIntNone),
+ ascfield8 = new NumericField("ascfield8", 0, unstoredInt8),
+ ascfield4 = new NumericField("ascfield4", 0, unstoredInt4),
+ ascfield2 = new NumericField("ascfield2", 0, unstoredInt2);
Document doc = new Document();
// add fields, that have a distance to test general functionality
@@ -77,15 +103,15 @@ public class TestNumericRangeQuery32 ext
// Add a series of noDocs docs with increasing int values
for (int l=0; l<noDocs; l++) {
int val=distance*l+startOffset;
- field8.setIntValue(val);
- field4.setIntValue(val);
- field2.setIntValue(val);
- fieldNoTrie.setIntValue(val);
+ field8.setValue(val);
+ field4.setValue(val);
+ field2.setValue(val);
+ fieldNoTrie.setValue(val);
val=l-(noDocs/2);
- ascfield8.setIntValue(val);
- ascfield4.setIntValue(val);
- ascfield2.setIntValue(val);
+ ascfield8.setValue(val);
+ ascfield4.setValue(val);
+ ascfield2.setValue(val);
writer.addDocument(doc);
}
@@ -143,9 +169,9 @@ public class TestNumericRangeQuery32 ext
assertNotNull(sd);
assertEquals("Score doc count"+type, count, sd.length );
Document doc=searcher.doc(sd[0].doc);
- assertEquals("First doc"+type, 2*distance+startOffset, Integer.parseInt(doc.get(field)) );
+ assertEquals("First doc"+type, 2*distance+startOffset, doc.getField(field).numericValue().intValue());
doc=searcher.doc(sd[sd.length-1].doc);
- assertEquals("Last doc"+type, (1+count)*distance+startOffset, Integer.parseInt(doc.get(field)) );
+ assertEquals("Last doc"+type, (1+count)*distance+startOffset, doc.getField(field).numericValue().intValue());
}
}
@@ -197,9 +223,9 @@ public class TestNumericRangeQuery32 ext
assertNotNull(sd);
assertEquals("Score doc count", count, sd.length );
Document doc=searcher.doc(sd[0].doc);
- assertEquals("First doc", startOffset, Integer.parseInt(doc.get(field)) );
+ assertEquals("First doc", startOffset, doc.getField(field).numericValue().intValue());
doc=searcher.doc(sd[sd.length-1].doc);
- assertEquals("Last doc", (count-1)*distance+startOffset, Integer.parseInt(doc.get(field)) );
+ assertEquals("Last doc", (count-1)*distance+startOffset, doc.getField(field).numericValue().intValue());
q=NumericRangeQuery.newIntRange(field, precisionStep, null, upper, false, true);
topDocs = searcher.search(q, null, noDocs, Sort.INDEXORDER);
@@ -207,9 +233,9 @@ public class TestNumericRangeQuery32 ext
assertNotNull(sd);
assertEquals("Score doc count", count, sd.length );
doc=searcher.doc(sd[0].doc);
- assertEquals("First doc", startOffset, Integer.parseInt(doc.get(field)) );
+ assertEquals("First doc", startOffset, doc.getField(field).numericValue().intValue());
doc=searcher.doc(sd[sd.length-1].doc);
- assertEquals("Last doc", (count-1)*distance+startOffset, Integer.parseInt(doc.get(field)) );
+ assertEquals("Last doc", (count-1)*distance+startOffset, doc.getField(field).numericValue().intValue());
}
@Test
@@ -237,9 +263,9 @@ public class TestNumericRangeQuery32 ext
assertNotNull(sd);
assertEquals("Score doc count", noDocs-count, sd.length );
Document doc=searcher.doc(sd[0].doc);
- assertEquals("First doc", count*distance+startOffset, Integer.parseInt(doc.get(field)) );
+ assertEquals("First doc", count*distance+startOffset, doc.getField(field).numericValue().intValue());
doc=searcher.doc(sd[sd.length-1].doc);
- assertEquals("Last doc", (noDocs-1)*distance+startOffset, Integer.parseInt(doc.get(field)) );
+ assertEquals("Last doc", (noDocs-1)*distance+startOffset, doc.getField(field).numericValue().intValue());
q=NumericRangeQuery.newIntRange(field, precisionStep, lower, null, true, false);
topDocs = searcher.search(q, null, noDocs, Sort.INDEXORDER);
@@ -247,9 +273,9 @@ public class TestNumericRangeQuery32 ext
assertNotNull(sd);
assertEquals("Score doc count", noDocs-count, sd.length );
doc=searcher.doc(sd[0].doc);
- assertEquals("First doc", count*distance+startOffset, Integer.parseInt(doc.get(field)) );
+ assertEquals("First doc", count*distance+startOffset, doc.getField(field).numericValue().intValue() );
doc=searcher.doc(sd[sd.length-1].doc);
- assertEquals("Last doc", (noDocs-1)*distance+startOffset, Integer.parseInt(doc.get(field)) );
+ assertEquals("Last doc", (noDocs-1)*distance+startOffset, doc.getField(field).numericValue().intValue() );
}
@Test
@@ -273,23 +299,23 @@ public class TestNumericRangeQuery32 ext
RandomIndexWriter writer = new RandomIndexWriter(random, dir,
newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer(random)));
Document doc = new Document();
- doc.add(new NumericField("float").setFloatValue(Float.NEGATIVE_INFINITY));
- doc.add(new NumericField("int").setIntValue(Integer.MIN_VALUE));
+ doc.add(new NumericField("float", Float.NEGATIVE_INFINITY));
+ doc.add(new NumericField("int", Integer.MIN_VALUE));
writer.addDocument(doc);
doc = new Document();
- doc.add(new NumericField("float").setFloatValue(Float.POSITIVE_INFINITY));
- doc.add(new NumericField("int").setIntValue(Integer.MAX_VALUE));
+ doc.add(new NumericField("float", Float.POSITIVE_INFINITY));
+ doc.add(new NumericField("int", Integer.MAX_VALUE));
writer.addDocument(doc);
doc = new Document();
- doc.add(new NumericField("float").setFloatValue(0.0f));
- doc.add(new NumericField("int").setIntValue(0));
+ doc.add(new NumericField("float", 0.0f));
+ doc.add(new NumericField("int", 0));
writer.addDocument(doc);
for (float f : TestNumericUtils.FLOAT_NANs) {
doc = new Document();
- doc.add(new NumericField("float").setFloatValue(f));
+ doc.add(new NumericField("float", f));
writer.addDocument(doc);
}
@@ -552,9 +578,9 @@ public class TestNumericRangeQuery32 ext
if (topDocs.totalHits==0) continue;
ScoreDoc[] sd = topDocs.scoreDocs;
assertNotNull(sd);
- int last=Integer.parseInt(searcher.doc(sd[0].doc).get(field));
+ int last = searcher.doc(sd[0].doc).getField(field).numericValue().intValue();
for (int j=1; j<sd.length; j++) {
- int act=Integer.parseInt(searcher.doc(sd[j].doc).get(field));
+ int act = searcher.doc(sd[j].doc).getField(field).numericValue().intValue();
assertTrue("Docs should be sorted backwards", last>act );
last=act;
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery64.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery64.java?rev=1231791&r1=1231790&r2=1231791&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery64.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery64.java Sun Jan 15 23:05:13 2012
@@ -19,14 +19,15 @@ package org.apache.lucene.search;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
+import org.apache.lucene.document.FieldType;
import org.apache.lucene.document.NumericField;
+import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.MultiFields;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.SlowMultiReaderWrapper;
import org.apache.lucene.index.Terms;
import org.apache.lucene.index.TermsEnum;
-import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.LuceneTestCase;
@@ -58,18 +59,49 @@ public class TestNumericRangeQuery64 ext
newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random))
.setMaxBufferedDocs(_TestUtil.nextInt(random, 100, 1000))
.setMergePolicy(newLogMergePolicy()));
-
+
+ final FieldType storedLong = NumericField.getFieldType(NumericField.DataType.LONG, true);
+
+ final FieldType storedLong8 = new FieldType(storedLong);
+ storedLong8.setNumericPrecisionStep(8);
+
+ final FieldType storedLong4 = new FieldType(storedLong);
+ storedLong4.setNumericPrecisionStep(4);
+
+ final FieldType storedLong6 = new FieldType(storedLong);
+ storedLong6.setNumericPrecisionStep(6);
+
+ final FieldType storedLong2 = new FieldType(storedLong);
+ storedLong2.setNumericPrecisionStep(2);
+
+ final FieldType storedLongNone = new FieldType(storedLong);
+ storedLongNone.setNumericPrecisionStep(Integer.MAX_VALUE);
+
+ final FieldType unstoredLong = NumericField.getFieldType(NumericField.DataType.LONG, false);
+
+ final FieldType unstoredLong8 = new FieldType(unstoredLong);
+ unstoredLong8.setNumericPrecisionStep(8);
+
+ final FieldType unstoredLong6 = new FieldType(unstoredLong);
+ unstoredLong6.setNumericPrecisionStep(6);
+
+ final FieldType unstoredLong4 = new FieldType(unstoredLong);
+ unstoredLong4.setNumericPrecisionStep(4);
+
+ final FieldType unstoredLong2 = new FieldType(unstoredLong);
+ unstoredLong2.setNumericPrecisionStep(2);
+
NumericField
- field8 = new NumericField("field8", 8, NumericField.TYPE_STORED),
- field6 = new NumericField("field6", 6, NumericField.TYPE_STORED),
- field4 = new NumericField("field4", 4, NumericField.TYPE_STORED),
- field2 = new NumericField("field2", 2, NumericField.TYPE_STORED),
- fieldNoTrie = new NumericField("field"+Integer.MAX_VALUE, Integer.MAX_VALUE, rarely() ? NumericField.TYPE_STORED : NumericField.TYPE_UNSTORED),
- ascfield8 = new NumericField("ascfield8", 8, NumericField.TYPE_UNSTORED),
- ascfield6 = new NumericField("ascfield6", 6, NumericField.TYPE_UNSTORED),
- ascfield4 = new NumericField("ascfield4", 4, NumericField.TYPE_UNSTORED),
- ascfield2 = new NumericField("ascfield2", 2, NumericField.TYPE_UNSTORED);
-
+ field8 = new NumericField("field8", 0L, storedLong8),
+ field6 = new NumericField("field6", 0L, storedLong6),
+ field4 = new NumericField("field4", 0L, storedLong4),
+ field2 = new NumericField("field2", 0L, storedLong2),
+ fieldNoTrie = new NumericField("field"+Integer.MAX_VALUE, 0L, storedLongNone),
+ ascfield8 = new NumericField("ascfield8", 0L, unstoredLong8),
+ ascfield6 = new NumericField("ascfield6", 0L, unstoredLong6),
+ ascfield4 = new NumericField("ascfield4", 0L, unstoredLong4),
+ ascfield2 = new NumericField("ascfield2", 0L, unstoredLong2);
+
Document doc = new Document();
// add fields, that have a distance to test general functionality
doc.add(field8); doc.add(field6); doc.add(field4); doc.add(field2); doc.add(fieldNoTrie);
@@ -79,17 +111,17 @@ public class TestNumericRangeQuery64 ext
// Add a series of noDocs docs with increasing long values, by updating the fields
for (int l=0; l<noDocs; l++) {
long val=distance*l+startOffset;
- field8.setLongValue(val);
- field6.setLongValue(val);
- field4.setLongValue(val);
- field2.setLongValue(val);
- fieldNoTrie.setLongValue(val);
+ field8.setValue(val);
+ field6.setValue(val);
+ field4.setValue(val);
+ field2.setValue(val);
+ fieldNoTrie.setValue(val);
val=l-(noDocs/2);
- ascfield8.setLongValue(val);
- ascfield6.setLongValue(val);
- ascfield4.setLongValue(val);
- ascfield2.setLongValue(val);
+ ascfield8.setValue(val);
+ ascfield6.setValue(val);
+ ascfield4.setValue(val);
+ ascfield2.setValue(val);
writer.addDocument(doc);
}
reader = writer.getReader();
@@ -146,9 +178,9 @@ public class TestNumericRangeQuery64 ext
assertNotNull(sd);
assertEquals("Score doc count"+type, count, sd.length );
Document doc=searcher.doc(sd[0].doc);
- assertEquals("First doc"+type, 2*distance+startOffset, Long.parseLong(doc.get(field)) );
+ assertEquals("First doc"+type, 2*distance+startOffset, doc.getField(field).numericValue().longValue() );
doc=searcher.doc(sd[sd.length-1].doc);
- assertEquals("Last doc"+type, (1+count)*distance+startOffset, Long.parseLong(doc.get(field)) );
+ assertEquals("Last doc"+type, (1+count)*distance+startOffset, doc.getField(field).numericValue().longValue() );
}
}
@@ -206,9 +238,9 @@ public class TestNumericRangeQuery64 ext
assertNotNull(sd);
assertEquals("Score doc count", count, sd.length );
Document doc=searcher.doc(sd[0].doc);
- assertEquals("First doc", startOffset, Long.parseLong(doc.get(field)) );
+ assertEquals("First doc", startOffset, doc.getField(field).numericValue().longValue() );
doc=searcher.doc(sd[sd.length-1].doc);
- assertEquals("Last doc", (count-1)*distance+startOffset, Long.parseLong(doc.get(field)) );
+ assertEquals("Last doc", (count-1)*distance+startOffset, doc.getField(field).numericValue().longValue() );
q=NumericRangeQuery.newLongRange(field, precisionStep, null, upper, false, true);
topDocs = searcher.search(q, null, noDocs, Sort.INDEXORDER);
@@ -216,9 +248,9 @@ public class TestNumericRangeQuery64 ext
assertNotNull(sd);
assertEquals("Score doc count", count, sd.length );
doc=searcher.doc(sd[0].doc);
- assertEquals("First doc", startOffset, Long.parseLong(doc.get(field)) );
+ assertEquals("First doc", startOffset, doc.getField(field).numericValue().longValue() );
doc=searcher.doc(sd[sd.length-1].doc);
- assertEquals("Last doc", (count-1)*distance+startOffset, Long.parseLong(doc.get(field)) );
+ assertEquals("Last doc", (count-1)*distance+startOffset, doc.getField(field).numericValue().longValue() );
}
@Test
@@ -251,9 +283,9 @@ public class TestNumericRangeQuery64 ext
assertNotNull(sd);
assertEquals("Score doc count", noDocs-count, sd.length );
Document doc=searcher.doc(sd[0].doc);
- assertEquals("First doc", count*distance+startOffset, Long.parseLong(doc.get(field)) );
+ assertEquals("First doc", count*distance+startOffset, doc.getField(field).numericValue().longValue() );
doc=searcher.doc(sd[sd.length-1].doc);
- assertEquals("Last doc", (noDocs-1)*distance+startOffset, Long.parseLong(doc.get(field)) );
+ assertEquals("Last doc", (noDocs-1)*distance+startOffset, doc.getField(field).numericValue().longValue() );
q=NumericRangeQuery.newLongRange(field, precisionStep, lower, null, true, false);
topDocs = searcher.search(q, null, noDocs, Sort.INDEXORDER);
@@ -261,9 +293,9 @@ public class TestNumericRangeQuery64 ext
assertNotNull(sd);
assertEquals("Score doc count", noDocs-count, sd.length );
doc=searcher.doc(sd[0].doc);
- assertEquals("First doc", count*distance+startOffset, Long.parseLong(doc.get(field)) );
+ assertEquals("First doc", count*distance+startOffset, doc.getField(field).numericValue().longValue() );
doc=searcher.doc(sd[sd.length-1].doc);
- assertEquals("Last doc", (noDocs-1)*distance+startOffset, Long.parseLong(doc.get(field)) );
+ assertEquals("Last doc", (noDocs-1)*distance+startOffset, doc.getField(field).numericValue().longValue() );
}
@Test
@@ -292,23 +324,23 @@ public class TestNumericRangeQuery64 ext
RandomIndexWriter writer = new RandomIndexWriter(random, dir,
newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random)));
Document doc = new Document();
- doc.add(new NumericField("double").setDoubleValue(Double.NEGATIVE_INFINITY));
- doc.add(new NumericField("long").setLongValue(Long.MIN_VALUE));
+ doc.add(new NumericField("double", Double.NEGATIVE_INFINITY));
+ doc.add(new NumericField("long", Long.MIN_VALUE));
writer.addDocument(doc);
doc = new Document();
- doc.add(new NumericField("double").setDoubleValue(Double.POSITIVE_INFINITY));
- doc.add(new NumericField("long").setLongValue(Long.MAX_VALUE));
+ doc.add(new NumericField("double", Double.POSITIVE_INFINITY));
+ doc.add(new NumericField("long", Long.MAX_VALUE));
writer.addDocument(doc);
doc = new Document();
- doc.add(new NumericField("double").setDoubleValue(0.0));
- doc.add(new NumericField("long").setLongValue(0L));
+ doc.add(new NumericField("double", 0.0));
+ doc.add(new NumericField("long", 0L));
writer.addDocument(doc);
for (double d : TestNumericUtils.DOUBLE_NANs) {
doc = new Document();
- doc.add(new NumericField("double").setDoubleValue(d));
+ doc.add(new NumericField("double", d));
writer.addDocument(doc);
}
@@ -586,9 +618,9 @@ public class TestNumericRangeQuery64 ext
if (topDocs.totalHits==0) continue;
ScoreDoc[] sd = topDocs.scoreDocs;
assertNotNull(sd);
- long last=Long.parseLong(searcher.doc(sd[0].doc).get(field));
+ long last=searcher.doc(sd[0].doc).getField(field).numericValue().longValue();
for (int j=1; j<sd.length; j++) {
- long act=Long.parseLong(searcher.doc(sd[j].doc).get(field));
+ long act=searcher.doc(sd[j].doc).getField(field).numericValue().longValue();
assertTrue("Docs should be sorted backwards", last>act );
last=act;
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSort.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSort.java?rev=1231791&r1=1231790&r2=1231791&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSort.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSort.java Sun Jan 15 23:05:13 2012
@@ -36,11 +36,9 @@ import org.apache.lucene.index.CorruptIn
import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
-import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.IndexableField;
import org.apache.lucene.index.MultiReader;
import org.apache.lucene.index.RandomIndexWriter;
-import org.apache.lucene.index.SlowMultiReaderWrapper;
import org.apache.lucene.index.Term;
import org.apache.lucene.index.DocValues;
import org.apache.lucene.search.BooleanClause.Occur;
@@ -146,35 +144,31 @@ public class TestSort extends LuceneTest
doc.add (new Field ("tracer", data[i][0], ft1));
doc.add (new TextField ("contents", data[i][1]));
if (data[i][2] != null) {
- Field f = new StringField ("int", data[i][2]);
+ doc.add(new StringField ("int", data[i][2]));
if (supportsDocValues) {
- f = DocValuesField.build(f, DocValues.Type.VAR_INTS);
+ doc.add(new DocValuesField("int", Integer.parseInt(data[i][2]), DocValues.Type.VAR_INTS));
}
- doc.add(f);
}
if (data[i][3] != null) {
- Field f = new StringField ("float", data[i][3]);
+ doc.add(new StringField ("float", data[i][3]));
if (supportsDocValues) {
- f = DocValuesField.build(f, DocValues.Type.FLOAT_32);
+ doc.add(new DocValuesField("float", Float.parseFloat(data[i][3]), DocValues.Type.FLOAT_32));
}
- doc.add(f);
}
if (data[i][4] != null) {
- Field f = new StringField ("string", data[i][4]);
+ doc.add(new StringField ("string", data[i][4]));
if (supportsDocValues) {
- f = DocValuesField.build(f, stringDVType);
+ doc.add(new DocValuesField("string", new BytesRef(data[i][4]), stringDVType));
}
- doc.add(f);
}
if (data[i][5] != null) doc.add (new StringField ("custom", data[i][5]));
if (data[i][6] != null) doc.add (new StringField ("i18n", data[i][6]));
if (data[i][7] != null) doc.add (new StringField ("long", data[i][7]));
if (data[i][8] != null) {
- Field f = new StringField ("double", data[i][8]);
+ doc.add(new StringField ("double", data[i][8]));
if (supportsDocValues) {
- f = DocValuesField.build(f, DocValues.Type.FLOAT_64);
+ doc.add(new DocValuesField("double", Double.parseDouble(data[i][8]), DocValues.Type.FLOAT_64));
}
- doc.add(f);
}
if (data[i][9] != null) doc.add (new StringField ("short", data[i][9]));
if (data[i][10] != null) doc.add (new StringField ("byte", data[i][10]));
@@ -216,17 +210,15 @@ public class TestSort extends LuceneTest
String num = getRandomCharString(getRandomNumber(2, 8), 48, 52);
doc.add (new Field ("tracer", num, onlyStored));
//doc.add (new Field ("contents", Integer.toString(i), Field.Store.NO, Field.Index.ANALYZED));
- Field f = new StringField("string", num);
+ doc.add(new StringField("string", num));
if (supportsDocValues) {
- f = DocValuesField.build(f, DocValues.Type.BYTES_VAR_SORTED);
+ doc.add(new DocValuesField("string", new BytesRef(num), DocValues.Type.BYTES_VAR_SORTED));
}
- doc.add (f);
String num2 = getRandomCharString(getRandomNumber(1, 4), 48, 50);
- f = new StringField ("string2", num2);
+ doc.add(new StringField ("string2", num2));
if (supportsDocValues) {
- f = DocValuesField.build(f, DocValues.Type.BYTES_VAR_SORTED);
+ doc.add(new DocValuesField("string2", new BytesRef(num2), DocValues.Type.BYTES_VAR_SORTED));
}
- doc.add (f);
doc.add (new Field ("tracer2", num2, onlyStored));
for(IndexableField f2 : doc.getFields()) {
((Field) f2).setBoost(2.0f);
@@ -235,17 +227,15 @@ public class TestSort extends LuceneTest
String numFixed = getRandomCharString(fixedLen, 48, 52);
doc.add (new Field ("fixed_tracer", numFixed, onlyStored));
//doc.add (new Field ("contents", Integer.toString(i), Field.Store.NO, Field.Index.ANALYZED));
- f = new StringField("string_fixed", numFixed);
+ doc.add(new StringField("string_fixed", numFixed));
if (supportsDocValues) {
- f = DocValuesField.build(f, DocValues.Type.BYTES_FIXED_SORTED);
+ doc.add(new DocValuesField("string_fixed", new BytesRef(numFixed), DocValues.Type.BYTES_FIXED_SORTED));
}
- doc.add (f);
String num2Fixed = getRandomCharString(fixedLen2, 48, 52);
- f = new StringField ("string2_fixed", num2Fixed);
+ doc.add(new StringField ("string2_fixed", num2Fixed));
if (supportsDocValues) {
- f = DocValuesField.build(f, DocValues.Type.BYTES_FIXED_SORTED);
+ doc.add(new DocValuesField("string2_fixed", new BytesRef(num2Fixed), DocValues.Type.BYTES_FIXED_SORTED));
}
- doc.add (f);
doc.add (new Field ("tracer2_fixed", num2Fixed, onlyStored));
for(IndexableField f2 : doc.getFields()) {
@@ -387,7 +377,7 @@ public class TestSort extends LuceneTest
sort.setSort (useDocValues(new SortField ("int", SortField.Type.INT)), SortField.FIELD_DOC );
assertMatches (full, queryX, sort, "IGAEC");
assertMatches (full, queryY, sort, "DHFJB");
-
+
sort.setSort (useDocValues(new SortField ("float", SortField.Type.FLOAT)), SortField.FIELD_DOC );
assertMatches (full, queryX, sort, "GCIEA");
assertMatches (full, queryY, sort, "DHJFB");
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTopDocsMerge.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTopDocsMerge.java?rev=1231791&r1=1231790&r2=1231791&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTopDocsMerge.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTopDocsMerge.java Sun Jan 15 23:05:13 2012
@@ -93,7 +93,7 @@ public class TestTopDocsMerge extends Lu
final Document doc = new Document();
doc.add(newField("string", _TestUtil.randomRealisticUnicodeString(random), StringField.TYPE_UNSTORED));
doc.add(newField("text", content[random.nextInt(content.length)], TextField.TYPE_UNSTORED));
- doc.add(new NumericField("float").setFloatValue(random.nextFloat()));
+ doc.add(new NumericField("float", random.nextFloat()));
final int intValue;
if (random.nextInt(100) == 17) {
intValue = Integer.MIN_VALUE;
@@ -102,7 +102,7 @@ public class TestTopDocsMerge extends Lu
} else {
intValue = random.nextInt();
}
- doc.add(new NumericField("int").setIntValue(intValue));
+ doc.add(new NumericField("int", intValue));
if (VERBOSE) {
System.out.println(" doc=" + doc);
}
Modified: lucene/dev/trunk/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DocMaker.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DocMaker.java?rev=1231791&r1=1231790&r2=1231791&view=diff
==============================================================================
--- lucene/dev/trunk/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DocMaker.java (original)
+++ lucene/dev/trunk/modules/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/DocMaker.java Sun Jan 15 23:05:13 2012
@@ -109,8 +109,8 @@ public class DocMaker implements Closeab
fields.put(ID_FIELD, new Field(ID_FIELD, "", StringField.TYPE_STORED));
fields.put(NAME_FIELD, new Field(NAME_FIELD, "", ft));
- numericFields.put(DATE_MSEC_FIELD, new NumericField(DATE_MSEC_FIELD));
- numericFields.put(TIME_SEC_FIELD, new NumericField(TIME_SEC_FIELD));
+ numericFields.put(DATE_MSEC_FIELD, new NumericField(DATE_MSEC_FIELD, 0L));
+ numericFields.put(TIME_SEC_FIELD, new NumericField(TIME_SEC_FIELD, 0));
doc = new Document();
} else {
@@ -138,15 +138,34 @@ public class DocMaker implements Closeab
return f;
}
- NumericField getNumericField(String name) {
- if (!reuseFields) {
- return new NumericField(name);
+ NumericField getNumericField(String name, NumericField.DataType type) {
+ NumericField f;
+ if (reuseFields) {
+ f = numericFields.get(name);
+ } else {
+ f = null;
}
-
- NumericField f = numericFields.get(name);
+
if (f == null) {
- f = new NumericField(name);
- numericFields.put(name, f);
+ switch(type) {
+ case INT:
+ f = new NumericField(name, 0);
+ break;
+ case LONG:
+ f = new NumericField(name, 0L);
+ break;
+ case FLOAT:
+ f = new NumericField(name, 0.0f);
+ break;
+ case DOUBLE:
+ f = new NumericField(name, 0.0);
+ break;
+ default:
+ assert false;
+ }
+ if (reuseFields) {
+ numericFields.put(name, f);
+ }
}
return f;
}
@@ -249,15 +268,15 @@ public class DocMaker implements Closeab
date = new Date();
}
- NumericField dateField = ds.getNumericField(DATE_MSEC_FIELD);
- dateField.setLongValue(date.getTime());
+ NumericField dateField = ds.getNumericField(DATE_MSEC_FIELD, NumericField.DataType.LONG);
+ dateField.setValue(date.getTime());
doc.add(dateField);
util.cal.setTime(date);
final int sec = util.cal.get(Calendar.HOUR_OF_DAY)*3600 + util.cal.get(Calendar.MINUTE)*60 + util.cal.get(Calendar.SECOND);
- NumericField timeSecField = ds.getNumericField(TIME_SEC_FIELD);
- timeSecField.setIntValue(sec);
+ NumericField timeSecField = ds.getNumericField(TIME_SEC_FIELD, NumericField.DataType.INT);
+ timeSecField.setValue(sec);
doc.add(timeSecField);
// Set TITLE_FIELD
Modified: lucene/dev/trunk/modules/grouping/src/test/org/apache/lucene/search/grouping/AllGroupHeadsCollectorTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/modules/grouping/src/test/org/apache/lucene/search/grouping/AllGroupHeadsCollectorTest.java?rev=1231791&r1=1231790&r2=1231791&view=diff
==============================================================================
--- lucene/dev/trunk/modules/grouping/src/test/org/apache/lucene/search/grouping/AllGroupHeadsCollectorTest.java (original)
+++ lucene/dev/trunk/modules/grouping/src/test/org/apache/lucene/search/grouping/AllGroupHeadsCollectorTest.java Sun Jan 15 23:05:13 2012
@@ -211,7 +211,7 @@ public class AllGroupHeadsCollectorTest
doc.add(group);
DocValuesField valuesField = null;
if (canUseIDV) {
- valuesField = new DocValuesField("group");
+ valuesField = new DocValuesField("group", new BytesRef(), valueType);
doc.add(valuesField);
}
Field sort1 = newField("sort1", "", StringField.TYPE_UNSTORED);
@@ -226,7 +226,7 @@ public class AllGroupHeadsCollectorTest
Field content = newField("content", "", TextField.TYPE_UNSTORED);
doc.add(content);
docNoGroup.add(content);
- NumericField id = new NumericField("id");
+ NumericField id = new NumericField("id", 0);
doc.add(id);
docNoGroup.add(id);
final GroupDoc[] groupDocs = new GroupDoc[numDocs];
@@ -257,14 +257,14 @@ public class AllGroupHeadsCollectorTest
if (groupDoc.group != null) {
group.setValue(groupDoc.group.utf8ToString());
if (canUseIDV) {
- valuesField.setBytes(new BytesRef(groupDoc.group.utf8ToString()), valueType);
+ valuesField.setValue(new BytesRef(groupDoc.group.utf8ToString()));
}
}
sort1.setValue(groupDoc.sort1.utf8ToString());
sort2.setValue(groupDoc.sort2.utf8ToString());
sort3.setValue(groupDoc.sort3.utf8ToString());
content.setValue(groupDoc.content);
- id.setIntValue(groupDoc.id);
+ id.setValue(groupDoc.id);
if (groupDoc.group == null) {
w.addDocument(docNoGroup);
} else {
@@ -527,9 +527,7 @@ public class AllGroupHeadsCollectorTest
private void addGroupField(Document doc, String groupField, String value, boolean canUseIDV, Type valueType) {
doc.add(new Field(groupField, value, TextField.TYPE_STORED));
if (canUseIDV) {
- DocValuesField valuesField = new DocValuesField(groupField);
- valuesField.setBytes(new BytesRef(value), valueType);
- doc.add(valuesField);
+ doc.add(new DocValuesField(groupField, new BytesRef(value), valueType));
}
}
Modified: lucene/dev/trunk/modules/grouping/src/test/org/apache/lucene/search/grouping/AllGroupsCollectorTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/modules/grouping/src/test/org/apache/lucene/search/grouping/AllGroupsCollectorTest.java?rev=1231791&r1=1231790&r2=1231791&view=diff
==============================================================================
--- lucene/dev/trunk/modules/grouping/src/test/org/apache/lucene/search/grouping/AllGroupsCollectorTest.java (original)
+++ lucene/dev/trunk/modules/grouping/src/test/org/apache/lucene/search/grouping/AllGroupsCollectorTest.java Sun Jan 15 23:05:13 2012
@@ -123,9 +123,7 @@ public class AllGroupsCollectorTest exte
private void addGroupField(Document doc, String groupField, String value, boolean canUseIDV) {
doc.add(new Field(groupField, value, TextField.TYPE_STORED));
if (canUseIDV) {
- DocValuesField valuesField = new DocValuesField(groupField);
- valuesField.setBytes(new BytesRef(value), Type.BYTES_VAR_SORTED);
- doc.add(valuesField);
+ doc.add(new DocValuesField(groupField, new BytesRef(value), Type.BYTES_VAR_SORTED));
}
}