Skip to content

Commit 102e1da

Browse files
Merge pull request #6 from rahul1193/rahul/rest-client-1.4.1
Rahul/rest client 1.4.1
2 parents f1f29ad + 7752bd8 commit 102e1da

File tree

8 files changed

+105
-24
lines changed

8 files changed

+105
-24
lines changed

pom.xml

+1-1
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.28-SNAPSHOT</version>
9+
<version>1.4.1-rest-1.0.29-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

+13-9
Original file line numberDiff line numberDiff line change
@@ -69,17 +69,21 @@ public FilteredQueryBuilder queryName(String queryName) {
6969

7070
@Override
7171
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+
builder.startObject("bool");
74+
if (queryBuilder != null) {
75+
builder.field("must");
76+
queryBuilder.toXContent(builder, params);
77+
}
78+
} else {
79+
builder.startObject(FilteredQueryParser.NAME);
80+
if (queryBuilder != null) {
7981
builder.field("query");
80-
} else {
81-
builder.field("filter");
82+
queryBuilder.toXContent(builder, params);
8283
}
84+
}
85+
if (filterBuilder != null) {
86+
builder.field("filter");
8387
filterBuilder.toXContent(builder, params);
8488
}
8589
if (boost != -1) {

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

+7-1
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;
@@ -71,7 +73,11 @@ public IndicesFilterBuilder filterName(String filterName) {
7173
protected void doXContent(XContentBuilder builder, Params params) throws IOException {
7274
builder.startObject(IndicesFilterParser.NAME);
7375
builder.field("indices", indices);
74-
builder.field("filter");
76+
if (ToXContentUtils.getVersionFromParams(params).onOrAfter(Version.V_5_0_0)) {
77+
builder.field("query");
78+
} else {
79+
builder.field("filter");
80+
}
7581
filterBuilder.toXContent(builder, params);
7682
if (noMatchFilter != null) {
7783
builder.field("no_match_filter");

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

+4-4
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ protected void doXContent(XContentBuilder builder, Params params) throws IOExcep
8181
if (queryBuilder != null) {
8282
builder.field("query");
8383
queryBuilder.toXContent(builder, params);
84-
} else {
84+
} else if (filterBuilder != null) {
8585
if (ToXContentUtils.getVersionFromParams(params).onOrAfter(Version.V_5_0_0)) {
8686
builder.field("query");
8787
} else {
@@ -100,9 +100,9 @@ protected void doXContent(XContentBuilder builder, Params params) throws IOExcep
100100
if (cacheKey != null) {
101101
builder.field("_cache_key", cacheKey);
102102
}
103-
if (filterName != null) {
104-
builder.field("_name", filterName);
105-
}
103+
}
104+
if (filterName != null) {
105+
builder.field("_name", filterName);
106106
}
107107
builder.field("path", path);
108108
builder.endObject();

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

+3-5
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ protected void doXContent(XContentBuilder builder, Params params) throws IOExcep
8181
if (queryBuilder != null) {
8282
builder.field("query");
8383
queryBuilder.toXContent(builder, params);
84-
} else {
84+
} else if (filterBuilder != null) {
8585
if (ToXContentUtils.getVersionFromParams(params).onOrAfter(Version.V_5_0_0)) {
8686
builder.field("query");
8787
} else {
@@ -96,10 +96,8 @@ protected void doXContent(XContentBuilder builder, Params params) throws IOExcep
9696
if (boost != 1.0f) {
9797
builder.field("boost", boost);
9898
}
99-
if (!ToXContentUtils.getVersionFromParams(params).onOrAfter(Version.V_5_0_0)) {
100-
if (queryName != null) {
101-
builder.field("_name", queryName);
102-
}
99+
if (queryName != null) {
100+
builder.field("_name", queryName);
103101
}
104102
builder.endObject();
105103
}

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

+3-3
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,11 @@ public QueryFilterBuilder cache(boolean cache) {
6363

6464
@Override
6565
protected void doXContent(XContentBuilder builder, Params params) throws IOException {
66-
if (filterName == null && cache == null) {
66+
if (ToXContentUtils.getVersionFromParams(params).onOrAfter(Version.V_5_0_0)) {
67+
QueryBuilders.filteredQuery(queryBuilder, null).doXContent(builder, params);
68+
} else if (filterName == null && cache == null) {
6769
builder.field(QueryFilterParser.NAME);
6870
queryBuilder.toXContent(builder, params);
69-
} else if (ToXContentUtils.getVersionFromParams(params).onOrAfter(Version.V_5_0_0)) {
70-
queryBuilder.toXContent(builder, params);
7171
} else {
7272
builder.startObject(FQueryFilterParser.NAME);
7373
builder.field("query");

src/main/java/org/elasticsearch/index/query/functionscore/FunctionScoreQueryBuilder.java

+7-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@
2020
package org.elasticsearch.index.query.functionscore;
2121

2222
import org.elasticsearch.ElasticsearchIllegalArgumentException;
23+
import org.elasticsearch.Version;
2324
import org.elasticsearch.common.lucene.search.function.CombineFunction;
25+
import org.elasticsearch.common.xcontent.ToXContentUtils;
2426
import org.elasticsearch.common.xcontent.XContentBuilder;
2527
import org.elasticsearch.index.query.BaseQueryBuilder;
2628
import org.elasticsearch.index.query.BoostableQueryBuilder;
@@ -131,7 +133,11 @@ protected void doXContent(XContentBuilder builder, Params params) throws IOExcep
131133
builder.field("query");
132134
queryBuilder.toXContent(builder, params);
133135
} else if (filterBuilder != null) {
134-
builder.field("filter");
136+
if (ToXContentUtils.getVersionFromParams(params).onOrAfter(Version.V_5_0_0)) {
137+
builder.field("query");
138+
} else {
139+
builder.field("filter");
140+
}
135141
filterBuilder.toXContent(builder, params);
136142
}
137143
builder.startArray("functions");

src/test/java/org/elasticsearch/client/rest/RestClientTest.java

+67
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@
106106
import org.junit.Before;
107107
import org.junit.Ignore;
108108
import org.junit.Test;
109+
import org.omg.CORBA.PUBLIC_MEMBER;
109110

110111
import java.io.IOException;
111112
import java.util.*;
@@ -294,6 +295,72 @@ public void testDeleteByQueryScript5_1_1() throws ExecutionException, Interrupte
294295
assert new CountRequestBuilder(client).setQuery(constantScoreQueryBuilder).execute().get().getCount() == 0;
295296
}
296297

298+
@Test
299+
public void testQueryFilterBuilder5_1_1() throws ExecutionException, InterruptedException {
300+
List<IndexResponse> indexResponses = indexDocument(5);
301+
ConstantScoreQueryBuilder constantScoreQueryBuilder = QueryBuilders.constantScoreQuery(FilterBuilders.queryFilter(QueryBuilders.matchQuery("color", "red")));
302+
SearchRequestBuilder searchRequestBuilder = new SearchRequestBuilder(this.client);
303+
searchRequestBuilder.setQuery(constantScoreQueryBuilder);
304+
searchRequestBuilder.setIndices(this.index);
305+
SearchResponse searchResponse = searchRequestBuilder.execute().get();
306+
assert searchResponse.getHits().getTotalHits() != -1;
307+
}
308+
309+
@Test
310+
public void testNestedQueryBuilder5_1_1() throws ExecutionException, InterruptedException {
311+
List<IndexResponse> indexResponses = indexDocument(5);
312+
ConstantScoreQueryBuilder constantScoreQueryBuilder = QueryBuilders.constantScoreQuery(QueryBuilders.nestedQuery("author.books", QueryBuilders.boolQuery().must(QueryBuilders.rangeQuery("author.books.price").from(0))));
313+
SearchRequestBuilder searchRequestBuilder = new SearchRequestBuilder(this.client);
314+
searchRequestBuilder.setQuery(constantScoreQueryBuilder);
315+
searchRequestBuilder.setIndices(this.index);
316+
SearchResponse searchResponse = searchRequestBuilder.execute().get();
317+
assert searchResponse.getHits().getTotalHits() == 5;
318+
}
319+
320+
@Test
321+
public void testNestedQueryBuilderFilter5_1_1() throws ExecutionException, InterruptedException {
322+
List<IndexResponse> indexResponses = indexDocument(5);
323+
ConstantScoreQueryBuilder constantScoreQueryBuilder = QueryBuilders.constantScoreQuery(QueryBuilders.nestedQuery("author.books", FilterBuilders.boolFilter().must(FilterBuilders.rangeFilter("author.books.price").from(0))));
324+
SearchRequestBuilder searchRequestBuilder = new SearchRequestBuilder(this.client);
325+
searchRequestBuilder.setQuery(constantScoreQueryBuilder);
326+
searchRequestBuilder.setIndices(this.index);
327+
SearchResponse searchResponse = searchRequestBuilder.execute().get();
328+
assert searchResponse.getHits().getTotalHits() == 5;
329+
}
330+
331+
@Test
332+
public void testNestedFilterBuilder5_1_1() throws ExecutionException, InterruptedException {
333+
List<IndexResponse> indexResponses = indexDocument(5);
334+
ConstantScoreQueryBuilder constantScoreQueryBuilder = QueryBuilders.constantScoreQuery(FilterBuilders.nestedFilter("author.books", FilterBuilders.boolFilter().must(FilterBuilders.rangeFilter("author.books.price").from(0))));
335+
SearchRequestBuilder searchRequestBuilder = new SearchRequestBuilder(this.client);
336+
searchRequestBuilder.setQuery(constantScoreQueryBuilder);
337+
searchRequestBuilder.setIndices(this.index);
338+
SearchResponse searchResponse = searchRequestBuilder.execute().get();
339+
assert searchResponse.getHits().getTotalHits() == 5;
340+
}
341+
342+
@Test
343+
public void testNestedFilterBuilderQuery5_1_1() throws ExecutionException, InterruptedException {
344+
List<IndexResponse> indexResponses = indexDocument(5);
345+
ConstantScoreQueryBuilder constantScoreQueryBuilder = QueryBuilders.constantScoreQuery(FilterBuilders.nestedFilter("author.books", QueryBuilders.boolQuery().must(QueryBuilders.rangeQuery("author.books.price").from(0))));
346+
SearchRequestBuilder searchRequestBuilder = new SearchRequestBuilder(this.client);
347+
searchRequestBuilder.setQuery(constantScoreQueryBuilder);
348+
searchRequestBuilder.setIndices(this.index);
349+
SearchResponse searchResponse = searchRequestBuilder.execute().get();
350+
assert searchResponse.getHits().getTotalHits() == 5;
351+
}
352+
353+
@Test
354+
public void testMvelPlugin() throws ExecutionException, InterruptedException {
355+
List<IndexResponse> indexResponses = indexDocument(5);
356+
ConstantScoreQueryBuilder constantScoreQueryBuilder = QueryBuilders.constantScoreQuery(FilterBuilders.scriptFilter("field='sentiment';if(doc[field].value!=null) return doc[field].value; else return 0").lang("mvel"));
357+
SearchRequestBuilder searchRequestBuilder = new SearchRequestBuilder(this.client);
358+
searchRequestBuilder.setQuery(constantScoreQueryBuilder);
359+
searchRequestBuilder.setIndices(this.index);
360+
SearchResponse searchResponse = searchRequestBuilder.execute().get();
361+
assert searchResponse.getHits().getTotalHits() == 5;
362+
}
363+
297364
@Test
298365
public void testBulkIndex() throws ExecutionException, InterruptedException {
299366
BulkRequest request = new BulkRequest();

0 commit comments

Comments
 (0)