ElasticSearch-RestHighLevelClient聚合查询总结

目录

一、TopHitsAggregation

二、TermsAggregation

三、CardinalityAggregation

四、DateHistogramAggregation

五、SumAggregation

六、AvgAggregation

七、MaxAggregation

八、MinAggregation


SpringBoot使用ES的Aggregation聚合查询总结

一、TopHitsAggregation

public TopHitsAggregationBuilder topHitsAggregationBuilder(String topHitsName, Integer size) {
	return AggregationBuilders.topHits(topHitsName).sort("title", SortOrder.DESC).size(size);
}

二、TermsAggregation

public TermsAggregationBuilder termsAggregationBuilder(String termsAggName, String fieldName, Integer size) {
		return AggregationBuilders.terms(termsAggName).field(fieldName).size(size).executionHint("map").collectMode(
				Aggregator.SubAggCollectionMode.BREADTH_FIRST);
	}

三、CardinalityAggregation

public CardinalityAggregationBuilder cardinalityAggregationBuilder(String cardinalityAggName, String fieldName) {
	return AggregationBuilders.cardinality(cardinalityAggName).field(fieldName);
}

四、DateHistogramAggregation

public DateHistogramAggregationBuilder dateHistogramAggregationBuilder(String dateHistogramName,
			String dateHistogramFieldName, DateHistogramInterval interval, Long startTime, Long endTime) {
	return AggregationBuilders.dateHistogram(dateHistogramName).fixedInterval(interval)
				.field(dateHistogramFieldName).minDocCount(0).extendedBounds(new LongBounds(startTime, endTime))
				.timeZone(ZoneId.of("Asia/Shanghai"));
}


public DateHistogramAggregationBuilder dateHistogramAggregationFormatBuilder(String dateHistogramName,
			String dateHistogramFieldName, DateHistogramInterval interval, Long startTime, Long endTime) {
	return AggregationBuilders.dateHistogram(dateHistogramName).fixedInterval(interval)
				.field(dateHistogramFieldName).format("yyyy-MM-dd HH:mm").minDocCount(0)
				.extendedBounds(new LongBounds(startTime, endTime)).timeZone(ZoneId.of("Asia/Shanghai"));
}

五、SumAggregation

public SumAggregationBuilder sumAggregationBuilder(String sumAggName, String fieldName) {
	return AggregationBuilders.sum(sumAggName).field(fieldName);
}

六、AvgAggregation

public AvgAggregationBuilder avgAggregationBuilder(String avgAggName, String fieldName) {
	return AggregationBuilders.avg(avgAggName).field(fieldName);
}

七、MaxAggregation

public MaxAggregationBuilder maxAggregationBuilder(String maxAggName, String fieldName) {
	return AggregationBuilders.max(maxAggName).field(fieldName);
}

八、MinAggregation

public MinAggregationBuilder minAggregationBuilder(String maxAggName, String fieldName) {
	return AggregationBuilders.min(maxAggName).field(fieldName);
}

你可能感兴趣的:(#,SpringBoot,#,ElasticSearch,elasticsearch,spring,boot)