diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/rest/action/count/RestCountAction.java b/modules/elasticsearch/src/main/java/org/elasticsearch/rest/action/count/RestCountAction.java index 69444de85ae..6b9ba60b134 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/rest/action/count/RestCountAction.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/rest/action/count/RestCountAction.java @@ -76,7 +76,10 @@ public class RestCountAction extends BaseRestHandler { if (source != null) { countRequest.query(source); } else { - countRequest.query(RestActions.parseQuerySource(request)); + byte[] querySource = RestActions.parseQuerySource(request); + if (querySource != null) { + countRequest.query(querySource); + } } } countRequest.queryHint(request.param("query_hint")); diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/rest/action/support/RestActions.java b/modules/elasticsearch/src/main/java/org/elasticsearch/rest/action/support/RestActions.java index cfec46d73f6..2f69fd2a183 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/rest/action/support/RestActions.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/rest/action/support/RestActions.java @@ -72,7 +72,7 @@ public class RestActions { public static byte[] parseQuerySource(RestRequest request) { String queryString = request.param("q"); if (queryString == null) { - throw new ElasticSearchIllegalArgumentException("No query to execute, not in body, and not bounded to 'q' parameter"); + return null; } QueryStringQueryBuilder queryBuilder = QueryBuilders.queryString(queryString); queryBuilder.defaultField(request.param("df"));