Skip to content

Commit f1f29ad

Browse files
Merge pull request #5 from rahul1193/rahul/rest-client-1.4.1
support for es5 query changes for filtered, missing, nested, query fi…
2 parents fddd928 + 70f4116 commit f1f29ad

File tree

6 files changed

+61
-30
lines changed

6 files changed

+61
-30
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<modelVersion>4.0.0</modelVersion>
77
<groupId>org.elasticsearch</groupId>
88
<artifactId>elasticsearch</artifactId>
9-
<version>1.4.1-rest-1.0.27-SNAPSHOT</version>
9+
<version>1.4.1-rest-1.0.28-SNAPSHOT</version>
1010
<packaging>jar</packaging>
1111
<description>Elasticsearch - Open Source, Distributed, RESTful Search Engine</description>
1212
<inceptionYear>2009</inceptionYear>

src/main/java/org/elasticsearch/index/query/FilteredQueryBuilder.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@
1919

2020
package org.elasticsearch.index.query;
2121

22+
import org.elasticsearch.Version;
2223
import org.elasticsearch.common.Nullable;
24+
import org.elasticsearch.common.xcontent.ToXContentUtils;
2325
import org.elasticsearch.common.xcontent.XContentBuilder;
2426

2527
import java.io.IOException;
@@ -73,7 +75,11 @@ protected void doXContent(XContentBuilder builder, Params params) throws IOExcep
7375
queryBuilder.toXContent(builder, params);
7476
}
7577
if (filterBuilder != null) {
76-
builder.field("filter");
78+
if (ToXContentUtils.getVersionFromParams(params).onOrAfter(Version.V_5_0_0)) {
79+
builder.field("query");
80+
} else {
81+
builder.field("filter");
82+
}
7783
filterBuilder.toXContent(builder, params);
7884
}
7985
if (boost != -1) {

src/main/java/org/elasticsearch/index/query/MissingFilterBuilder.java

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919

2020
package org.elasticsearch.index.query;
2121

22+
import org.elasticsearch.Version;
23+
import org.elasticsearch.common.xcontent.ToXContentUtils;
2224
import org.elasticsearch.common.xcontent.XContentBuilder;
2325

2426
import java.io.IOException;
@@ -68,17 +70,21 @@ public MissingFilterBuilder filterName(String filterName) {
6870

6971
@Override
7072
protected void doXContent(XContentBuilder builder, Params params) throws IOException {
71-
builder.startObject(MissingFilterParser.NAME);
72-
builder.field("field", name);
73-
if (nullValue != null) {
74-
builder.field("null_value", nullValue);
73+
if (ToXContentUtils.getVersionFromParams(params).onOrAfter(Version.V_5_0_0)) {
74+
FilterBuilders.boolFilter().mustNot(FilterBuilders.existsFilter(name).filterName(filterName)).doXContent(builder, params);
75+
} else {
76+
builder.startObject(MissingFilterParser.NAME);
77+
builder.field("field", name);
78+
if (nullValue != null) {
79+
builder.field("null_value", nullValue);
80+
}
81+
if (existence != null) {
82+
builder.field("existence", existence);
83+
}
84+
if (filterName != null) {
85+
builder.field("_name", filterName);
86+
}
87+
builder.endObject();
7588
}
76-
if (existence != null) {
77-
builder.field("existence", existence);
78-
}
79-
if (filterName != null) {
80-
builder.field("_name", filterName);
81-
}
82-
builder.endObject();
8389
}
8490
}

src/main/java/org/elasticsearch/index/query/NestedFilterBuilder.java

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919

2020
package org.elasticsearch.index.query;
2121

22+
import org.elasticsearch.Version;
23+
import org.elasticsearch.common.xcontent.ToXContentUtils;
2224
import org.elasticsearch.common.xcontent.XContentBuilder;
2325

2426
import java.io.IOException;
@@ -80,22 +82,29 @@ protected void doXContent(XContentBuilder builder, Params params) throws IOExcep
8082
builder.field("query");
8183
queryBuilder.toXContent(builder, params);
8284
} else {
83-
builder.field("filter");
85+
if (ToXContentUtils.getVersionFromParams(params).onOrAfter(Version.V_5_0_0)) {
86+
builder.field("query");
87+
} else {
88+
builder.field("filter");
89+
}
8490
filterBuilder.toXContent(builder, params);
8591
}
86-
if (join != null) {
87-
builder.field("join", join);
92+
93+
if (!ToXContentUtils.getVersionFromParams(params).onOrAfter(Version.V_5_0_0)) {
94+
if (join != null) {
95+
builder.field("join", join);
96+
}
97+
if (cache != null) {
98+
builder.field("_cache", cache);
99+
}
100+
if (cacheKey != null) {
101+
builder.field("_cache_key", cacheKey);
102+
}
103+
if (filterName != null) {
104+
builder.field("_name", filterName);
105+
}
88106
}
89107
builder.field("path", path);
90-
if (filterName != null) {
91-
builder.field("_name", filterName);
92-
}
93-
if (cache != null) {
94-
builder.field("_cache", cache);
95-
}
96-
if (cacheKey != null) {
97-
builder.field("_cache_key", cacheKey);
98-
}
99108
builder.endObject();
100109
}
101110
}

