You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2014/11/11 12:24:56 UTC
svn commit: r1638066 [3/4] - in
/lucene/dev/branches/lucene6005/lucene/core/src: java/
java/org/apache/lucene/document/ java/org/apache/lucene/index/
test/org/apache/lucene/codecs/lucene50/
test/org/apache/lucene/codecs/perfield/ test/org/apache/lucene...
Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestPhraseQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestPhraseQuery.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestPhraseQuery.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestPhraseQuery.java Tue Nov 11 11:24:51 2014
@@ -62,20 +62,19 @@ public class TestPhraseQuery extends Luc
};
RandomIndexWriter writer = new RandomIndexWriter(random(), directory, analyzer);
- Document doc = new Document();
- doc.add(newTextField("field", "one two three four five", Field.Store.YES));
- doc.add(newTextField("repeated", "this is a repeated field - first part", Field.Store.YES));
- Field repeatedField = newTextField("repeated", "second part of a repeated field", Field.Store.YES);
- doc.add(repeatedField);
- doc.add(newTextField("palindrome", "one two three two one", Field.Store.YES));
+ Document2 doc = writer.newDocument();
+ doc.addLargeText("field", "one two three four five");
+ doc.addLargeText("repeated", "this is a repeated field - first part");
+ doc.addLargeText("repeated", "second part of a repeated field");
+ doc.addLargeText("palindrome", "one two three two one");
writer.addDocument(doc);
- doc = new Document();
- doc.add(newTextField("nonexist", "phrase exist notexist exist found", Field.Store.YES));
+ doc = writer.newDocument();
+ doc.addLargeText("nonexist", "phrase exist notexist exist found");
writer.addDocument(doc);
- doc = new Document();
- doc.add(newTextField("nonexist", "phrase exist notexist exist found", Field.Store.YES));
+ doc = writer.newDocument();
+ doc.addLargeText("nonexist", "phrase exist notexist exist found");
writer.addDocument(doc);
reader = writer.getReader();
@@ -216,8 +215,8 @@ public class TestPhraseQuery extends Luc
Analyzer stopAnalyzer = new MockAnalyzer(random(), MockTokenizer.SIMPLE, true, MockTokenFilter.ENGLISH_STOPSET);
RandomIndexWriter writer = new RandomIndexWriter(random(), directory,
newIndexWriterConfig(stopAnalyzer));
- Document doc = new Document();
- doc.add(newTextField("field", "the stop words are here", Field.Store.YES));
+ Document2 doc = writer.newDocument();
+ doc.addLargeText("field", "the stop words are here");
writer.addDocument(doc);
IndexReader reader = writer.getReader();
writer.close();
@@ -240,13 +239,13 @@ public class TestPhraseQuery extends Luc
Directory directory = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random(), directory);
- Document doc = new Document();
- doc.add(newTextField("source", "marketing info", Field.Store.YES));
+ Document2 doc = writer.newDocument();
+ doc.addLargeText("source", "marketing info");
writer.addDocument(doc);
- doc = new Document();
- doc.add(newTextField("contents", "foobar", Field.Store.YES));
- doc.add(newTextField("source", "marketing info", Field.Store.YES));
+ doc = writer.newDocument();
+ doc.addLargeText("contents", "foobar");
+ doc.addLargeText("source", "marketing info");
writer.addDocument(doc);
IndexReader reader = writer.getReader();
@@ -275,16 +274,16 @@ public class TestPhraseQuery extends Luc
writer = new RandomIndexWriter(random(), directory,
newIndexWriterConfig(new MockAnalyzer(random())).setOpenMode(OpenMode.CREATE));
- doc = new Document();
- doc.add(newTextField("contents", "map entry woo", Field.Store.YES));
+ doc = writer.newDocument();
+ doc.addLargeText("contents", "map entry woo");
writer.addDocument(doc);
- doc = new Document();
- doc.add(newTextField("contents", "woo map entry", Field.Store.YES));
+ doc = writer.newDocument();
+ doc.addLargeText("contents", "woo map entry");
writer.addDocument(doc);
- doc = new Document();
- doc.add(newTextField("contents", "map foobarword entry woo", Field.Store.YES));
+ doc = writer.newDocument();
+ doc.addLargeText("contents", "map foobarword entry woo");
writer.addDocument(doc);
reader = writer.getReader();
@@ -328,16 +327,16 @@ public class TestPhraseQuery extends Luc
.setMergePolicy(newLogMergePolicy())
.setSimilarity(new DefaultSimilarity()));
- Document doc = new Document();
- doc.add(newTextField("field", "foo firstname lastname foo", Field.Store.YES));
+ Document2 doc = writer.newDocument();
+ doc.addLargeText("field", "foo firstname lastname foo");
writer.addDocument(doc);
- Document doc2 = new Document();
- doc2.add(newTextField("field", "foo firstname zzz lastname foo", Field.Store.YES));
+ Document2 doc2 = writer.newDocument();
+ doc2.addLargeText("field", "foo firstname zzz lastname foo");
writer.addDocument(doc2);
- Document doc3 = new Document();
- doc3.add(newTextField("field", "foo firstname zzz yyy lastname foo", Field.Store.YES));
+ Document2 doc3 = writer.newDocument();
+ doc3.addLargeText("field", "foo firstname zzz yyy lastname foo");
writer.addDocument(doc3);
IndexReader reader = writer.getReader();
@@ -591,9 +590,6 @@ public class TestPhraseQuery extends Luc
RandomIndexWriter w = new RandomIndexWriter(random(), dir, newIndexWriterConfig(analyzer).setMergePolicy(newLogMergePolicy()));
List<List<String>> docs = new ArrayList<>();
- Document d = new Document();
- Field f = newTextField("f", "", Field.Store.NO);
- d.add(f);
Random r = random();
@@ -638,7 +634,9 @@ public class TestPhraseQuery extends Luc
}
}
docs.add(doc);
- f.setStringValue(sb.toString());
+
+ Document2 d = w.newDocument();
+ d.addLargeText("f", sb.toString());
w.addDocument(d);
}
Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestPositionIncrement.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestPositionIncrement.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestPositionIncrement.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestPositionIncrement.java Tue Nov 11 11:24:51 2014
@@ -23,28 +23,26 @@ import java.nio.charset.StandardCharsets
import java.util.Collection;
import org.apache.lucene.analysis.*;
+import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
-import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.TextField;
-import org.apache.lucene.index.LeafReader;
-import org.apache.lucene.index.MultiFields;
+import org.apache.lucene.document.Document2;
import org.apache.lucene.index.DocsAndPositionsEnum;
import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.LeafReader;
+import org.apache.lucene.index.MultiFields;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.SlowCompositeReaderWrapper;
import org.apache.lucene.index.Term;
-import org.apache.lucene.store.Directory;
import org.apache.lucene.search.payloads.PayloadSpanUtil;
import org.apache.lucene.search.spans.MultiSpansWrapper;
import org.apache.lucene.search.spans.SpanNearQuery;
import org.apache.lucene.search.spans.SpanQuery;
import org.apache.lucene.search.spans.SpanTermQuery;
import org.apache.lucene.search.spans.Spans;
-import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.store.Directory;
import org.apache.lucene.util.BytesRef;
+import org.apache.lucene.util.LuceneTestCase;
/**
* Term position unit test.
@@ -91,8 +89,8 @@ public class TestPositionIncrement exten
};
Directory store = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random(), store, analyzer);
- Document d = new Document();
- d.add(newTextField("field", "bogus", Field.Store.YES));
+ Document2 d = writer.newDocument();
+ d.addLargeText("field", "bogus");
writer.addDocument(d);
IndexReader reader = writer.getReader();
writer.close();
@@ -204,9 +202,8 @@ public class TestPositionIncrement exten
public void testPayloadsPos0() throws Exception {
Directory dir = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random(), dir, new MockPayloadAnalyzer());
- Document doc = new Document();
- doc.add(new TextField("content", new StringReader(
- "a a b c d e a f g h i j a b k k")));
+ Document2 doc = writer.newDocument();
+ doc.addLargeText("content", new StringReader("a a b c d e a f g h i j a b k k"));
writer.addDocument(doc);
final IndexReader readerFromWriter = writer.getReader();
Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestPositiveScoresOnlyCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestPositiveScoresOnlyCollector.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestPositiveScoresOnlyCollector.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestPositiveScoresOnlyCollector.java Tue Nov 11 11:24:51 2014
@@ -22,7 +22,6 @@ import org.apache.lucene.index.RandomInd
import org.apache.lucene.index.Term;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.document.Document;
public class TestPositiveScoresOnlyCollector extends LuceneTestCase {
@@ -79,7 +78,7 @@ public class TestPositiveScoresOnlyColle
Directory directory = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random(), directory);
- writer.addDocument(new Document());
+ writer.addDocument(writer.newDocument());
writer.commit();
IndexReader ir = writer.getReader();
writer.close();
Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestPrefixFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestPrefixFilter.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestPrefixFilter.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestPrefixFilter.java Tue Nov 11 11:24:51 2014
@@ -17,13 +17,12 @@ package org.apache.lucene.search;
* limitations under the License.
*/
-import org.apache.lucene.document.Field;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.store.Directory;
+import org.apache.lucene.document.Document2;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.Term;
-import org.apache.lucene.document.Document;
+import org.apache.lucene.store.Directory;
+import org.apache.lucene.util.LuceneTestCase;
/**
* Tests {@link PrefixFilter} class.
@@ -39,8 +38,8 @@ public class TestPrefixFilter extends Lu
"/Computers/Windows"};
RandomIndexWriter writer = new RandomIndexWriter(random(), directory);
for (int i = 0; i < categories.length; i++) {
- Document doc = new Document();
- doc.add(newStringField("category", categories[i], Field.Store.YES));
+ Document2 doc = writer.newDocument();
+ doc.addAtom("category", categories[i]);
writer.addDocument(doc);
}
IndexReader reader = writer.getReader();
Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestPrefixInBooleanQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestPrefixInBooleanQuery.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestPrefixInBooleanQuery.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestPrefixInBooleanQuery.java Tue Nov 11 11:24:51 2014
@@ -17,8 +17,7 @@ package org.apache.lucene.search;
* limitations under the License.
*/
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
+import org.apache.lucene.document.Document2;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.Term;
@@ -27,7 +26,6 @@ import org.apache.lucene.util.LuceneTest
import org.junit.AfterClass;
import org.junit.BeforeClass;
-
/**
* https://issues.apache.org/jira/browse/LUCENE-1974
*
@@ -49,23 +47,25 @@ public class TestPrefixInBooleanQuery ex
directory = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random(), directory);
- Document doc = new Document();
- Field field = newStringField(FIELD, "meaninglessnames", Field.Store.NO);
- doc.add(field);
+ Document2 doc = writer.newDocument();
+ doc.addAtom(FIELD, "meaninglessnames");
for (int i = 0; i < 5137; ++i) {
writer.addDocument(doc);
}
- field.setStringValue("tangfulin");
+ doc = writer.newDocument();
+ doc.addAtom(FIELD, "tangfulin");
writer.addDocument(doc);
- field.setStringValue("meaninglessnames");
+ doc = writer.newDocument();
+ doc.addAtom(FIELD, "meaninglessnames");
for (int i = 5138; i < 11377; ++i) {
writer.addDocument(doc);
}
- field.setStringValue("tangfulin");
+ doc = writer.newDocument();
+ doc.addAtom(FIELD, "tangfulin");
writer.addDocument(doc);
reader = writer.getReader();
Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestQueryWrapperFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestQueryWrapperFilter.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestQueryWrapperFilter.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestQueryWrapperFilter.java Tue Nov 11 11:24:51 2014
@@ -16,11 +16,11 @@ package org.apache.lucene.search;
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
import java.util.HashSet;
import java.util.Set;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
+import org.apache.lucene.document.Document2;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.Term;
@@ -34,8 +34,8 @@ public class TestQueryWrapperFilter exte
public void testBasic() throws Exception {
Directory dir = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
- Document doc = new Document();
- doc.add(newTextField("field", "value", Field.Store.NO));
+ Document2 doc = writer.newDocument();
+ doc.addLargeText("field", "value");
writer.addDocument(doc);
IndexReader reader = writer.getReader();
writer.close();
@@ -90,7 +90,7 @@ public class TestQueryWrapperFilter exte
final int numDocs = atLeast(100);
final Set<String> aDocs = new HashSet<>();
for(int i=0;i<numDocs;i++) {
- final Document doc = new Document();
+ final Document2 doc = w.newDocument();
final String v;
if (random().nextInt(5) == 4) {
v = "a";
@@ -98,9 +98,8 @@ public class TestQueryWrapperFilter exte
} else {
v = "b";
}
- final Field f = newStringField("field", v, Field.Store.NO);
- doc.add(f);
- doc.add(newStringField("id", ""+i, Field.Store.YES));
+ doc.addAtom("field", v);
+ doc.addUniqueAtom("id", ""+i);
w.addDocument(doc);
}
@@ -128,8 +127,8 @@ public class TestQueryWrapperFilter exte
Directory dir = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
for (int i = 0; i < 1000; i++) {
- Document doc = new Document();
- doc.add(newStringField("field", English.intToEnglish(i), Field.Store.NO));
+ Document2 doc = writer.newDocument();
+ doc.addUniqueAtom("field", English.intToEnglish(i));
writer.addDocument(doc);
}
Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestRegexpRandom.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestRegexpRandom.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestRegexpRandom.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestRegexpRandom.java Tue Nov 11 11:24:51 2014
@@ -23,10 +23,8 @@ import java.text.NumberFormat;
import java.util.Locale;
import org.apache.lucene.analysis.MockAnalyzer;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.FieldType;
-import org.apache.lucene.document.TextField;
+import org.apache.lucene.document.Document2;
+import org.apache.lucene.document.FieldTypes;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.Term;
@@ -52,15 +50,13 @@ public class TestRegexpRandom extends Lu
newIndexWriterConfig(new MockAnalyzer(random()))
.setMaxBufferedDocs(TestUtil.nextInt(random(), 50, 1000)));
- Document doc = new Document();
- FieldType customType = new FieldType(TextField.TYPE_STORED);
- customType.setOmitNorms(true);
- Field field = newField("field", "", customType);
- doc.add(field);
+ FieldTypes fieldTypes = writer.getFieldTypes();
+ fieldTypes.disableNorms("field");
NumberFormat df = new DecimalFormat("000", new DecimalFormatSymbols(Locale.ROOT));
for (int i = 0; i < 1000; i++) {
- field.setStringValue(df.format(i));
+ Document2 doc = writer.newDocument();
+ doc.addLargeText("field", df.format(i));
writer.addDocument(doc);
}
Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestRegexpRandom2.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestRegexpRandom2.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestRegexpRandom2.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestRegexpRandom2.java Tue Nov 11 11:24:51 2014
@@ -24,9 +24,7 @@ import java.util.List;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.analysis.MockTokenizer;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.SortedDocValuesField;
+import org.apache.lucene.document.Document2;
import org.apache.lucene.index.FilteredTermsEnum;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.RandomIndexWriter;
@@ -36,14 +34,13 @@ import org.apache.lucene.index.TermsEnum
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.AttributeSource;
import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.CharsRef;
import org.apache.lucene.util.CharsRefBuilder;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.TestUtil;
import org.apache.lucene.util.UnicodeUtil;
+import org.apache.lucene.util.automaton.Automaton;
import org.apache.lucene.util.automaton.AutomatonTestUtil;
import org.apache.lucene.util.automaton.CharacterRunAutomaton;
-import org.apache.lucene.util.automaton.Automaton;
import org.apache.lucene.util.automaton.RegExp;
/**
@@ -65,18 +62,14 @@ public class TestRegexpRandom2 extends L
RandomIndexWriter writer = new RandomIndexWriter(random(), dir,
newIndexWriterConfig(new MockAnalyzer(random(), MockTokenizer.KEYWORD, false))
.setMaxBufferedDocs(TestUtil.nextInt(random(), 50, 1000)));
- Document doc = new Document();
- Field field = newStringField(fieldName, "", Field.Store.NO);
- doc.add(field);
- Field dvField = new SortedDocValuesField(fieldName, new BytesRef());
- doc.add(dvField);
List<String> terms = new ArrayList<>();
int num = atLeast(200);
for (int i = 0; i < num; i++) {
String s = TestUtil.randomUnicodeString(random());
- field.setStringValue(s);
- dvField.setBytesValue(new BytesRef(s));
terms.add(s);
+
+ Document2 doc = writer.newDocument();
+ doc.addAtom(fieldName, s);
writer.addDocument(doc);
}
Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestSearchWithThreads.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestSearchWithThreads.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestSearchWithThreads.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestSearchWithThreads.java Tue Nov 11 11:24:51 2014
@@ -20,14 +20,13 @@ package org.apache.lucene.search;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicLong;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
+import org.apache.lucene.document.Document2;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.Term;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.util.LuceneTestCase.SuppressCodecs;
import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.util.LuceneTestCase.SuppressCodecs;
@SuppressCodecs({ "SimpleText", "Memory", "Direct" })
public class TestSearchWithThreads extends LuceneTestCase {
@@ -50,9 +49,6 @@ public class TestSearchWithThreads exten
// TODO: replace w/ the @nightly test data; make this
// into an optional @nightly stress test
- final Document doc = new Document();
- final Field body = newTextField("body", "", Field.Store.NO);
- doc.add(body);
final StringBuilder sb = new StringBuilder();
for(int docCount=0;docCount<NUM_DOCS;docCount++) {
final int numTerms = random().nextInt(10);
@@ -60,7 +56,8 @@ public class TestSearchWithThreads exten
sb.append(random().nextBoolean() ? "aaa" : "bbb");
sb.append(' ');
}
- body.setStringValue(sb.toString());
+ Document2 doc = w.newDocument();
+ doc.addLargeText("body", sb.toString());
w.addDocument(doc);
sb.delete(0, sb.length());
}
Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestSearcherManager.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestSearcherManager.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestSearcherManager.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestSearcherManager.java Tue Nov 11 11:24:51 2014
@@ -28,7 +28,6 @@ import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import org.apache.lucene.analysis.MockAnalyzer;
-import org.apache.lucene.document.Document;
import org.apache.lucene.index.ConcurrentMergeScheduler;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexReader;
@@ -205,7 +204,7 @@ public class TestSearcherManager extends
// Test can deadlock if we use SMS:
IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(
new MockAnalyzer(random())).setMergeScheduler(new ConcurrentMergeScheduler()));
- writer.addDocument(new Document());
+ writer.addDocument(writer.newDocument());
writer.commit();
final CountDownLatch awaitEnterWarm = new CountDownLatch(1);
final CountDownLatch awaitClose = new CountDownLatch(1);
@@ -237,7 +236,7 @@ public class TestSearcherManager extends
} finally {
searcherManager.release(searcher);
}
- writer.addDocument(new Document());
+ writer.addDocument(writer.newDocument());
writer.commit();
final AtomicBoolean success = new AtomicBoolean(false);
final Throwable[] exc = new Throwable[1];
@@ -308,7 +307,7 @@ public class TestSearcherManager extends
IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(
new MockAnalyzer(random())).setMergeScheduler(new ConcurrentMergeScheduler()));
SearcherManager sm = new SearcherManager(writer, false, new SearcherFactory());
- writer.addDocument(new Document());
+ writer.addDocument(writer.newDocument());
writer.commit();
sm.maybeRefreshBlocking();
@@ -376,7 +375,7 @@ public class TestSearcherManager extends
}
}
});
- iw.addDocument(new Document());
+ iw.addDocument(iw.newDocument());
iw.commit();
assertFalse(afterRefreshCalled.get());
sm.maybeRefreshBlocking();
Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestSimilarity.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestSimilarity.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestSimilarity.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestSimilarity.java Tue Nov 11 11:24:51 2014
@@ -17,20 +17,18 @@ package org.apache.lucene.search;
* limitations under the License.
*/
-import org.apache.lucene.document.Field;
-import org.apache.lucene.index.LeafReaderContext;
-import org.apache.lucene.util.LuceneTestCase;
-
import java.io.IOException;
+import org.apache.lucene.analysis.MockAnalyzer;
+import org.apache.lucene.document.Document2;
import org.apache.lucene.index.FieldInvertState;
import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.similarities.DefaultSimilarity;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.analysis.MockAnalyzer;
-import org.apache.lucene.document.Document;
+import org.apache.lucene.util.LuceneTestCase;
/** Similarity unit test.
*
@@ -58,11 +56,11 @@ public class TestSimilarity extends Luce
newIndexWriterConfig(new MockAnalyzer(random()))
.setSimilarity(new SimpleSimilarity()));
- Document d1 = new Document();
- d1.add(newTextField("field", "a c", Field.Store.YES));
+ Document2 d1 = writer.newDocument();
+ d1.addLargeText("field", "a c");
- Document d2 = new Document();
- d2.add(newTextField("field", "a b c", Field.Store.YES));
+ Document2 d2 = writer.newDocument();
+ d2.addLargeText("field", "a b c");
writer.addDocument(d1);
writer.addDocument(d2);
Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestSort.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestSort.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestSort.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestSort.java Tue Nov 11 11:24:51 2014
@@ -20,12 +20,15 @@ package org.apache.lucene.search;
import java.io.IOException;
import org.apache.lucene.document.BinaryDocValuesField;
+import org.apache.lucene.document.Document2;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.DoubleDocValuesField;
import org.apache.lucene.document.Field;
+import org.apache.lucene.document.FieldTypes;
import org.apache.lucene.document.FloatDocValuesField;
import org.apache.lucene.document.NumericDocValuesField;
import org.apache.lucene.document.SortedDocValuesField;
+import org.apache.lucene.index.DocValuesType;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.store.Directory;
@@ -53,19 +56,18 @@ public class TestSort extends LuceneTest
public void testString() throws IOException {
Directory dir = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
- Document doc = new Document();
- doc.add(new SortedDocValuesField("value", new BytesRef("foo")));
- doc.add(newStringField("value", "foo", Field.Store.YES));
+ FieldTypes fieldTypes = writer.getFieldTypes();
+ Document2 doc = writer.newDocument();
+ doc.addAtom("value", "foo");
writer.addDocument(doc);
- doc = new Document();
- doc.add(new SortedDocValuesField("value", new BytesRef("bar")));
- doc.add(newStringField("value", "bar", Field.Store.YES));
+ doc = writer.newDocument();
+ doc.addAtom("value", "bar");
writer.addDocument(doc);
IndexReader ir = writer.getReader();
writer.close();
IndexSearcher searcher = newSearcher(ir);
- Sort sort = new Sort(new SortField("value", SortField.Type.STRING));
+ Sort sort = fieldTypes.newSort("value");
TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
assertEquals(2, td.totalHits);
@@ -81,19 +83,18 @@ public class TestSort extends LuceneTest
public void testStringReverse() throws IOException {
Directory dir = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
- Document doc = new Document();
- doc.add(new SortedDocValuesField("value", new BytesRef("bar")));
- doc.add(newStringField("value", "bar", Field.Store.YES));
+ FieldTypes fieldTypes = writer.getFieldTypes();
+ Document2 doc = writer.newDocument();
+ doc.addAtom("value", "bar");
writer.addDocument(doc);
- doc = new Document();
- doc.add(new SortedDocValuesField("value", new BytesRef("foo")));
- doc.add(newStringField("value", "foo", Field.Store.YES));
+ doc = writer.newDocument();
+ doc.addAtom("value", "foo");
writer.addDocument(doc);
IndexReader ir = writer.getReader();
writer.close();
IndexSearcher searcher = newSearcher(ir);
- Sort sort = new Sort(new SortField("value", SortField.Type.STRING, true));
+ Sort sort = fieldTypes.newSort("value", true);
TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
assertEquals(2, td.totalHits);
@@ -109,19 +110,21 @@ public class TestSort extends LuceneTest
public void testStringVal() throws IOException {
Directory dir = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
- Document doc = new Document();
- doc.add(new BinaryDocValuesField("value", new BytesRef("foo")));
- doc.add(newStringField("value", "foo", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new BinaryDocValuesField("value", new BytesRef("bar")));
- doc.add(newStringField("value", "bar", Field.Store.YES));
+ FieldTypes fieldTypes = writer.getFieldTypes();
+ fieldTypes.setDocValuesType("value", DocValuesType.BINARY);
+ fieldTypes.enableSorting("value");
+
+ Document2 doc = writer.newDocument();
+ doc.addAtom("value", "foo");
+ writer.addDocument(doc);
+ doc = writer.newDocument();
+ doc.addAtom("value", "bar");
writer.addDocument(doc);
IndexReader ir = writer.getReader();
writer.close();
IndexSearcher searcher = newSearcher(ir);
- Sort sort = new Sort(new SortField("value", SortField.Type.STRING_VAL));
+ Sort sort = fieldTypes.newSort("value");
TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
assertEquals(2, td.totalHits);
@@ -137,19 +140,22 @@ public class TestSort extends LuceneTest
public void testStringValReverse() throws IOException {
Directory dir = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
- Document doc = new Document();
- doc.add(new BinaryDocValuesField("value", new BytesRef("bar")));
- doc.add(newStringField("value", "bar", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new BinaryDocValuesField("value", new BytesRef("foo")));
- doc.add(newStringField("value", "foo", Field.Store.YES));
+ FieldTypes fieldTypes = writer.getFieldTypes();
+ fieldTypes.setDocValuesType("value", DocValuesType.BINARY);
+ fieldTypes.enableSorting("value");
+
+ Document2 doc = writer.newDocument();
+ doc.addAtom("value", "bar");
+ writer.addDocument(doc);
+
+ doc = writer.newDocument();
+ doc.addAtom("value", "foo");
writer.addDocument(doc);
IndexReader ir = writer.getReader();
writer.close();
IndexSearcher searcher = newSearcher(ir);
- Sort sort = new Sort(new SortField("value", SortField.Type.STRING_VAL, true));
+ Sort sort = fieldTypes.newSort("value", true);
TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
assertEquals(2, td.totalHits);
@@ -165,18 +171,19 @@ public class TestSort extends LuceneTest
public void testStringValSorted() throws IOException {
Directory dir = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
- Document doc = new Document();
- doc.add(new SortedDocValuesField("value", new BytesRef("foo")));
- doc.add(newStringField("value", "foo", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new SortedDocValuesField("value", new BytesRef("bar")));
- doc.add(newStringField("value", "bar", Field.Store.YES));
+ Document2 doc = writer.newDocument();
+ doc.addAtom("value", "foo");
+ writer.addDocument(doc);
+
+ doc = writer.newDocument();
+ doc.addAtom("value", "bar");
writer.addDocument(doc);
IndexReader ir = writer.getReader();
writer.close();
IndexSearcher searcher = newSearcher(ir);
+
+ // NOTE: don't ask FieldTypes here, because we are forcing STRING_VAL even though we indexed SORTED DV:
Sort sort = new Sort(new SortField("value", SortField.Type.STRING_VAL));
TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
@@ -193,18 +200,19 @@ public class TestSort extends LuceneTest
public void testStringValReverseSorted() throws IOException {
Directory dir = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
- Document doc = new Document();
- doc.add(new SortedDocValuesField("value", new BytesRef("bar")));
- doc.add(newStringField("value", "bar", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new SortedDocValuesField("value", new BytesRef("foo")));
- doc.add(newStringField("value", "foo", Field.Store.YES));
+ Document2 doc = writer.newDocument();
+ doc.addAtom("value", "bar");
+ writer.addDocument(doc);
+
+ doc = writer.newDocument();
+ doc.addAtom("value", "foo");
writer.addDocument(doc);
+
IndexReader ir = writer.getReader();
writer.close();
IndexSearcher searcher = newSearcher(ir);
+ // NOTE: don't ask FieldTypes here, because we are forcing STRING_VAL even though we indexed SORTED DV:
Sort sort = new Sort(new SortField("value", SortField.Type.STRING_VAL, true));
TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
@@ -221,30 +229,26 @@ public class TestSort extends LuceneTest
public void testInt() throws IOException {
Directory dir = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
- Document doc = new Document();
- doc.add(new NumericDocValuesField("value", 300000));
- doc.add(newStringField("value", "300000", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new NumericDocValuesField("value", -1));
- doc.add(newStringField("value", "-1", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new NumericDocValuesField("value", 4));
- doc.add(newStringField("value", "4", Field.Store.YES));
- writer.addDocument(doc);
+ FieldTypes fieldTypes = writer.getFieldTypes();
+
+ for(int value : new int[] {300000, -1, 4}) {
+ Document2 doc = writer.newDocument();
+ doc.addInt("value", value);
+ writer.addDocument(doc);
+ }
+
IndexReader ir = writer.getReader();
writer.close();
IndexSearcher searcher = newSearcher(ir);
- Sort sort = new Sort(new SortField("value", SortField.Type.INT));
+ Sort sort = fieldTypes.newSort("value");
TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
assertEquals(3, td.totalHits);
// numeric order
- assertEquals("-1", searcher.doc(td.scoreDocs[0].doc).get("value"));
- assertEquals("4", searcher.doc(td.scoreDocs[1].doc).get("value"));
- assertEquals("300000", searcher.doc(td.scoreDocs[2].doc).get("value"));
+ assertEquals("-1", searcher.doc(td.scoreDocs[0].doc).getString("value"));
+ assertEquals("4", searcher.doc(td.scoreDocs[1].doc).getString("value"));
+ assertEquals("300000", searcher.doc(td.scoreDocs[2].doc).getString("value"));
ir.close();
dir.close();
@@ -254,61 +258,54 @@ public class TestSort extends LuceneTest
public void testIntReverse() throws IOException {
Directory dir = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
- Document doc = new Document();
- doc.add(new NumericDocValuesField("value", 300000));
- doc.add(newStringField("value", "300000", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new NumericDocValuesField("value", -1));
- doc.add(newStringField("value", "-1", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new NumericDocValuesField("value", 4));
- doc.add(newStringField("value", "4", Field.Store.YES));
- writer.addDocument(doc);
+ FieldTypes fieldTypes = writer.getFieldTypes();
+ for(int value : new int[] {300000, -1, 4}) {
+ Document2 doc = writer.newDocument();
+ doc.addInt("value", value);
+ writer.addDocument(doc);
+ }
+
IndexReader ir = writer.getReader();
writer.close();
IndexSearcher searcher = newSearcher(ir);
- Sort sort = new Sort(new SortField("value", SortField.Type.INT, true));
+ Sort sort = fieldTypes.newSort("value", true);
TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
assertEquals(3, td.totalHits);
// reverse numeric order
- assertEquals("300000", searcher.doc(td.scoreDocs[0].doc).get("value"));
- assertEquals("4", searcher.doc(td.scoreDocs[1].doc).get("value"));
- assertEquals("-1", searcher.doc(td.scoreDocs[2].doc).get("value"));
+ assertEquals("300000", searcher.doc(td.scoreDocs[0].doc).getString("value"));
+ assertEquals("4", searcher.doc(td.scoreDocs[1].doc).getString("value"));
+ assertEquals("-1", searcher.doc(td.scoreDocs[2].doc).getString("value"));
ir.close();
dir.close();
}
/** Tests sorting on type int with a missing value */
- public void testIntMissing() throws IOException {
+ public void testIntMissingDefault() throws IOException {
Directory dir = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
- Document doc = new Document();
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new NumericDocValuesField("value", -1));
- doc.add(newStringField("value", "-1", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new NumericDocValuesField("value", 4));
- doc.add(newStringField("value", "4", Field.Store.YES));
- writer.addDocument(doc);
+ FieldTypes fieldTypes = writer.getFieldTypes();
+ writer.addDocument(writer.newDocument());
+ for(int value : new int[] {-1, 4}) {
+ Document2 doc = writer.newDocument();
+ doc.addInt("value", value);
+ writer.addDocument(doc);
+ }
+
IndexReader ir = writer.getReader();
writer.close();
IndexSearcher searcher = newSearcher(ir);
- Sort sort = new Sort(new SortField("value", SortField.Type.INT));
+ Sort sort = fieldTypes.newSort("value");
TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
assertEquals(3, td.totalHits);
- // null is treated as a 0
- assertEquals("-1", searcher.doc(td.scoreDocs[0].doc).get("value"));
- assertNull(searcher.doc(td.scoreDocs[1].doc).get("value"));
- assertEquals("4", searcher.doc(td.scoreDocs[2].doc).get("value"));
+ // sort missing last by default:
+ assertEquals("-1", searcher.doc(td.scoreDocs[0].doc).getString("value"));
+ assertEquals("4", searcher.doc(td.scoreDocs[1].doc).getString("value"));
+ assertNull(searcher.doc(td.scoreDocs[2].doc).getString("value"));
ir.close();
dir.close();
@@ -318,30 +315,26 @@ public class TestSort extends LuceneTest
public void testIntMissingLast() throws IOException {
Directory dir = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
- Document doc = new Document();
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new NumericDocValuesField("value", -1));
- doc.add(newStringField("value", "-1", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new NumericDocValuesField("value", 4));
- doc.add(newStringField("value", "4", Field.Store.YES));
- writer.addDocument(doc);
+ FieldTypes fieldTypes = writer.getFieldTypes();
+ fieldTypes.setSortMissingLast("value");
+ writer.addDocument(writer.newDocument());
+ for(int value : new int[] {-1, 4}) {
+ Document2 doc = writer.newDocument();
+ doc.addInt("value", value);
+ writer.addDocument(doc);
+ }
+
IndexReader ir = writer.getReader();
writer.close();
IndexSearcher searcher = newSearcher(ir);
- SortField sortField = new SortField("value", SortField.Type.INT);
- sortField.setMissingValue(Integer.MAX_VALUE);
- Sort sort = new Sort(sortField);
+ Sort sort = fieldTypes.newSort("value");
TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
assertEquals(3, td.totalHits);
- // null is treated as a Integer.MAX_VALUE
- assertEquals("-1", searcher.doc(td.scoreDocs[0].doc).get("value"));
- assertEquals("4", searcher.doc(td.scoreDocs[1].doc).get("value"));
- assertNull(searcher.doc(td.scoreDocs[2].doc).get("value"));
+ assertEquals("-1", searcher.doc(td.scoreDocs[0].doc).getString("value"));
+ assertEquals("4", searcher.doc(td.scoreDocs[1].doc).getString("value"));
+ assertNull(searcher.doc(td.scoreDocs[2].doc).getString("value"));
ir.close();
dir.close();
@@ -351,30 +344,24 @@ public class TestSort extends LuceneTest
public void testLong() throws IOException {
Directory dir = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
- Document doc = new Document();
- doc.add(new NumericDocValuesField("value", 3000000000L));
- doc.add(newStringField("value", "3000000000", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new NumericDocValuesField("value", -1));
- doc.add(newStringField("value", "-1", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new NumericDocValuesField("value", 4));
- doc.add(newStringField("value", "4", Field.Store.YES));
- writer.addDocument(doc);
+ FieldTypes fieldTypes = writer.getFieldTypes();
+ for(long value : new long[] {3000000000L, -1L, 4L}) {
+ Document2 doc = writer.newDocument();
+ doc.addLong("value", value);
+ writer.addDocument(doc);
+ }
IndexReader ir = writer.getReader();
writer.close();
IndexSearcher searcher = newSearcher(ir);
- Sort sort = new Sort(new SortField("value", SortField.Type.LONG));
+ Sort sort = fieldTypes.newSort("value");
TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
assertEquals(3, td.totalHits);
// numeric order
- assertEquals("-1", searcher.doc(td.scoreDocs[0].doc).get("value"));
- assertEquals("4", searcher.doc(td.scoreDocs[1].doc).get("value"));
- assertEquals("3000000000", searcher.doc(td.scoreDocs[2].doc).get("value"));
+ assertEquals("-1", searcher.doc(td.scoreDocs[0].doc).getString("value"));
+ assertEquals("4", searcher.doc(td.scoreDocs[1].doc).getString("value"));
+ assertEquals("3000000000", searcher.doc(td.scoreDocs[2].doc).getString("value"));
ir.close();
dir.close();
@@ -384,61 +371,53 @@ public class TestSort extends LuceneTest
public void testLongReverse() throws IOException {
Directory dir = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
- Document doc = new Document();
- doc.add(new NumericDocValuesField("value", 3000000000L));
- doc.add(newStringField("value", "3000000000", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new NumericDocValuesField("value", -1));
- doc.add(newStringField("value", "-1", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new NumericDocValuesField("value", 4));
- doc.add(newStringField("value", "4", Field.Store.YES));
- writer.addDocument(doc);
+ FieldTypes fieldTypes = writer.getFieldTypes();
+ for(long value : new long[] {3000000000L, -1L, 4L}) {
+ Document2 doc = writer.newDocument();
+ doc.addLong("value", value);
+ writer.addDocument(doc);
+ }
IndexReader ir = writer.getReader();
writer.close();
IndexSearcher searcher = newSearcher(ir);
- Sort sort = new Sort(new SortField("value", SortField.Type.LONG, true));
+ Sort sort = fieldTypes.newSort("value", true);
TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
assertEquals(3, td.totalHits);
// reverse numeric order
- assertEquals("3000000000", searcher.doc(td.scoreDocs[0].doc).get("value"));
- assertEquals("4", searcher.doc(td.scoreDocs[1].doc).get("value"));
- assertEquals("-1", searcher.doc(td.scoreDocs[2].doc).get("value"));
+ assertEquals("3000000000", searcher.doc(td.scoreDocs[0].doc).getString("value"));
+ assertEquals("4", searcher.doc(td.scoreDocs[1].doc).getString("value"));
+ assertEquals("-1", searcher.doc(td.scoreDocs[2].doc).getString("value"));
ir.close();
dir.close();
}
/** Tests sorting on type long with a missing value */
- public void testLongMissing() throws IOException {
+ public void testLongMissingDefault() throws IOException {
Directory dir = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
- Document doc = new Document();
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new NumericDocValuesField("value", -1));
- doc.add(newStringField("value", "-1", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new NumericDocValuesField("value", 4));
- doc.add(newStringField("value", "4", Field.Store.YES));
- writer.addDocument(doc);
+ FieldTypes fieldTypes = writer.getFieldTypes();
+ writer.addDocument(writer.newDocument());
+ for(long value : new long[] {-1L, 4L}) {
+ Document2 doc = writer.newDocument();
+ doc.addLong("value", value);
+ writer.addDocument(doc);
+ }
+
IndexReader ir = writer.getReader();
writer.close();
IndexSearcher searcher = newSearcher(ir);
- Sort sort = new Sort(new SortField("value", SortField.Type.LONG));
+ Sort sort = fieldTypes.newSort("value");
TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
assertEquals(3, td.totalHits);
- // null is treated as 0
- assertEquals("-1", searcher.doc(td.scoreDocs[0].doc).get("value"));
- assertNull(searcher.doc(td.scoreDocs[1].doc).get("value"));
- assertEquals("4", searcher.doc(td.scoreDocs[2].doc).get("value"));
+ // sort missing last by default:
+ assertEquals("-1", searcher.doc(td.scoreDocs[0].doc).getString("value"));
+ assertEquals("4", searcher.doc(td.scoreDocs[1].doc).getString("value"));
+ assertNull(searcher.doc(td.scoreDocs[2].doc).getString("value"));
ir.close();
dir.close();
@@ -448,30 +427,26 @@ public class TestSort extends LuceneTest
public void testLongMissingLast() throws IOException {
Directory dir = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
- Document doc = new Document();
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new NumericDocValuesField("value", -1));
- doc.add(newStringField("value", "-1", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new NumericDocValuesField("value", 4));
- doc.add(newStringField("value", "4", Field.Store.YES));
- writer.addDocument(doc);
+ FieldTypes fieldTypes = writer.getFieldTypes();
+ fieldTypes.setSortMissingLast("value");
+ writer.addDocument(writer.newDocument());
+ for(long value : new long[] {-1L, 4L}) {
+ Document2 doc = writer.newDocument();
+ doc.addLong("value", value);
+ writer.addDocument(doc);
+ }
+
IndexReader ir = writer.getReader();
writer.close();
IndexSearcher searcher = newSearcher(ir);
- SortField sortField = new SortField("value", SortField.Type.LONG);
- sortField.setMissingValue(Long.MAX_VALUE);
- Sort sort = new Sort(sortField);
+ Sort sort = fieldTypes.newSort("value");
TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
assertEquals(3, td.totalHits);
- // null is treated as Long.MAX_VALUE
- assertEquals("-1", searcher.doc(td.scoreDocs[0].doc).get("value"));
- assertEquals("4", searcher.doc(td.scoreDocs[1].doc).get("value"));
- assertNull(searcher.doc(td.scoreDocs[2].doc).get("value"));
+ assertEquals("-1", searcher.doc(td.scoreDocs[0].doc).getString("value"));
+ assertEquals("4", searcher.doc(td.scoreDocs[1].doc).getString("value"));
+ assertNull(searcher.doc(td.scoreDocs[2].doc).getString("value"));
ir.close();
dir.close();
@@ -480,31 +455,26 @@ public class TestSort extends LuceneTest
/** Tests sorting on type float */
public void testFloat() throws IOException {
Directory dir = newDirectory();
- RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
- Document doc = new Document();
- doc.add(new FloatDocValuesField("value", 30.1F));
- doc.add(newStringField("value", "30.1", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new FloatDocValuesField("value", -1.3F));
- doc.add(newStringField("value", "-1.3", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new FloatDocValuesField("value", 4.2F));
- doc.add(newStringField("value", "4.2", Field.Store.YES));
- writer.addDocument(doc);
+ RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
+ FieldTypes fieldTypes = writer.getFieldTypes();
+ for(float value : new float[] {30.1F, -1.3F, 4.2F}) {
+ Document2 doc = writer.newDocument();
+ doc.addFloat("value", value);
+ writer.addDocument(doc);
+ }
+
IndexReader ir = writer.getReader();
writer.close();
IndexSearcher searcher = newSearcher(ir);
- Sort sort = new Sort(new SortField("value", SortField.Type.FLOAT));
+ Sort sort = fieldTypes.newSort("value");
TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
assertEquals(3, td.totalHits);
// numeric order
- assertEquals("-1.3", searcher.doc(td.scoreDocs[0].doc).get("value"));
- assertEquals("4.2", searcher.doc(td.scoreDocs[1].doc).get("value"));
- assertEquals("30.1", searcher.doc(td.scoreDocs[2].doc).get("value"));
+ assertEquals("-1.3", searcher.doc(td.scoreDocs[0].doc).getString("value"));
+ assertEquals("4.2", searcher.doc(td.scoreDocs[1].doc).getString("value"));
+ assertEquals("30.1", searcher.doc(td.scoreDocs[2].doc).getString("value"));
ir.close();
dir.close();
@@ -513,62 +483,56 @@ public class TestSort extends LuceneTest
/** Tests sorting on type float in reverse */
public void testFloatReverse() throws IOException {
Directory dir = newDirectory();
- RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
- Document doc = new Document();
- doc.add(new FloatDocValuesField("value", 30.1F));
- doc.add(newStringField("value", "30.1", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new FloatDocValuesField("value", -1.3F));
- doc.add(newStringField("value", "-1.3", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new FloatDocValuesField("value", 4.2F));
- doc.add(newStringField("value", "4.2", Field.Store.YES));
- writer.addDocument(doc);
+ RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
+ FieldTypes fieldTypes = writer.getFieldTypes();
+ for(float value : new float[] {30.1F, -1.3F, 4.2F}) {
+ Document2 doc = writer.newDocument();
+ doc.addFloat("value", value);
+ writer.addDocument(doc);
+ }
+
IndexReader ir = writer.getReader();
writer.close();
IndexSearcher searcher = newSearcher(ir);
- Sort sort = new Sort(new SortField("value", SortField.Type.FLOAT, true));
+ Sort sort = fieldTypes.newSort("value", true);
TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
assertEquals(3, td.totalHits);
- // reverse numeric order
- assertEquals("30.1", searcher.doc(td.scoreDocs[0].doc).get("value"));
- assertEquals("4.2", searcher.doc(td.scoreDocs[1].doc).get("value"));
- assertEquals("-1.3", searcher.doc(td.scoreDocs[2].doc).get("value"));
+ // numeric order
+ assertEquals("30.1", searcher.doc(td.scoreDocs[0].doc).getString("value"));
+ assertEquals("4.2", searcher.doc(td.scoreDocs[1].doc).getString("value"));
+ assertEquals("-1.3", searcher.doc(td.scoreDocs[2].doc).getString("value"));
ir.close();
dir.close();
}
/** Tests sorting on type float with a missing value */
- public void testFloatMissing() throws IOException {
+ public void testFloatMissingDefault() throws IOException {
Directory dir = newDirectory();
- RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
- Document doc = new Document();
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new FloatDocValuesField("value", -1.3F));
- doc.add(newStringField("value", "-1.3", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new FloatDocValuesField("value", 4.2F));
- doc.add(newStringField("value", "4.2", Field.Store.YES));
- writer.addDocument(doc);
+ RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
+ FieldTypes fieldTypes = writer.getFieldTypes();
+ writer.addDocument(writer.newDocument());
+ for(float value : new float[] {-1.3F, 4.2F}) {
+ Document2 doc = writer.newDocument();
+ doc.addFloat("value", value);
+ writer.addDocument(doc);
+ }
+
IndexReader ir = writer.getReader();
writer.close();
IndexSearcher searcher = newSearcher(ir);
- Sort sort = new Sort(new SortField("value", SortField.Type.FLOAT));
+ Sort sort = fieldTypes.newSort("value");
TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
assertEquals(3, td.totalHits);
- // null is treated as 0
- assertEquals("-1.3", searcher.doc(td.scoreDocs[0].doc).get("value"));
- assertNull(searcher.doc(td.scoreDocs[1].doc).get("value"));
- assertEquals("4.2", searcher.doc(td.scoreDocs[2].doc).get("value"));
+
+ // sort missing last by default:
+ assertEquals("-1.3", searcher.doc(td.scoreDocs[0].doc).getString("value"));
+ assertEquals("4.2", searcher.doc(td.scoreDocs[1].doc).getString("value"));
+ assertNull(searcher.doc(td.scoreDocs[2].doc).getString("value"));
ir.close();
dir.close();
@@ -577,31 +541,28 @@ public class TestSort extends LuceneTest
/** Tests sorting on type float, specifying the missing value should be treated as Float.MAX_VALUE */
public void testFloatMissingLast() throws IOException {
Directory dir = newDirectory();
- RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
- Document doc = new Document();
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new FloatDocValuesField("value", -1.3F));
- doc.add(newStringField("value", "-1.3", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new FloatDocValuesField("value", 4.2F));
- doc.add(newStringField("value", "4.2", Field.Store.YES));
- writer.addDocument(doc);
+ RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
+ FieldTypes fieldTypes = writer.getFieldTypes();
+ fieldTypes.setSortMissingLast("value");
+ writer.addDocument(writer.newDocument());
+ for(float value : new float[] {-1.3F, 4.2F}) {
+ Document2 doc = writer.newDocument();
+ doc.addFloat("value", value);
+ writer.addDocument(doc);
+ }
+
IndexReader ir = writer.getReader();
writer.close();
IndexSearcher searcher = newSearcher(ir);
- SortField sortField = new SortField("value", SortField.Type.FLOAT);
- sortField.setMissingValue(Float.MAX_VALUE);
- Sort sort = new Sort(sortField);
+ Sort sort = fieldTypes.newSort("value");
TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
assertEquals(3, td.totalHits);
- // null is treated as Float.MAX_VALUE
- assertEquals("-1.3", searcher.doc(td.scoreDocs[0].doc).get("value"));
- assertEquals("4.2", searcher.doc(td.scoreDocs[1].doc).get("value"));
- assertNull(searcher.doc(td.scoreDocs[2].doc).get("value"));
+
+ assertEquals("-1.3", searcher.doc(td.scoreDocs[0].doc).getString("value"));
+ assertEquals("4.2", searcher.doc(td.scoreDocs[1].doc).getString("value"));
+ assertNull(searcher.doc(td.scoreDocs[2].doc).getString("value"));
ir.close();
dir.close();
@@ -611,35 +572,26 @@ public class TestSort extends LuceneTest
public void testDouble() throws IOException {
Directory dir = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
- Document doc = new Document();
- doc.add(new DoubleDocValuesField("value", 30.1));
- doc.add(newStringField("value", "30.1", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new DoubleDocValuesField("value", -1.3));
- doc.add(newStringField("value", "-1.3", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new DoubleDocValuesField("value", 4.2333333333333));
- doc.add(newStringField("value", "4.2333333333333", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new DoubleDocValuesField("value", 4.2333333333332));
- doc.add(newStringField("value", "4.2333333333332", Field.Store.YES));
- writer.addDocument(doc);
+ FieldTypes fieldTypes = writer.getFieldTypes();
+
+ for(double value : new double[] {30.1, -1.3, 4.2333333333333, 4.2333333333332}) {
+ Document2 doc = writer.newDocument();
+ doc.addDouble("value", value);
+ writer.addDocument(doc);
+ }
IndexReader ir = writer.getReader();
writer.close();
IndexSearcher searcher = newSearcher(ir);
- Sort sort = new Sort(new SortField("value", SortField.Type.DOUBLE));
+ Sort sort = fieldTypes.newSort("value");
TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
assertEquals(4, td.totalHits);
// numeric order
- assertEquals("-1.3", searcher.doc(td.scoreDocs[0].doc).get("value"));
- assertEquals("4.2333333333332", searcher.doc(td.scoreDocs[1].doc).get("value"));
- assertEquals("4.2333333333333", searcher.doc(td.scoreDocs[2].doc).get("value"));
- assertEquals("30.1", searcher.doc(td.scoreDocs[3].doc).get("value"));
+ assertEquals("-1.3", searcher.doc(td.scoreDocs[0].doc).getString("value"));
+ assertEquals("4.2333333333332", searcher.doc(td.scoreDocs[1].doc).getString("value"));
+ assertEquals("4.2333333333333", searcher.doc(td.scoreDocs[2].doc).getString("value"));
+ assertEquals("30.1", searcher.doc(td.scoreDocs[3].doc).getString("value"));
ir.close();
dir.close();
@@ -649,26 +601,24 @@ public class TestSort extends LuceneTest
public void testDoubleSignedZero() throws IOException {
Directory dir = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
- Document doc = new Document();
- doc.add(new DoubleDocValuesField("value", +0D));
- doc.add(newStringField("value", "+0", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new DoubleDocValuesField("value", -0D));
- doc.add(newStringField("value", "-0", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
+ FieldTypes fieldTypes = writer.getFieldTypes();
+ for(double value : new double[] {+0D, -0D}) {
+ Document2 doc = writer.newDocument();
+ doc.addDouble("value", value);
+ writer.addDocument(doc);
+ }
+
IndexReader ir = writer.getReader();
writer.close();
IndexSearcher searcher = newSearcher(ir);
- Sort sort = new Sort(new SortField("value", SortField.Type.DOUBLE));
+ Sort sort = fieldTypes.newSort("value");
TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
assertEquals(2, td.totalHits);
// numeric order
- assertEquals("-0", searcher.doc(td.scoreDocs[0].doc).get("value"));
- assertEquals("+0", searcher.doc(td.scoreDocs[1].doc).get("value"));
+ assertEquals(-0D, searcher.doc(td.scoreDocs[0].doc).getDouble("value").doubleValue(), 0.0D);
+ assertEquals(+0D, searcher.doc(td.scoreDocs[1].doc).getDouble("value").doubleValue(), 0.0D);
ir.close();
dir.close();
@@ -678,71 +628,56 @@ public class TestSort extends LuceneTest
public void testDoubleReverse() throws IOException {
Directory dir = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
- Document doc = new Document();
- doc.add(new DoubleDocValuesField("value", 30.1));
- doc.add(newStringField("value", "30.1", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new DoubleDocValuesField("value", -1.3));
- doc.add(newStringField("value", "-1.3", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new DoubleDocValuesField("value", 4.2333333333333));
- doc.add(newStringField("value", "4.2333333333333", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new DoubleDocValuesField("value", 4.2333333333332));
- doc.add(newStringField("value", "4.2333333333332", Field.Store.YES));
- writer.addDocument(doc);
+ FieldTypes fieldTypes = writer.getFieldTypes();
+
+ for(double value : new double[] {30.1, -1.3, 4.2333333333333, 4.2333333333332}) {
+ Document2 doc = writer.newDocument();
+ doc.addDouble("value", value);
+ writer.addDocument(doc);
+ }
IndexReader ir = writer.getReader();
writer.close();
IndexSearcher searcher = newSearcher(ir);
- Sort sort = new Sort(new SortField("value", SortField.Type.DOUBLE, true));
+ Sort sort = fieldTypes.newSort("value", true);
TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
assertEquals(4, td.totalHits);
// numeric order
- assertEquals("30.1", searcher.doc(td.scoreDocs[0].doc).get("value"));
- assertEquals("4.2333333333333", searcher.doc(td.scoreDocs[1].doc).get("value"));
- assertEquals("4.2333333333332", searcher.doc(td.scoreDocs[2].doc).get("value"));
- assertEquals("-1.3", searcher.doc(td.scoreDocs[3].doc).get("value"));
+ assertEquals("30.1", searcher.doc(td.scoreDocs[0].doc).getString("value"));
+ assertEquals("4.2333333333333", searcher.doc(td.scoreDocs[1].doc).getString("value"));
+ assertEquals("4.2333333333332", searcher.doc(td.scoreDocs[2].doc).getString("value"));
+ assertEquals("-1.3", searcher.doc(td.scoreDocs[3].doc).getString("value"));
ir.close();
dir.close();
}
/** Tests sorting on type double with a missing value */
- public void testDoubleMissing() throws IOException {
+ public void testDoubleMissingDefault() throws IOException {
Directory dir = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
- Document doc = new Document();
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new DoubleDocValuesField("value", -1.3));
- doc.add(newStringField("value", "-1.3", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new DoubleDocValuesField("value", 4.2333333333333));
- doc.add(newStringField("value", "4.2333333333333", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new DoubleDocValuesField("value", 4.2333333333332));
- doc.add(newStringField("value", "4.2333333333332", Field.Store.YES));
- writer.addDocument(doc);
+ FieldTypes fieldTypes = writer.getFieldTypes();
+ writer.addDocument(writer.newDocument());
+ for(double value : new double[] {-1.3, 4.2333333333333, 4.2333333333332}) {
+ Document2 doc = writer.newDocument();
+ doc.addDouble("value", value);
+ writer.addDocument(doc);
+ }
IndexReader ir = writer.getReader();
writer.close();
IndexSearcher searcher = newSearcher(ir);
- Sort sort = new Sort(new SortField("value", SortField.Type.DOUBLE));
+ Sort sort = fieldTypes.newSort("value");
TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
assertEquals(4, td.totalHits);
- // null treated as a 0
- assertEquals("-1.3", searcher.doc(td.scoreDocs[0].doc).get("value"));
- assertNull(searcher.doc(td.scoreDocs[1].doc).get("value"));
- assertEquals("4.2333333333332", searcher.doc(td.scoreDocs[2].doc).get("value"));
- assertEquals("4.2333333333333", searcher.doc(td.scoreDocs[3].doc).get("value"));
+
+ // sort missing last by default:
+ assertEquals("-1.3", searcher.doc(td.scoreDocs[0].doc).getString("value"));
+ assertEquals("4.2333333333332", searcher.doc(td.scoreDocs[1].doc).getString("value"));
+ assertEquals("4.2333333333333", searcher.doc(td.scoreDocs[2].doc).getString("value"));
+ assertNull(searcher.doc(td.scoreDocs[3].doc).get("value"));
ir.close();
dir.close();
@@ -752,34 +687,25 @@ public class TestSort extends LuceneTest
public void testDoubleMissingLast() throws IOException {
Directory dir = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
- Document doc = new Document();
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new DoubleDocValuesField("value", -1.3));
- doc.add(newStringField("value", "-1.3", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new DoubleDocValuesField("value", 4.2333333333333));
- doc.add(newStringField("value", "4.2333333333333", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new DoubleDocValuesField("value", 4.2333333333332));
- doc.add(newStringField("value", "4.2333333333332", Field.Store.YES));
- writer.addDocument(doc);
+ FieldTypes fieldTypes = writer.getFieldTypes();
+ writer.addDocument(writer.newDocument());
+ for(double value : new double[] {-1.3, 4.2333333333333, 4.2333333333332}) {
+ Document2 doc = writer.newDocument();
+ doc.addDouble("value", value);
+ writer.addDocument(doc);
+ }
IndexReader ir = writer.getReader();
writer.close();
IndexSearcher searcher = newSearcher(ir);
- SortField sortField = new SortField("value", SortField.Type.DOUBLE);
- sortField.setMissingValue(Double.MAX_VALUE);
- Sort sort = new Sort(sortField);
+ Sort sort = fieldTypes.newSort("value");
TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
assertEquals(4, td.totalHits);
- // null treated as Double.MAX_VALUE
- assertEquals("-1.3", searcher.doc(td.scoreDocs[0].doc).get("value"));
- assertEquals("4.2333333333332", searcher.doc(td.scoreDocs[1].doc).get("value"));
- assertEquals("4.2333333333333", searcher.doc(td.scoreDocs[2].doc).get("value"));
+
+ assertEquals("-1.3", searcher.doc(td.scoreDocs[0].doc).getString("value"));
+ assertEquals("4.2333333333332", searcher.doc(td.scoreDocs[1].doc).getString("value"));
+ assertEquals("4.2333333333333", searcher.doc(td.scoreDocs[2].doc).getString("value"));
assertNull(searcher.doc(td.scoreDocs[3].doc).get("value"));
ir.close();
Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestSortRescorer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestSortRescorer.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestSortRescorer.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestSortRescorer.java Tue Nov 11 11:24:51 2014
@@ -21,9 +21,7 @@ import java.io.IOException;
import java.util.Arrays;
import java.util.Comparator;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.NumericDocValuesField;
+import org.apache.lucene.document.Document2;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.RandomIndexWriter;
@@ -43,22 +41,22 @@ public class TestSortRescorer extends Lu
dir = newDirectory();
RandomIndexWriter iw = new RandomIndexWriter(random(), dir);
- Document doc = new Document();
- doc.add(newStringField("id", "1", Field.Store.YES));
- doc.add(newTextField("body", "some contents and more contents", Field.Store.NO));
- doc.add(new NumericDocValuesField("popularity", 5));
+ Document2 doc = iw.newDocument();
+ doc.addUniqueAtom("id", "1");
+ doc.addLargeText("body", "some contents and more contents");
+ doc.addInt("popularity", 5);
iw.addDocument(doc);
- doc = new Document();
- doc.add(newStringField("id", "2", Field.Store.YES));
- doc.add(newTextField("body", "another document with different contents", Field.Store.NO));
- doc.add(new NumericDocValuesField("popularity", 20));
+ doc = iw.newDocument();
+ doc.addUniqueAtom("id", "2");
+ doc.addLargeText("body", "another document with different contents");
+ doc.addInt("popularity", 20);
iw.addDocument(doc);
- doc = new Document();
- doc.add(newStringField("id", "3", Field.Store.YES));
- doc.add(newTextField("body", "crappy contents", Field.Store.NO));
- doc.add(new NumericDocValuesField("popularity", 2));
+ doc = iw.newDocument();
+ doc.addUniqueAtom("id", "3");
+ doc.addLargeText("body", "crappy contents");
+ doc.addInt("popularity", 2);
iw.addDocument(doc);
reader = iw.getReader();
@@ -116,16 +114,16 @@ public class TestSortRescorer extends Lu
final int[] idToNum = new int[numDocs];
int maxValue = TestUtil.nextInt(random(), 10, 1000000);
for(int i=0;i<numDocs;i++) {
- Document doc = new Document();
- doc.add(newStringField("id", ""+i, Field.Store.YES));
+ Document2 doc = w.newDocument();
+ doc.addUniqueAtom("id", ""+i);
int numTokens = TestUtil.nextInt(random(), 1, 10);
StringBuilder b = new StringBuilder();
for(int j=0;j<numTokens;j++) {
b.append("a ");
}
- doc.add(newTextField("field", b.toString(), Field.Store.NO));
+ doc.addLargeText("field", b.toString());
idToNum[i] = random().nextInt(maxValue);
- doc.add(new NumericDocValuesField("num", idToNum[i]));
+ doc.addInt("num", idToNum[i]);
w.addDocument(doc);
}
final IndexReader r = w.getReader();
Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestSortedNumericSortField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestSortedNumericSortField.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestSortedNumericSortField.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestSortedNumericSortField.java Tue Nov 11 11:24:51 2014
@@ -17,16 +17,14 @@ package org.apache.lucene.search;
* limitations under the License.
*/
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.SortedNumericDocValuesField;
+import org.apache.lucene.document.Document2;
+import org.apache.lucene.document.FieldTypes;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.MultiReader;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.Term;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.NumericUtils;
/** Simple tests for SortedNumericSortField */
public class TestSortedNumericSortField extends LuceneTestCase {
@@ -67,15 +65,17 @@ public class TestSortedNumericSortField
public void testForward() throws Exception {
Directory dir = newDirectory();
- RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
- Document doc = new Document();
- doc.add(new SortedNumericDocValuesField("value", 5));
- doc.add(newStringField("id", "2", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new SortedNumericDocValuesField("value", 3));
- doc.add(new SortedNumericDocValuesField("value", 7));
- doc.add(newStringField("id", "1", Field.Store.YES));
+ RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
+ FieldTypes fieldTypes = writer.getFieldTypes();
+ fieldTypes.setMultiValued("value");
+ Document2 doc = writer.newDocument();
+ doc.addInt("value", 5);
+ doc.addUniqueAtom("id", "2");
+ writer.addDocument(doc);
+ doc = writer.newDocument();
+ doc.addInt("value", 3);
+ doc.addInt("value", 7);
+ doc.addUniqueAtom("id", "1");
writer.addDocument(doc);
IndexReader ir = writer.getReader();
writer.close();
@@ -96,14 +96,16 @@ public class TestSortedNumericSortField
public void testReverse() throws Exception {
Directory dir = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
- Document doc = new Document();
- doc.add(new SortedNumericDocValuesField("value", 3));
- doc.add(new SortedNumericDocValuesField("value", 7));
- doc.add(newStringField("id", "1", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new SortedNumericDocValuesField("value", 5));
- doc.add(newStringField("id", "2", Field.Store.YES));
+ FieldTypes fieldTypes = writer.getFieldTypes();
+ fieldTypes.setMultiValued("value");
+ Document2 doc = writer.newDocument();
+ doc.addInt("value", 3);
+ doc.addInt("value", 7);
+ doc.addUniqueAtom("id", "1");
+ writer.addDocument(doc);
+ doc = writer.newDocument();
+ doc.addInt("value", 5);
+ doc.addUniqueAtom("id", "2");
writer.addDocument(doc);
IndexReader ir = writer.getReader();
@@ -125,25 +127,28 @@ public class TestSortedNumericSortField
public void testMissingFirst() throws Exception {
Directory dir = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
- Document doc = new Document();
- doc.add(new SortedNumericDocValuesField("value", 5));
- doc.add(newStringField("id", "2", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new SortedNumericDocValuesField("value", 3));
- doc.add(new SortedNumericDocValuesField("value", 7));
- doc.add(newStringField("id", "1", Field.Store.YES));
+ FieldTypes fieldTypes = writer.getFieldTypes();
+ fieldTypes.setMultiValued("value");
+ fieldTypes.enableSorting("value");
+ fieldTypes.setSortMissingFirst("value");
+
+ Document2 doc = writer.newDocument();
+ doc.addInt("value", 5);
+ doc.addUniqueAtom("id", "2");
+ writer.addDocument(doc);
+ doc = writer.newDocument();
+ doc.addInt("value", 3);
+ doc.addInt("value", 7);
+ doc.addUniqueAtom("id", "1");
writer.addDocument(doc);
- doc = new Document();
- doc.add(newStringField("id", "3", Field.Store.YES));
+ doc = writer.newDocument();
+ doc.addUniqueAtom("id", "3");
writer.addDocument(doc);
IndexReader ir = writer.getReader();
writer.close();
IndexSearcher searcher = newSearcher(ir);
- SortField sortField = new SortedNumericSortField("value", SortField.Type.INT);
- sortField.setMissingValue(Integer.MIN_VALUE);
- Sort sort = new Sort(sortField);
+ Sort sort = fieldTypes.newSort("value");
TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
assertEquals(3, td.totalHits);
@@ -160,25 +165,25 @@ public class TestSortedNumericSortField
public void testMissingLast() throws Exception {
Directory dir = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
- Document doc = new Document();
- doc.add(new SortedNumericDocValuesField("value", 5));
- doc.add(newStringField("id", "2", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new SortedNumericDocValuesField("value", 3));
- doc.add(new SortedNumericDocValuesField("value", 7));
- doc.add(newStringField("id", "1", Field.Store.YES));
+ FieldTypes fieldTypes = writer.getFieldTypes();
+ fieldTypes.setMultiValued("value");
+ Document2 doc = writer.newDocument();
+ doc.addInt("value", 5);
+ doc.addUniqueAtom("id", "2");
+ writer.addDocument(doc);
+ doc = writer.newDocument();
+ doc.addInt("value", 3);
+ doc.addInt("value", 7);
+ doc.addUniqueAtom("id", "1");
writer.addDocument(doc);
- doc = new Document();
- doc.add(newStringField("id", "3", Field.Store.YES));
+ doc = writer.newDocument();
+ doc.addUniqueAtom("id", "3");
writer.addDocument(doc);
IndexReader ir = writer.getReader();
writer.close();
IndexSearcher searcher = newSearcher(ir);
- SortField sortField = new SortedNumericSortField("value", SortField.Type.INT);
- sortField.setMissingValue(Integer.MAX_VALUE);
- Sort sort = new Sort(sortField);
+ Sort sort = fieldTypes.newSort("value");
TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
assertEquals(3, td.totalHits);
@@ -195,19 +200,20 @@ public class TestSortedNumericSortField
public void testSingleton() throws Exception {
Directory dir = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
- Document doc = new Document();
- doc.add(new SortedNumericDocValuesField("value", 5));
- doc.add(newStringField("id", "2", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new SortedNumericDocValuesField("value", 3));
- doc.add(newStringField("id", "1", Field.Store.YES));
+ FieldTypes fieldTypes = writer.getFieldTypes();
+ Document2 doc = writer.newDocument();
+ doc.addInt("value", 5);
+ doc.addUniqueAtom("id", "2");
+ writer.addDocument(doc);
+ doc = writer.newDocument();
+ doc.addInt("value", 3);
+ doc.addUniqueAtom("id", "1");
writer.addDocument(doc);
IndexReader ir = writer.getReader();
writer.close();
IndexSearcher searcher = newSearcher(ir);
- Sort sort = new Sort(new SortedNumericSortField("value", SortField.Type.INT));
+ Sort sort = fieldTypes.newSort("value");
TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
assertEquals(2, td.totalHits);
@@ -222,20 +228,24 @@ public class TestSortedNumericSortField
public void testFloat() throws Exception {
Directory dir = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
- Document doc = new Document();
- doc.add(new SortedNumericDocValuesField("value", NumericUtils.floatToSortableInt(-3f)));
- doc.add(newStringField("id", "2", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new SortedNumericDocValuesField("value", NumericUtils.floatToSortableInt(-5f)));
- doc.add(new SortedNumericDocValuesField("value", NumericUtils.floatToSortableInt(7f)));
- doc.add(newStringField("id", "1", Field.Store.YES));
+ FieldTypes fieldTypes = writer.getFieldTypes();
+ fieldTypes.setMultiValued("value");
+
+ Document2 doc = writer.newDocument();
+ doc.addFloat("value", -3f);
+ doc.addUniqueAtom("id", "2");
+ writer.addDocument(doc);
+ doc = writer.newDocument();
+ doc.addFloat("value", -5f);
+ doc.addFloat("value", 7f);
+ doc.addUniqueAtom("id", "1");
writer.addDocument(doc);
IndexReader ir = writer.getReader();
writer.close();
IndexSearcher searcher = newSearcher(ir);
- Sort sort = new Sort(new SortedNumericSortField("value", SortField.Type.FLOAT));
+ Sort sort = fieldTypes.newSort("value");
+ System.out.println("sort: " + sort);
TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
assertEquals(2, td.totalHits);
@@ -250,20 +260,23 @@ public class TestSortedNumericSortField
public void testDouble() throws Exception {
Directory dir = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
- Document doc = new Document();
- doc.add(new SortedNumericDocValuesField("value", NumericUtils.doubleToSortableLong(-3d)));
- doc.add(newStringField("id", "2", Field.Store.YES));
- writer.addDocument(doc);
- doc = new Document();
- doc.add(new SortedNumericDocValuesField("value", NumericUtils.doubleToSortableLong(-5d)));
- doc.add(new SortedNumericDocValuesField("value", NumericUtils.doubleToSortableLong(7d)));
- doc.add(newStringField("id", "1", Field.Store.YES));
+ FieldTypes fieldTypes = writer.getFieldTypes();
+ fieldTypes.setMultiValued("value");
+
+ Document2 doc = writer.newDocument();
+ doc.addDouble("value", -3d);
+ doc.addUniqueAtom("id", "2");
+ writer.addDocument(doc);
+ doc = writer.newDocument();
+ doc.addDouble("value", -5d);
+ doc.addDouble("value", 7d);
+ doc.addUniqueAtom("id", "1");
writer.addDocument(doc);
IndexReader ir = writer.getReader();
writer.close();
IndexSearcher searcher = newSearcher(ir);
- Sort sort = new Sort(new SortedNumericSortField("value", SortField.Type.DOUBLE));
+ Sort sort = fieldTypes.newSort("value");
TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
assertEquals(2, td.totalHits);
Modified: lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestSubScorerFreqs.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestSubScorerFreqs.java?rev=1638066&r1=1638065&r2=1638066&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestSubScorerFreqs.java (original)
+++ lucene/dev/branches/lucene6005/lucene/core/src/test/org/apache/lucene/search/TestSubScorerFreqs.java Tue Nov 11 11:24:51 2014
@@ -44,12 +44,12 @@ public class TestSubScorerFreqs extends
// make sure we have more than one segment occationally
int num = atLeast(31);
for (int i = 0; i < num; i++) {
- Document doc = new Document();
- doc.add(newTextField("f", "a b c d b c d c d d", Field.Store.NO));
+ Document2 doc = w.newDocument();
+ doc.addLargeText("f", "a b c d b c d c d d");
w.addDocument(doc);
- doc = new Document();
- doc.add(newTextField("f", "a b c d", Field.Store.NO));
+ doc = w.newDocument();
+ doc.addLargeText("f", "a b c d");
w.addDocument(doc);
}