[[breaking-changes query-refactoring]] == Breaking changes on the query-refactoring branch This section discusses changes that are breaking to the current rest or java-api on the query-refactoring feature branch. === Java-API ==== BoostingQueryBuilder Removed setters for mandatory positive/negative query. Both arguments now have to be supplied at construction time already and have to be non-null. ==== SpanContainingQueryBuilder Removed setters for mandatory big/little inner span queries. Both arguments now have to be supplied at construction time already and have to be non-null. Updated static factory methods in QueryBuilders accordingly. ==== SpanNearQueryBuilder Removed setter for mandatory slop parameter, needs to be set in constructor now. Updated the static factory methods in QueryBuilders accordingly. ==== SpanNotQueryBuilder Removed setter for mandatory include/exclude span query clause, needs to be set in constructor now. Updated the static factory methods in QueryBuilders and tests accordingly. ==== SpanWithinQueryBuilder Removed setters for mandatory big/little inner span queries. Both arguments now have to be supplied at construction time already and have to be non-null. Updated static factory methods in QueryBuilders accordingly. >>>>>>> Query refactoring: SpanWithinQueryBuilder and Parser ==== QueryFilterBuilder Removed the setter `queryName(String queryName)` since this field is not supported in this type of query. Use `FQueryFilterBuilder.queryName(String queryName)` instead when in need to wrap a named query as a filter. ==== Operator Removed the enums called `Operator` from `MatchQueryBuilder`, `QueryStringQueryBuilder`, `SimpleQueryStringBuilder`, and `CommonTermsQueryBuilder` in favour of using the enum defined in `org.elasticsearch.index.query.Operator` in an effort to consolidate the codebase and avoid duplication. ==== queryName and boost support Support for `queryName` and `boost` has been streamlined to all of the queries. That is a breaking change till queries get sent over the network as serialized json rather than in `Streamable` format. In fact whenever additional fields are added to the json representation of the query, older nodes might throw error when they find unknown fields.pd