Skip to content

Commit 74a139b

Browse files
committed
Add count methods to ELC's ReactiveElasticsearchClient.
Implemented count methods using CountRequest directly with ELC's ReactiveElasticsearchClient, eliminating the need to initialize any entity or repository. Closes spring-projects#2749
1 parent b7d60ce commit 74a139b

File tree

1 file changed

+40
-0
lines changed
  • src/test/java/org/springframework/data/elasticsearch/client/elc

1 file changed

+40
-0
lines changed

Diff for: src/test/java/org/springframework/data/elasticsearch/client/elc/DevTests.java

+40
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
import co.elastic.clients.elasticsearch._types.mapping.TypeMapping;
2323
import co.elastic.clients.elasticsearch.cluster.HealthRequest;
2424
import co.elastic.clients.elasticsearch.cluster.HealthResponse;
25+
import co.elastic.clients.elasticsearch.core.CountRequest;
26+
import co.elastic.clients.elasticsearch.core.CountResponse;
2527
import co.elastic.clients.elasticsearch.core.IndexRequest;
2628
import co.elastic.clients.elasticsearch.core.IndexResponse;
2729
import co.elastic.clients.elasticsearch.core.SearchRequest;
@@ -62,6 +64,7 @@
6264
* on port 9200 and an intercepting proxy on port 8080.
6365
*
6466
* @author Peter-Josef Meisch
67+
* @author maryantocinn
6568
*/
6669
@Disabled
6770
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
@@ -352,6 +355,43 @@ private ResponseBody<EntityAsMap> searchImperative(SearchRequest searchRequest)
352355
private ResponseBody<EntityAsMap> searchReactive(SearchRequest searchRequest) {
353356
return Objects.requireNonNull(reactiveElasticsearchClient.search(searchRequest, EntityAsMap.class).block());
354357
}
358+
359+
// endregion
360+
// region count
361+
@Test
362+
@Order(40)
363+
void count() {
364+
365+
CountRequest countRequest = new CountRequest.Builder().index(INDEX)
366+
.query(query -> query.match(matchQuery -> matchQuery.field("content").query(FieldValue.of("content1"))))
367+
.build();
368+
369+
CountResponse countResponse = null;
370+
371+
try {
372+
countResponse = countImperative(countRequest);
373+
assertThat(countResponse).isNotNull();
374+
assertThat(countResponse.count()).isEqualTo(1);
375+
} catch (IOException e) {
376+
LOGGER.error("error", e);
377+
}
378+
379+
try {
380+
countResponse = countReactive(countRequest);
381+
assertThat(countResponse).isNotNull();
382+
assertThat(countResponse.count()).isEqualTo(1);
383+
} catch (Exception e) {
384+
LOGGER.error("error", e);
385+
}
386+
}
387+
388+
private CountResponse countImperative(CountRequest countRequest) throws IOException {
389+
return imperativeElasticsearchClient.count(countRequest);
390+
}
391+
392+
private CountResponse countReactive(CountRequest countRequest) {
393+
return Objects.requireNonNull(reactiveElasticsearchClient.count(countRequest).block());
394+
}
355395
// endregion
356396

357397
private ClientConfiguration clientConfiguration() {

0 commit comments

Comments
 (0)