@@ -69,25 +69,29 @@ public FilteredQueryBuilder queryName(String queryName) {
69
69
70
70
@ Override
71
71
protected void doXContent (XContentBuilder builder , Params params ) throws IOException {
72
- builder .startObject (FilteredQueryParser .NAME );
73
- if (queryBuilder != null ) {
74
- builder .field ("query" );
75
- queryBuilder .toXContent (builder , params );
76
- }
77
- if (filterBuilder != null ) {
78
- if (ToXContentUtils .getVersionFromParams (params ).onOrAfter (Version .V_5_0_0 )) {
72
+ if (ToXContentUtils .getVersionFromParams (params ).onOrAfter (Version .V_5_0_0 )) {
73
+ if (queryBuilder != null )
74
+ QueryBuilders .boolQuery ().must (queryBuilder ).boost (boost ).queryName (queryName ).toXContent (builder , params );
75
+ if (filterBuilder != null ) {
76
+ FilterBuilders .boolFilter ().must (filterBuilder ).toXContent (builder , params );
77
+ }
78
+ } else {
79
+ builder .startObject (FilteredQueryParser .NAME );
80
+ if (queryBuilder != null ) {
79
81
builder .field ("query" );
80
- } else {
82
+ queryBuilder .toXContent (builder , params );
83
+ }
84
+ if (filterBuilder != null ) {
81
85
builder .field ("filter" );
86
+ filterBuilder .toXContent (builder , params );
82
87
}
83
- filterBuilder . toXContent ( builder , params );
84
- }
85
- if ( boost != - 1 ) {
86
- builder . field ( "boost" , boost );
87
- }
88
- if ( queryName != null ) {
89
- builder .field ( "_name" , queryName );
88
+ if ( boost != - 1 ) {
89
+ builder . field ( "boost" , boost );
90
+ }
91
+ if ( queryName != null ) {
92
+ builder . field ( "_name" , queryName );
93
+ }
94
+ builder .endObject ( );
90
95
}
91
- builder .endObject ();
92
96
}
93
97
}
0 commit comments