mirror of https://github.com/apache/lucene.git
LUCENE-7075: remove legacy numericutils usage from test.
This commit is contained in:
parent
dd1dd46b8e
commit
4cc9ad44df
|
@ -26,8 +26,8 @@ import java.util.Locale;
|
||||||
import org.apache.lucene.analysis.MockAnalyzer;
|
import org.apache.lucene.analysis.MockAnalyzer;
|
||||||
import org.apache.lucene.document.Document;
|
import org.apache.lucene.document.Document;
|
||||||
import org.apache.lucene.document.Field.Store;
|
import org.apache.lucene.document.Field.Store;
|
||||||
|
import org.apache.lucene.document.IntPoint;
|
||||||
import org.apache.lucene.document.Field;
|
import org.apache.lucene.document.Field;
|
||||||
import org.apache.lucene.document.LegacyIntField;
|
|
||||||
import org.apache.lucene.document.NumericDocValuesField;
|
import org.apache.lucene.document.NumericDocValuesField;
|
||||||
import org.apache.lucene.document.SortedDocValuesField;
|
import org.apache.lucene.document.SortedDocValuesField;
|
||||||
import org.apache.lucene.document.StoredField;
|
import org.apache.lucene.document.StoredField;
|
||||||
|
@ -52,10 +52,8 @@ import org.apache.lucene.search.DocIdSetIterator;
|
||||||
import org.apache.lucene.search.Explanation;
|
import org.apache.lucene.search.Explanation;
|
||||||
import org.apache.lucene.search.FieldDoc;
|
import org.apache.lucene.search.FieldDoc;
|
||||||
import org.apache.lucene.search.IndexSearcher;
|
import org.apache.lucene.search.IndexSearcher;
|
||||||
import org.apache.lucene.search.LegacyNumericRangeQuery;
|
|
||||||
import org.apache.lucene.search.MatchAllDocsQuery;
|
import org.apache.lucene.search.MatchAllDocsQuery;
|
||||||
import org.apache.lucene.search.MatchNoDocsQuery;
|
import org.apache.lucene.search.MatchNoDocsQuery;
|
||||||
import org.apache.lucene.search.MultiTermQuery;
|
|
||||||
import org.apache.lucene.search.PrefixQuery;
|
import org.apache.lucene.search.PrefixQuery;
|
||||||
import org.apache.lucene.search.Query;
|
import org.apache.lucene.search.Query;
|
||||||
import org.apache.lucene.search.QueryUtils;
|
import org.apache.lucene.search.QueryUtils;
|
||||||
|
@ -73,8 +71,6 @@ import org.apache.lucene.store.Directory;
|
||||||
import org.apache.lucene.util.BitSet;
|
import org.apache.lucene.util.BitSet;
|
||||||
import org.apache.lucene.util.Bits;
|
import org.apache.lucene.util.Bits;
|
||||||
import org.apache.lucene.util.BytesRef;
|
import org.apache.lucene.util.BytesRef;
|
||||||
import org.apache.lucene.util.BytesRefBuilder;
|
|
||||||
import org.apache.lucene.util.LegacyNumericUtils;
|
|
||||||
import org.apache.lucene.util.LuceneTestCase;
|
import org.apache.lucene.util.LuceneTestCase;
|
||||||
import org.apache.lucene.util.TestUtil;
|
import org.apache.lucene.util.TestUtil;
|
||||||
|
|
||||||
|
@ -93,7 +89,7 @@ public class TestBlockJoin extends LuceneTestCase {
|
||||||
private Document makeJob(String skill, int year) {
|
private Document makeJob(String skill, int year) {
|
||||||
Document job = new Document();
|
Document job = new Document();
|
||||||
job.add(newStringField("skill", skill, Field.Store.YES));
|
job.add(newStringField("skill", skill, Field.Store.YES));
|
||||||
job.add(new LegacyIntField("year", year, Field.Store.NO));
|
job.add(new IntPoint("year", year));
|
||||||
job.add(new StoredField("year", year));
|
job.add(new StoredField("year", year));
|
||||||
return job;
|
return job;
|
||||||
}
|
}
|
||||||
|
@ -102,7 +98,7 @@ public class TestBlockJoin extends LuceneTestCase {
|
||||||
private Document makeQualification(String qualification, int year) {
|
private Document makeQualification(String qualification, int year) {
|
||||||
Document job = new Document();
|
Document job = new Document();
|
||||||
job.add(newStringField("qualification", qualification, Field.Store.YES));
|
job.add(newStringField("qualification", qualification, Field.Store.YES));
|
||||||
job.add(new LegacyIntField("year", year, Field.Store.NO));
|
job.add(new IntPoint("year", year));
|
||||||
return job;
|
return job;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -135,7 +131,7 @@ public class TestBlockJoin extends LuceneTestCase {
|
||||||
|
|
||||||
BooleanQuery.Builder childQuery = new BooleanQuery.Builder();
|
BooleanQuery.Builder childQuery = new BooleanQuery.Builder();
|
||||||
childQuery.add(new BooleanClause(new TermQuery(new Term("skill", "java")), Occur.MUST));
|
childQuery.add(new BooleanClause(new TermQuery(new Term("skill", "java")), Occur.MUST));
|
||||||
childQuery.add(new BooleanClause(LegacyNumericRangeQuery.newIntRange("year", 2006, 2011, true, true), Occur.MUST));
|
childQuery.add(new BooleanClause(IntPoint.newRangeQuery("year", 2006, 2011), Occur.MUST));
|
||||||
|
|
||||||
ToParentBlockJoinQuery childJoinQuery = new ToParentBlockJoinQuery(childQuery.build(), parentsFilter, ScoreMode.Avg);
|
ToParentBlockJoinQuery childJoinQuery = new ToParentBlockJoinQuery(childQuery.build(), parentsFilter, ScoreMode.Avg);
|
||||||
|
|
||||||
|
@ -189,7 +185,7 @@ public class TestBlockJoin extends LuceneTestCase {
|
||||||
// Define child document criteria (finds an example of relevant work experience)
|
// Define child document criteria (finds an example of relevant work experience)
|
||||||
BooleanQuery.Builder childQuery = new BooleanQuery.Builder();
|
BooleanQuery.Builder childQuery = new BooleanQuery.Builder();
|
||||||
childQuery.add(new BooleanClause(new TermQuery(new Term("skill", "java")), Occur.MUST));
|
childQuery.add(new BooleanClause(new TermQuery(new Term("skill", "java")), Occur.MUST));
|
||||||
childQuery.add(new BooleanClause(LegacyNumericRangeQuery.newIntRange("year", 2006, 2011, true, true), Occur.MUST));
|
childQuery.add(new BooleanClause(IntPoint.newRangeQuery("year", 2006, 2011), Occur.MUST));
|
||||||
|
|
||||||
// Define parent document criteria (find a resident in the UK)
|
// Define parent document criteria (find a resident in the UK)
|
||||||
Query parentQuery = new TermQuery(new Term("country", "United Kingdom"));
|
Query parentQuery = new TermQuery(new Term("country", "United Kingdom"));
|
||||||
|
@ -269,23 +265,30 @@ public class TestBlockJoin extends LuceneTestCase {
|
||||||
w.close();
|
w.close();
|
||||||
IndexSearcher s = newSearcher(r);
|
IndexSearcher s = newSearcher(r);
|
||||||
|
|
||||||
MultiTermQuery qc = LegacyNumericRangeQuery.newIntRange("year", 2007, 2007, true, true);
|
|
||||||
// Hacky: this causes the query to need 2 rewrite
|
// Hacky: this causes the query to need 2 rewrite
|
||||||
// iterations:
|
// iterations:
|
||||||
qc.setRewriteMethod(MultiTermQuery.CONSTANT_SCORE_BOOLEAN_REWRITE);
|
BooleanQuery.Builder builder = new BooleanQuery.Builder();
|
||||||
|
builder.add(IntPoint.newExactQuery("year", 2007), BooleanClause.Occur.MUST);
|
||||||
|
Query qc = new Query() {
|
||||||
|
@Override
|
||||||
|
public Query rewrite(IndexReader reader) throws IOException {
|
||||||
|
return builder.build();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString(String field) {
|
||||||
|
return "hack!";
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
BitSetProducer parentsFilter = new QueryBitSetProducer(new TermQuery(new Term("docType", "resume")));
|
BitSetProducer parentsFilter = new QueryBitSetProducer(new TermQuery(new Term("docType", "resume")));
|
||||||
CheckJoinIndex.check(r, parentsFilter);
|
CheckJoinIndex.check(r, parentsFilter);
|
||||||
|
|
||||||
int h1 = qc.hashCode();
|
|
||||||
Query qw1 = qc.rewrite(r);
|
Query qw1 = qc.rewrite(r);
|
||||||
int h2 = qw1.hashCode();
|
|
||||||
Query qw2 = qw1.rewrite(r);
|
Query qw2 = qw1.rewrite(r);
|
||||||
int h3 = qw2.hashCode();
|
|
||||||
|
|
||||||
assertTrue(h1 != h2);
|
assertNotSame(qc, qw1);
|
||||||
assertTrue(h2 != h3);
|
assertNotSame(qw1, qw2);
|
||||||
assertTrue(h3 != h1);
|
|
||||||
|
|
||||||
ToParentBlockJoinQuery qp = new ToParentBlockJoinQuery(qc, parentsFilter, ScoreMode.Max);
|
ToParentBlockJoinQuery qp = new ToParentBlockJoinQuery(qc, parentsFilter, ScoreMode.Max);
|
||||||
ToParentBlockJoinCollector c = new ToParentBlockJoinCollector(Sort.RELEVANCE, 10, true, true);
|
ToParentBlockJoinCollector c = new ToParentBlockJoinCollector(Sort.RELEVANCE, 10, true, true);
|
||||||
|
@ -342,7 +345,7 @@ public class TestBlockJoin extends LuceneTestCase {
|
||||||
// Define child document criteria (finds an example of relevant work experience)
|
// Define child document criteria (finds an example of relevant work experience)
|
||||||
BooleanQuery.Builder childQuery = new BooleanQuery.Builder();
|
BooleanQuery.Builder childQuery = new BooleanQuery.Builder();
|
||||||
childQuery.add(new BooleanClause(new TermQuery(new Term("skill", "java")), Occur.MUST));
|
childQuery.add(new BooleanClause(new TermQuery(new Term("skill", "java")), Occur.MUST));
|
||||||
childQuery.add(new BooleanClause(LegacyNumericRangeQuery.newIntRange("year", 2006, 2011, true, true), Occur.MUST));
|
childQuery.add(new BooleanClause(IntPoint.newRangeQuery("year", 2006, 2011), Occur.MUST));
|
||||||
|
|
||||||
// Define parent document criteria (find a resident in the UK)
|
// Define parent document criteria (find a resident in the UK)
|
||||||
Query parentQuery = new TermQuery(new Term("country", "United Kingdom"));
|
Query parentQuery = new TermQuery(new Term("country", "United Kingdom"));
|
||||||
|
@ -516,7 +519,7 @@ public class TestBlockJoin extends LuceneTestCase {
|
||||||
for(int parentDocID=0;parentDocID<numParentDocs;parentDocID++) {
|
for(int parentDocID=0;parentDocID<numParentDocs;parentDocID++) {
|
||||||
Document parentDoc = new Document();
|
Document parentDoc = new Document();
|
||||||
Document parentJoinDoc = new Document();
|
Document parentJoinDoc = new Document();
|
||||||
Field id = new LegacyIntField("parentID", parentDocID, Field.Store.YES);
|
Field id = new StoredField("parentID", parentDocID);
|
||||||
parentDoc.add(id);
|
parentDoc.add(id);
|
||||||
parentJoinDoc.add(id);
|
parentJoinDoc.add(id);
|
||||||
parentJoinDoc.add(newStringField("isParent", "x", Field.Store.NO));
|
parentJoinDoc.add(newStringField("isParent", "x", Field.Store.NO));
|
||||||
|
@ -538,8 +541,8 @@ public class TestBlockJoin extends LuceneTestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (doDeletes) {
|
if (doDeletes) {
|
||||||
parentDoc.add(new LegacyIntField("blockID", parentDocID, Field.Store.NO));
|
parentDoc.add(new IntPoint("blockID", parentDocID));
|
||||||
parentJoinDoc.add(new LegacyIntField("blockID", parentDocID, Field.Store.NO));
|
parentJoinDoc.add(new IntPoint("blockID", parentDocID));
|
||||||
}
|
}
|
||||||
|
|
||||||
final List<Document> joinDocs = new ArrayList<>();
|
final List<Document> joinDocs = new ArrayList<>();
|
||||||
|
@ -563,7 +566,7 @@ public class TestBlockJoin extends LuceneTestCase {
|
||||||
Document joinChildDoc = new Document();
|
Document joinChildDoc = new Document();
|
||||||
joinDocs.add(joinChildDoc);
|
joinDocs.add(joinChildDoc);
|
||||||
|
|
||||||
Field childID = new LegacyIntField("childID", childDocID, Field.Store.YES);
|
Field childID = new StoredField("childID", childDocID);
|
||||||
childDoc.add(childID);
|
childDoc.add(childID);
|
||||||
joinChildDoc.add(childID);
|
joinChildDoc.add(childID);
|
||||||
childID = new NumericDocValuesField("childID", childDocID);
|
childID = new NumericDocValuesField("childID", childDocID);
|
||||||
|
@ -596,7 +599,7 @@ public class TestBlockJoin extends LuceneTestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (doDeletes) {
|
if (doDeletes) {
|
||||||
joinChildDoc.add(new LegacyIntField("blockID", parentDocID, Field.Store.NO));
|
joinChildDoc.add(new IntPoint("blockID", parentDocID));
|
||||||
}
|
}
|
||||||
|
|
||||||
w.addDocument(childDoc);
|
w.addDocument(childDoc);
|
||||||
|
@ -611,14 +614,15 @@ public class TestBlockJoin extends LuceneTestCase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
BytesRefBuilder term = new BytesRefBuilder();
|
if (!toDelete.isEmpty()) {
|
||||||
for(int deleteID : toDelete) {
|
// TODO: we should add newSetQuery(String, Collection<T>) ? this is awkward.
|
||||||
if (VERBOSE) {
|
int[] array = new int[toDelete.size()];
|
||||||
System.out.println("DELETE parentID=" + deleteID);
|
for (int i = 0; i < toDelete.size(); i++) {
|
||||||
|
array[i] = toDelete.get(i);
|
||||||
}
|
}
|
||||||
LegacyNumericUtils.intToPrefixCoded(deleteID, 0, term);
|
Query query = IntPoint.newSetQuery("blockID", array);
|
||||||
w.deleteDocuments(new Term("blockID", term.toBytesRef()));
|
w.deleteDocuments(query);
|
||||||
joinW.deleteDocuments(new Term("blockID", term.toBytesRef()));
|
joinW.deleteDocuments(query);
|
||||||
}
|
}
|
||||||
|
|
||||||
final IndexReader r = w.getReader();
|
final IndexReader r = w.getReader();
|
||||||
|
@ -1061,11 +1065,11 @@ public class TestBlockJoin extends LuceneTestCase {
|
||||||
// Define child document criteria (finds an example of relevant work experience)
|
// Define child document criteria (finds an example of relevant work experience)
|
||||||
BooleanQuery.Builder childJobQuery = new BooleanQuery.Builder();
|
BooleanQuery.Builder childJobQuery = new BooleanQuery.Builder();
|
||||||
childJobQuery.add(new BooleanClause(new TermQuery(new Term("skill", "java")), Occur.MUST));
|
childJobQuery.add(new BooleanClause(new TermQuery(new Term("skill", "java")), Occur.MUST));
|
||||||
childJobQuery.add(new BooleanClause(LegacyNumericRangeQuery.newIntRange("year", 2006, 2011, true, true), Occur.MUST));
|
childJobQuery.add(new BooleanClause(IntPoint.newRangeQuery("year", 2006, 2011), Occur.MUST));
|
||||||
|
|
||||||
BooleanQuery.Builder childQualificationQuery = new BooleanQuery.Builder();
|
BooleanQuery.Builder childQualificationQuery = new BooleanQuery.Builder();
|
||||||
childQualificationQuery.add(new BooleanClause(new TermQuery(new Term("qualification", "maths")), Occur.MUST));
|
childQualificationQuery.add(new BooleanClause(new TermQuery(new Term("qualification", "maths")), Occur.MUST));
|
||||||
childQualificationQuery.add(new BooleanClause(LegacyNumericRangeQuery.newIntRange("year", 1980, 2000, true, true), Occur.MUST));
|
childQualificationQuery.add(new BooleanClause(IntPoint.newRangeQuery("year", 1980, 2000), Occur.MUST));
|
||||||
|
|
||||||
|
|
||||||
// Define parent document criteria (find a resident in the UK)
|
// Define parent document criteria (find a resident in the UK)
|
||||||
|
@ -1210,7 +1214,7 @@ public class TestBlockJoin extends LuceneTestCase {
|
||||||
// Define child document criteria (finds an example of relevant work experience)
|
// Define child document criteria (finds an example of relevant work experience)
|
||||||
BooleanQuery.Builder childQuery = new BooleanQuery.Builder();
|
BooleanQuery.Builder childQuery = new BooleanQuery.Builder();
|
||||||
childQuery.add(new BooleanClause(new TermQuery(new Term("skill", "java")), Occur.MUST));
|
childQuery.add(new BooleanClause(new TermQuery(new Term("skill", "java")), Occur.MUST));
|
||||||
childQuery.add(new BooleanClause(LegacyNumericRangeQuery.newIntRange("year", 2006, 2011, true, true), Occur.MUST));
|
childQuery.add(new BooleanClause(IntPoint.newRangeQuery("year", 2006, 2011), Occur.MUST));
|
||||||
|
|
||||||
// Wrap the child document query to 'join' any matches
|
// Wrap the child document query to 'join' any matches
|
||||||
// up to corresponding parent:
|
// up to corresponding parent:
|
||||||
|
@ -1707,7 +1711,7 @@ public class TestBlockJoin extends LuceneTestCase {
|
||||||
Query resumeQuery = new ToChildBlockJoinQuery(new TermQuery(new Term("country","rv" + qrv)),
|
Query resumeQuery = new ToChildBlockJoinQuery(new TermQuery(new Term("country","rv" + qrv)),
|
||||||
resumeFilter);
|
resumeFilter);
|
||||||
|
|
||||||
Query jobQuery = new ToChildBlockJoinQuery(LegacyNumericRangeQuery.newIntRange("year", qjv, qjv, true, true),
|
Query jobQuery = new ToChildBlockJoinQuery(IntPoint.newRangeQuery("year", qjv, qjv),
|
||||||
jobFilter);
|
jobFilter);
|
||||||
|
|
||||||
BooleanQuery.Builder fullQuery = new BooleanQuery.Builder();
|
BooleanQuery.Builder fullQuery = new BooleanQuery.Builder();
|
||||||
|
|
|
@ -61,11 +61,6 @@ import org.apache.lucene.document.BinaryDocValuesField;
|
||||||
import org.apache.lucene.document.BinaryPoint;
|
import org.apache.lucene.document.BinaryPoint;
|
||||||
import org.apache.lucene.document.Document;
|
import org.apache.lucene.document.Document;
|
||||||
import org.apache.lucene.document.Field;
|
import org.apache.lucene.document.Field;
|
||||||
import org.apache.lucene.document.FieldType.LegacyNumericType;
|
|
||||||
import org.apache.lucene.document.LegacyDoubleField;
|
|
||||||
import org.apache.lucene.document.LegacyFloatField;
|
|
||||||
import org.apache.lucene.document.LegacyIntField;
|
|
||||||
import org.apache.lucene.document.LegacyLongField;
|
|
||||||
import org.apache.lucene.document.NumericDocValuesField;
|
import org.apache.lucene.document.NumericDocValuesField;
|
||||||
import org.apache.lucene.document.SortedDocValuesField;
|
import org.apache.lucene.document.SortedDocValuesField;
|
||||||
import org.apache.lucene.index.CheckIndex;
|
import org.apache.lucene.index.CheckIndex;
|
||||||
|
@ -1072,7 +1067,6 @@ public final class TestUtil {
|
||||||
final Field field2;
|
final Field field2;
|
||||||
final DocValuesType dvType = field1.fieldType().docValuesType();
|
final DocValuesType dvType = field1.fieldType().docValuesType();
|
||||||
final int dimCount = field1.fieldType().pointDimensionCount();
|
final int dimCount = field1.fieldType().pointDimensionCount();
|
||||||
final LegacyNumericType numType = field1.fieldType().numericType();
|
|
||||||
if (dvType != DocValuesType.NONE) {
|
if (dvType != DocValuesType.NONE) {
|
||||||
switch(dvType) {
|
switch(dvType) {
|
||||||
case NUMERIC:
|
case NUMERIC:
|
||||||
|
@ -1092,23 +1086,6 @@ public final class TestUtil {
|
||||||
byte[] bytes = new byte[br.length];
|
byte[] bytes = new byte[br.length];
|
||||||
System.arraycopy(br.bytes, br.offset, bytes, 0, br.length);
|
System.arraycopy(br.bytes, br.offset, bytes, 0, br.length);
|
||||||
field2 = new BinaryPoint(field1.name(), bytes, field1.fieldType());
|
field2 = new BinaryPoint(field1.name(), bytes, field1.fieldType());
|
||||||
} else if (numType != null) {
|
|
||||||
switch (numType) {
|
|
||||||
case INT:
|
|
||||||
field2 = new LegacyIntField(field1.name(), field1.numericValue().intValue(), field1.fieldType());
|
|
||||||
break;
|
|
||||||
case FLOAT:
|
|
||||||
field2 = new LegacyFloatField(field1.name(), field1.numericValue().intValue(), field1.fieldType());
|
|
||||||
break;
|
|
||||||
case LONG:
|
|
||||||
field2 = new LegacyLongField(field1.name(), field1.numericValue().intValue(), field1.fieldType());
|
|
||||||
break;
|
|
||||||
case DOUBLE:
|
|
||||||
field2 = new LegacyDoubleField(field1.name(), field1.numericValue().intValue(), field1.fieldType());
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
throw new IllegalStateException("unknown Type: " + numType);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
field2 = new Field(field1.name(), field1.stringValue(), field1.fieldType());
|
field2 = new Field(field1.name(), field1.stringValue(), field1.fieldType());
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue