|
32 | 32 | import org.apache.lucene.search.PhraseQuery; |
33 | 33 | import org.apache.lucene.search.TermQuery; |
34 | 34 | import org.apache.lucene.search.TermRangeQuery; |
| 35 | +import org.apache.lucene.search.join.ScoreMode; |
35 | 36 | import org.apache.lucene.util.BytesRef; |
36 | 37 | import org.elasticsearch.Version; |
37 | 38 | import org.elasticsearch.cluster.metadata.IndexMetaData; |
|
49 | 50 | import org.elasticsearch.index.query.BoolQueryBuilder; |
50 | 51 | import org.elasticsearch.index.query.BoostingQueryBuilder; |
51 | 52 | import org.elasticsearch.index.query.ConstantScoreQueryBuilder; |
| 53 | +import org.elasticsearch.index.query.HasChildQueryBuilder; |
| 54 | +import org.elasticsearch.index.query.HasParentQueryBuilder; |
52 | 55 | import org.elasticsearch.index.query.MatchAllQueryBuilder; |
53 | 56 | import org.elasticsearch.index.query.QueryBuilder; |
54 | 57 | import org.elasticsearch.index.query.QueryParseContext; |
@@ -435,23 +438,31 @@ public void testRangeQueryWithNowRangeIsForbidden() throws Exception { |
435 | 438 | assertThat(e.getCause(), instanceOf(IllegalArgumentException.class)); |
436 | 439 | } |
437 | 440 |
|
438 | | - public void testVerifyRangeQueries() { |
| 441 | + public void testUnsupportedQueries() { |
439 | 442 | RangeQueryBuilder rangeQuery1 = new RangeQueryBuilder("field").from("2016-01-01||/D").to("2017-01-01||/D"); |
440 | 443 | RangeQueryBuilder rangeQuery2 = new RangeQueryBuilder("field").from("2016-01-01||/D").to("now"); |
441 | | - PercolatorFieldMapper.verifyRangeQueries(rangeQuery1); |
442 | | - expectThrows(IllegalArgumentException.class, () -> PercolatorFieldMapper.verifyRangeQueries(rangeQuery2)); |
443 | | - PercolatorFieldMapper.verifyRangeQueries(new BoolQueryBuilder().must(rangeQuery1)); |
| 444 | + PercolatorFieldMapper.verifyQuery(rangeQuery1); |
| 445 | + expectThrows(IllegalArgumentException.class, () -> PercolatorFieldMapper.verifyQuery(rangeQuery2)); |
| 446 | + PercolatorFieldMapper.verifyQuery(new BoolQueryBuilder().must(rangeQuery1)); |
444 | 447 | expectThrows(IllegalArgumentException.class, () -> |
445 | | - PercolatorFieldMapper.verifyRangeQueries(new BoolQueryBuilder().must(rangeQuery2))); |
446 | | - PercolatorFieldMapper.verifyRangeQueries(new ConstantScoreQueryBuilder((rangeQuery1))); |
| 448 | + PercolatorFieldMapper.verifyQuery(new BoolQueryBuilder().must(rangeQuery2))); |
| 449 | + PercolatorFieldMapper.verifyQuery(new ConstantScoreQueryBuilder((rangeQuery1))); |
447 | 450 | expectThrows(IllegalArgumentException.class, () -> |
448 | | - PercolatorFieldMapper.verifyRangeQueries(new ConstantScoreQueryBuilder(rangeQuery2))); |
449 | | - PercolatorFieldMapper.verifyRangeQueries(new BoostingQueryBuilder(rangeQuery1, new MatchAllQueryBuilder())); |
| 451 | + PercolatorFieldMapper.verifyQuery(new ConstantScoreQueryBuilder(rangeQuery2))); |
| 452 | + PercolatorFieldMapper.verifyQuery(new BoostingQueryBuilder(rangeQuery1, new MatchAllQueryBuilder())); |
450 | 453 | expectThrows(IllegalArgumentException.class, () -> |
451 | | - PercolatorFieldMapper.verifyRangeQueries(new BoostingQueryBuilder(rangeQuery2, new MatchAllQueryBuilder()))); |
452 | | - PercolatorFieldMapper.verifyRangeQueries(new FunctionScoreQueryBuilder(rangeQuery1, new RandomScoreFunctionBuilder())); |
| 454 | + PercolatorFieldMapper.verifyQuery(new BoostingQueryBuilder(rangeQuery2, new MatchAllQueryBuilder()))); |
| 455 | + PercolatorFieldMapper.verifyQuery(new FunctionScoreQueryBuilder(rangeQuery1, new RandomScoreFunctionBuilder())); |
453 | 456 | expectThrows(IllegalArgumentException.class, () -> |
454 | | - PercolatorFieldMapper.verifyRangeQueries(new FunctionScoreQueryBuilder(rangeQuery2, new RandomScoreFunctionBuilder()))); |
| 457 | + PercolatorFieldMapper.verifyQuery(new FunctionScoreQueryBuilder(rangeQuery2, new RandomScoreFunctionBuilder()))); |
| 458 | + |
| 459 | + HasChildQueryBuilder hasChildQuery = new HasChildQueryBuilder("_type", new MatchAllQueryBuilder(), ScoreMode.None); |
| 460 | + expectThrows(IllegalArgumentException.class, () -> PercolatorFieldMapper.verifyQuery(hasChildQuery)); |
| 461 | + expectThrows(IllegalArgumentException.class, () -> PercolatorFieldMapper.verifyQuery(new BoolQueryBuilder().must(hasChildQuery))); |
| 462 | + |
| 463 | + HasParentQueryBuilder hasParentQuery = new HasParentQueryBuilder("_type", new MatchAllQueryBuilder(), false); |
| 464 | + expectThrows(IllegalArgumentException.class, () -> PercolatorFieldMapper.verifyQuery(hasParentQuery)); |
| 465 | + expectThrows(IllegalArgumentException.class, () -> PercolatorFieldMapper.verifyQuery(new BoolQueryBuilder().must(hasParentQuery))); |
455 | 466 | } |
456 | 467 |
|
457 | 468 | private void assertQueryBuilder(BytesRef actual, QueryBuilder expected) throws IOException { |
|
0 commit comments