#spring-boot #elasticsearch #group-by #aggregation
#пружинный ботинок #эластичный поиск #группа-по #агрегация
Вопрос:
Эй, я попытался выполнить запрос ElasticSearch для агрегирования, следуя документации и ответам в StackOverflow, но ведро всегда возвращается пустым, даже если у меня есть данные, это мой код :
SearchSourceBuilder sourceBuilder = new SearchSourceBuilder(); sourceBuilder.query(QueryBuilders.boolQuery() .must(QueryBuilders .rangeQuery("dAcces") .gte(formatter.parse(period.getdDeb())) .lte(formatter.parse(period.getdFin())) ) ).size(0).aggregation(AggregationBuilders.terms("bylibProfil").field("libProfil.keyword")); sourceBuilder.from(0); sourceBuilder.size(99); SearchRequest searchRequest = new SearchRequest(INDEX_PG); searchRequest.source(sourceBuilder); SearchResponse searchResponse = elasticsearchClientInet.search(searchRequest, RequestOptions.DEFAULT); Terms terms = searchResponse.getAggregations().get("bylibProfil"); for (Terms.Bucket bucket : terms.getBuckets()) { System.out.println("Type: " bucket.getKeyAsString() " = Count(" bucket.getDocCount() ")"); }
Я не знаю, может быть, что-то не так с кодом ?!
Это возвращенный ответ :
{ "code": "100", "message": "OK", "response": { "name": "bylibProfil", "metadata": null, "buckets": [], "type": "sterms", "sumOfOtherDocCounts": 0, "docCountError": 0, "fragment": true }, "date": "2021-12-01T15:51:38.658 00:00" }