diff --git a/server/src/main/java/org/elasticsearch/index/query/BoolQueryBuilder.java b/server/src/main/java/org/elasticsearch/index/query/BoolQueryBuilder.java index fa4e5eba99ac7..d932df81f3398 100644 --- a/server/src/main/java/org/elasticsearch/index/query/BoolQueryBuilder.java +++ b/server/src/main/java/org/elasticsearch/index/query/BoolQueryBuilder.java @@ -52,8 +52,8 @@ public class BoolQueryBuilder extends AbstractQueryBuilder { public static final boolean ADJUST_PURE_NEGATIVE_DEFAULT = true; - private static final ParseField MUSTNOT = new ParseField("mustNot"); // TODO deprecate? - private static final ParseField MUST_NOT = new ParseField("must_not"); + private static final ParseField MUST_NOT = new ParseField("must_not") + .withDeprecation("mustNot"); private static final ParseField FILTER = new ParseField("filter"); private static final ParseField SHOULD = new ParseField("should"); private static final ParseField MUST = new ParseField("must"); @@ -279,8 +279,6 @@ private static void doXArrayContent(ParseField field, List clauses SHOULD); PARSER.declareObjectArray((builder, clauses) -> clauses.forEach(builder::mustNot), (p, c) -> parseInnerQueryBuilder(p), MUST_NOT); - PARSER.declareObjectArray((builder, clauses) -> clauses.forEach(builder::mustNot), (p, c) -> parseInnerQueryBuilder(p), - MUSTNOT); // TODO should we deprecate this version? PARSER.declareObjectArray((builder, clauses) -> clauses.forEach(builder::filter), (p, c) -> parseInnerQueryBuilder(p), FILTER); PARSER.declareBoolean(BoolQueryBuilder::adjustPureNegative, ADJUST_PURE_NEGATIVE); diff --git a/server/src/test/java/org/elasticsearch/index/query/BoolQueryBuilderTests.java b/server/src/test/java/org/elasticsearch/index/query/BoolQueryBuilderTests.java index c974f106e56f8..93d46ed592570 100644 --- a/server/src/test/java/org/elasticsearch/index/query/BoolQueryBuilderTests.java +++ b/server/src/test/java/org/elasticsearch/index/query/BoolQueryBuilderTests.java @@ -137,7 +137,7 @@ protected Map getAlternateVersions() { } if (tempQueryBuilder.mustNot().size() > 0) { QueryBuilder mustNot = tempQueryBuilder.mustNot().get(0); - contentString += (randomBoolean() ? "\"must_not\": " : "\"mustNot\": ") + mustNot.toString() + ","; + contentString += "\"must_not\":" + mustNot.toString() + ","; expectedQuery.mustNot(mustNot); } if (tempQueryBuilder.should().size() > 0) { @@ -297,6 +297,14 @@ public void testUnknownQueryName() throws IOException { } + public void testDeprecation() throws IOException { + String query = "{\"bool\" : {\"mustNot\" : { \"match_all\" : { } } } }"; + QueryBuilder q = parseQuery(query); + QueryBuilder expected = new BoolQueryBuilder().mustNot(new MatchAllQueryBuilder()); + assertEquals(expected, q); + assertWarnings("Deprecated field [mustNot] used, expected [must_not] instead"); + } + public void testRewrite() throws IOException { BoolQueryBuilder boolQueryBuilder = new BoolQueryBuilder(); boolean mustRewrite = false;