LUCENE-5666: fix test
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene5666@1594612 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/lucene/join/src/test/org/apache/lucene/search/join/TestBlockJoin.java b/lucene/join/src/test/org/apache/lucene/search/join/TestBlockJoin.java
index 849e0d5..2b49ba1 100644
--- a/lucene/join/src/test/org/apache/lucene/search/join/TestBlockJoin.java
+++ b/lucene/join/src/test/org/apache/lucene/search/join/TestBlockJoin.java
@@ -17,6 +17,13 @@
* limitations under the License.
*/
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.Locale;
+
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.*;
import org.apache.lucene.index.*;
@@ -27,13 +34,6 @@
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.*;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-import java.util.Locale;
-
public class TestBlockJoin extends LuceneTestCase {
// One resume...
@@ -451,7 +451,7 @@
final String[] values = fields[fieldID] = new String[valueCount];
for(int i=0;i<valueCount;i++) {
values[i] = TestUtil.randomRealisticUnicodeString(random());
- //values[i] = _TestUtil.randomSimpleString(random);
+ //values[i] = TestUtil.randomSimpleString(random());
}
}
@@ -511,9 +511,18 @@
parentDoc.add(id);
parentJoinDoc.add(id);
parentJoinDoc.add(newStringField("isParent", "x", Field.Store.NO));
+ id = new NumericDocValuesField("parentID", parentDocID);
+ parentDoc.add(id);
+ parentJoinDoc.add(id);
+ parentJoinDoc.add(newStringField("isParent", "x", Field.Store.NO));
for(int field=0;field<parentFields.length;field++) {
if (random().nextDouble() < 0.9) {
- Field f = newStringField("parent" + field, parentFields[field][random().nextInt(parentFields[field].length)], Field.Store.NO);
+ String s = parentFields[field][random().nextInt(parentFields[field].length)];
+ Field f = newStringField("parent" + field, s, Field.Store.NO);
+ parentDoc.add(f);
+ parentJoinDoc.add(f);
+
+ f = new SortedDocValuesField("parent" + field, new BytesRef(s));
parentDoc.add(f);
parentJoinDoc.add(f);
}
@@ -548,10 +557,18 @@
Field childID = new IntField("childID", childDocID, Field.Store.YES);
childDoc.add(childID);
joinChildDoc.add(childID);
+ childID = new NumericDocValuesField("childID", childDocID);
+ childDoc.add(childID);
+ joinChildDoc.add(childID);
for(int childFieldID=0;childFieldID<childFields.length;childFieldID++) {
if (random().nextDouble() < 0.9) {
- Field f = newStringField("child" + childFieldID, childFields[childFieldID][random().nextInt(childFields[childFieldID].length)], Field.Store.NO);
+ String s = childFields[childFieldID][random().nextInt(childFields[childFieldID].length)];
+ Field f = newStringField("child" + childFieldID, s, Field.Store.NO);
+ childDoc.add(f);
+ joinChildDoc.add(f);
+
+ f = new SortedDocValuesField("child" + childFieldID, new BytesRef(s));
childDoc.add(f);
joinChildDoc.add(f);
}
@@ -727,7 +744,7 @@
parentAndChildSort);
if (VERBOSE) {
- System.out.println("\nTEST: normal index gets " + results.totalHits + " hits");
+ System.out.println("\nTEST: normal index gets " + results.totalHits + " hits; sort=" + parentAndChildSort);
final ScoreDoc[] hits = results.scoreDocs;
for(int hitIDX=0;hitIDX<hits.length;hitIDX++) {
final StoredDocument doc = s.doc(hits[hitIDX].doc);
@@ -735,7 +752,7 @@
System.out.println(" parentID=" + doc.get("parentID") + " childID=" + doc.get("childID") + " (docID=" + hits[hitIDX].doc + ")");
FieldDoc fd = (FieldDoc) hits[hitIDX];
if (fd.fields != null) {
- System.out.print(" ");
+ System.out.print(" " + fd.fields.length + " sort values: ");
for(Object o : fd.fields) {
if (o instanceof BytesRef) {
System.out.print(((BytesRef) o).utf8ToString() + " ");