Elasticsearch
[Elasticsearch] query, aggregation size 변경
지네딘 주안
2020. 8. 11. 20:57
Query, Terms Aggregation 사용 시 모든 bucket이 나오지 않는 문제
원인 :
검색 결과의 default size가 전체 return 개수보다 작아서 발생(default = 10)
해결방법 :
명시적으로 return 크게 size 지정
// term TermsAggregationBuilder termsAggregation = AggregationBuilders .terms("count_by_rule_id") .field("rule_id") .size(errorRuleController.getErrorRules().size()+50); // error rule 사이즈보다 작으면 집계 과정에서 결과 누락됨
// Query BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery() .must(QueryBuilders.termQuery("rule_id", ruleId)) .filter(QueryBuilders.rangeQuery("timestamp").gte(startTime).lte(endTime));
searchSourceBuilder.query(boolQueryBuilder).size(10000); // size 크게 지정 |