src/main/java/org/elasticsearch/index/query/NestedQueryBuilder.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919

2020
package org.elasticsearch.index.query;
2121

22+
import org.elasticsearch.Version;
23+
import org.elasticsearch.common.xcontent.ToXContentUtils;
2224
import org.elasticsearch.common.xcontent.XContentBuilder;
2325

2426
import java.io.IOException;
@@ -80,7 +82,11 @@ protected void doXContent(XContentBuilder builder, Params params) throws IOExcep
8082
builder.field("query");
8183
queryBuilder.toXContent(builder, params);
8284
} else {
83-
builder.field("filter");
85+
if (ToXContentUtils.getVersionFromParams(params).onOrAfter(Version.V_5_0_0)) {
86+
builder.field("query");
87+
} else {
88+
builder.field("filter");
89+
}
8490
filterBuilder.toXContent(builder, params);
8591
}
8692
builder.field("path", path);
@@ -90,8 +96,10 @@ protected void doXContent(XContentBuilder builder, Params params) throws IOExcep
9096
if (boost != 1.0f) {
9197
builder.field("boost", boost);
9298
}
93-
if (queryName != null) {
94-
builder.field("_name", queryName);
99+
if (!ToXContentUtils.getVersionFromParams(params).onOrAfter(Version.V_5_0_0)) {
100+
if (queryName != null) {
101+
builder.field("_name", queryName);
102+
}
95103
}
96104
builder.endObject();
97105
}

src/main/java/org/elasticsearch/index/query/QueryFilterBuilder.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@
1919

2020
package org.elasticsearch.index.query;
2121

22+
import org.elasticsearch.Version;
23+
import org.elasticsearch.common.xcontent.ToXContentUtils;
2224
import org.elasticsearch.common.xcontent.XContentBuilder;
2325

2426
import java.io.IOException;
2527

2628
/**
2729
* A filter that simply wraps a query.
28-
*
29-
*
3030
*/
3131
public class QueryFilterBuilder extends BaseFilterBuilder {
3232

@@ -66,6 +66,8 @@ protected void doXContent(XContentBuilder builder, Params params) throws IOExcep
6666
if (filterName == null && cache == null) {
6767
builder.field(QueryFilterParser.NAME);
6868
queryBuilder.toXContent(builder, params);
69+
} else if (ToXContentUtils.getVersionFromParams(params).onOrAfter(Version.V_5_0_0)) {
70+
queryBuilder.toXContent(builder, params);
6971
} else {
7072
builder.startObject(FQueryFilterParser.NAME);
7173
builder.field("query");

0 commit comments

Comments
 (0)