|
@@ -44,6 +44,8 @@ import org.apache.lucene.search.SynonymQuery;
|
|
|
import org.apache.lucene.search.TermInSetQuery;
|
|
|
import org.apache.lucene.search.TermQuery;
|
|
|
import org.apache.lucene.search.TermRangeQuery;
|
|
|
+import org.apache.lucene.search.join.QueryBitSetProducer;
|
|
|
+import org.apache.lucene.search.join.ScoreMode;
|
|
|
import org.apache.lucene.search.spans.SpanFirstQuery;
|
|
|
import org.apache.lucene.search.spans.SpanNearQuery;
|
|
|
import org.apache.lucene.search.spans.SpanNotQuery;
|
|
@@ -54,6 +56,7 @@ import org.elasticsearch.common.lucene.search.function.CombineFunction;
|
|
|
import org.elasticsearch.common.lucene.search.function.FunctionScoreQuery;
|
|
|
import org.elasticsearch.common.lucene.search.function.RandomScoreFunction;
|
|
|
import org.elasticsearch.common.network.InetAddresses;
|
|
|
+import org.elasticsearch.index.search.ESToParentBlockJoinQuery;
|
|
|
import org.elasticsearch.percolator.QueryAnalyzer.QueryExtraction;
|
|
|
import org.elasticsearch.percolator.QueryAnalyzer.Result;
|
|
|
import org.elasticsearch.test.ESTestCase;
|
|
@@ -788,6 +791,17 @@ public class QueryAnalyzerTests extends ESTestCase {
|
|
|
assertDimension(ranges.get(0).range.upperPoint, bytes -> IntPoint.encodeDimension(20, bytes, 0));
|
|
|
}
|
|
|
|
|
|
+ public void testToParentBlockJoinQuery() {
|
|
|
+ TermQuery termQuery = new TermQuery(new Term("field", "value"));
|
|
|
+ QueryBitSetProducer queryBitSetProducer = new QueryBitSetProducer(new TermQuery(new Term("_type", "child")));
|
|
|
+ ESToParentBlockJoinQuery query = new ESToParentBlockJoinQuery(termQuery, queryBitSetProducer, ScoreMode.None, "child");
|
|
|
+ Result result = analyze(query, Collections.emptyMap());
|
|
|
+ assertFalse(result.verified);
|
|
|
+ assertEquals(1, result.extractions.size());
|
|
|
+ assertNull(result.extractions.toArray(new QueryExtraction[0])[0].range);
|
|
|
+ assertEquals(new Term("field", "value"), result.extractions.toArray(new QueryExtraction[0])[0].term);
|
|
|
+ }
|
|
|
+
|
|
|
public void testPointRangeQuerySelectShortestRange() {
|
|
|
BooleanQuery.Builder boolQuery = new BooleanQuery.Builder();
|
|
|
boolQuery.add(LongPoint.newRangeQuery("_field1", 10, 20), BooleanClause.Occur.FILTER);
|