diff --git a/server/src/main/java/org/elasticsearch/common/lucene/search/SpanBooleanQueryRewriteWithMaxClause.java b/server/src/main/java/org/elasticsearch/common/lucene/search/SpanBooleanQueryRewriteWithMaxClause.java index 299739fc3ba8a..7bf821cd6b6f7 100644 --- a/server/src/main/java/org/elasticsearch/common/lucene/search/SpanBooleanQueryRewriteWithMaxClause.java +++ b/server/src/main/java/org/elasticsearch/common/lucene/search/SpanBooleanQueryRewriteWithMaxClause.java @@ -24,7 +24,9 @@ import org.apache.lucene.search.Query; import org.apache.lucene.util.AttributeSource; import org.apache.lucene.util.BytesRef; +import org.elasticsearch.ElasticsearchStatusException; import org.elasticsearch.lucene.queries.SpanMatchNoDocsQuery; +import org.elasticsearch.rest.RestStatus; import java.io.IOException; import java.util.Collection; @@ -95,13 +97,14 @@ private Collection collectTerms(IndexReader reader, MultiTermQuery qu while ((bytes = termsEnum.next()) != null) { if (queries.size() >= maxExpansions) { if (hardLimit) { - throw new RuntimeException( + throw new ElasticsearchStatusException( "[" + query.toString() + " ] " + "exceeds maxClauseCount [ Boolean maxClauseCount is set to " + IndexSearcher.getMaxClauseCount() - + "]" + + "]", + RestStatus.BAD_REQUEST ); } else { return queries;