diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/NativeSearchQueryBuilder.java b/src/main/java/org/springframework/data/elasticsearch/core/query/NativeSearchQueryBuilder.java index fa5d9fdf7..c83abd00e 100755 --- a/src/main/java/org/springframework/data/elasticsearch/core/query/NativeSearchQueryBuilder.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/query/NativeSearchQueryBuilder.java @@ -66,6 +66,7 @@ public class NativeSearchQueryBuilder { @Nullable private SearchType searchType; @Nullable private IndicesOptions indicesOptions; @Nullable private String preference; + @Nullable private Integer maxResults; public NativeSearchQueryBuilder withQuery(QueryBuilder queryBuilder) { this.queryBuilder = queryBuilder; @@ -167,6 +168,11 @@ public class NativeSearchQueryBuilder { return this; } + public NativeSearchQueryBuilder withMaxResults(Integer maxResults) { + this.maxResults = maxResults; + return this; + } + public NativeSearchQuery build() { NativeSearchQuery nativeSearchQuery = new NativeSearchQuery(queryBuilder, filterBuilder, sortBuilders, @@ -218,10 +224,15 @@ public class NativeSearchQueryBuilder { if (indicesOptions != null) { nativeSearchQuery.setIndicesOptions(indicesOptions); } + if (preference != null) { nativeSearchQuery.setPreference(preference); } + if (maxResults != null) { + nativeSearchQuery.setMaxResults(maxResults); + } + return nativeSearchQuery; } } diff --git a/src/test/java/org/springframework/data/elasticsearch/core/aggregation/ElasticsearchTemplateAggregationTests.java b/src/test/java/org/springframework/data/elasticsearch/core/aggregation/ElasticsearchTemplateAggregationTests.java index a13174cb7..311f476ef 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/aggregation/ElasticsearchTemplateAggregationTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/aggregation/ElasticsearchTemplateAggregationTests.java @@ -118,6 +118,7 @@ public class ElasticsearchTemplateAggregationTests { .withQuery(matchAllQuery()) // .withSearchType(SearchType.DEFAULT) // .addAggregation(terms("subjects").field("subject")) // + .withMaxResults(0) // .build(); // when SearchHits searchHits = operations.search(searchQuery, ArticleEntity.class, @@ -127,6 +128,7 @@ public class ElasticsearchTemplateAggregationTests { // then assertThat(aggregations).isNotNull(); assertThat(aggregations.asMap().get("subjects")).isNotNull(); + assertThat(searchHits.hasSearchHits()).isFalse(); } /**