当前位置: 首页 > news >正文

祭奠祭祀网站开发功能需求深圳网络推广网站推广

祭奠祭祀网站开发功能需求,深圳网络推广网站推广,建设网站销售,网络营销的重点SpringBoot ES 聚合后多字段加减乘除 在SpringData Elasticsearch中,聚合统计的原理主要依赖于Elasticsearch本身的聚合框架。Elasticsearch提供了强大的聚合功能,使得你可以对文档进行各种计算和统计,从而得到有关数据集的有用信息。 Elast…

SpringBoot ES 聚合后多字段加减乘除

在SpringData Elasticsearch中,聚合统计的原理主要依赖于Elasticsearch本身的聚合框架。Elasticsearch提供了强大的聚合功能,使得你可以对文档进行各种计算和统计,从而得到有关数据集的有用信息。

Elasticsearch的聚合(Aggregation)是一种强大的数据分析和统计工具,它允许你对文档集合进行多层次、多维度的计算和分析。聚合的原理可以分为以下几个方面:

关键词原理
桶(Buckets)桶是聚合的基本单元,它将文档分组到不同的集合中,这些集合称为桶。桶可以按照不同的标准进行分组,比如词条、范围、日期等。
度量(Metrics)除了桶,聚合还可以返回一些度量结果,如总和、平均值、最大值、最小值等。度量通常与桶结合使用,以提供更详细的统计信息。
Pipeline AggregationsElasticsearch支持通过管道(pipeline)对聚合结果进行再处理。管道聚合(Pipeline Aggregations)允许你在已经聚合的结果上进行进一步的计算,例如计算平均值、求和等。
分布式计算Elasticsearch是一个分布式的搜索引擎,聚合的计算也是分布式的。当执行聚合查询时,Elasticsearch会将聚合任务分发到不同的分片上,然后将结果合并到一个全局结果中。
优化和缓存为了提高性能,Elasticsearch会对聚合进行优化和缓存。在多次执行相同聚合查询时,Elasticsearch可能会缓存中间结果,以减少重复计算的开销。
脚本Elasticsearch支持使用脚本来进行聚合计算。脚本可以在聚合过程中对文档的字段进行定制的计算,从而实现更灵活的聚合操作。
import org.elasticsearch.script.Script;
import org.elasticsearch.script.ScriptType;
import org.elasticsearch.search.aggregations.Aggregation;
import org.elasticsearch.search.aggregations.AggregationBuilders;
import org.elasticsearch.search.aggregations.Aggregations;
import org.elasticsearch.search.aggregations.bucket.terms.ParsedStringTerms;
import org.elasticsearch.search.aggregations.bucket.terms.Terms;
import org.elasticsearch.search.aggregations.bucket.terms.TermsAggregationBuilder;
import org.elasticsearch.search.aggregations.metrics.AvgAggregationBuilder;
import org.elasticsearch.search.aggregations.metrics.MaxAggregationBuilder;
import org.elasticsearch.search.aggregations.metrics.MinAggregationBuilder;
import org.elasticsearch.search.aggregations.metrics.SumAggregationBuilder;
import org.jeecg.modules.mark.common.es.entity.AudioMarkInfo;
import org.junit.jupiter.api.Test;import java.util.Collections;
import java.util.List;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate;
import org.springframework.data.elasticsearch.core.SearchHits;
import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates;
import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder;@SpringBootTest
public class ElasticSearchTest {@Autowiredprivate ElasticsearchRestTemplate restTemplate;@Testpublic void count() {String indexName = "app_student_1";NativeSearchQueryBuilder query = new NativeSearchQueryBuilder();TermsAggregationBuilder group = AggregationBuilders.terms("group").field("id");// 多字段积 聚合求 和Script script1 = new Script(ScriptType.INLINE, "painless","doc['age'].value * doc['score'].value", Collections.emptyMap());SumAggregationBuilder sum = AggregationBuilders.sum("sum").script(script1);// 多字段差 聚合求 平均数Script script2 = new Script(ScriptType.INLINE, "painless","doc['age'].value / doc['score'].value", Collections.emptyMap());AvgAggregationBuilder avg = AggregationBuilders.avg("avg").script(script2);// 多字段和 聚合求 最大值Script script3 = new Script(ScriptType.INLINE, "painless","doc['age'].value + doc['score'].value", Collections.emptyMap());MaxAggregationBuilder max = AggregationBuilders.max("max").script(script3);// 多字段商 聚合求 最小值Script script4 = new Script(ScriptType.INLINE, "painless","doc['age'].value + doc['score'].value + doc['mathScore'].value", Collections.emptyMap());MinAggregationBuilder min = AggregationBuilders.min("min").script(script4);group.subAggregation(sum);group.subAggregation(avg);group.subAggregation(max);group.subAggregation(min);SearchHits<AudioMarkInfo> search = restTemplate.search(query.build(), AudioMarkInfo.class,IndexCoordinates.of(indexName));Aggregations aggregations = search.getAggregations();ParsedStringTerms terms = aggregations.get("group");List<? extends Terms.Bucket> buckets = terms.getBuckets();for (Terms.Bucket bucket : buckets) {String id = bucket.getKeyAsString();long count = bucket.getDocCount();for (Aggregation list : bucket.getAggregations().asList()) {// TODO:}}}}
http://www.tj-hxxt.cn/news/101913.html

相关文章:

  • 祥安阁风水网是哪个公司做的网站友情链接发布网
  • 怎样建官方网站网站排名优化培训哪家好
  • 后缀int网站企业网站推广有哪些
  • 网站的风格设计包括哪些内容谷歌外链
  • 服饰网站模板百度搜索排名服务
  • 计算机方向网站建设毕业论文企业推广宣传方案
  • 如何做网站站内搜索企业如何注册自己的网站
  • 从哪些方面建设网站seo推广话术
  • 如何查询网站的点击量sem是什么意思职业
  • 推进地方文明网站建设域名
  • 如何把自己做的网站放到微信上如何建立个人网站的步骤
  • 个人网站案例排行榜
  • 只用html5做网站爱站网能不能挖掘关键词
  • 网站建设的栏目策划小学生一分钟新闻播报
  • 商场设计要点墨猴seo排名公司
  • 亚马逊是b2b电子商务网站seo项目是什么
  • 为中国移动做网站的公司叫什么哪个平台推广效果好
  • 企业网站托管网站免费推广
  • 济南网站建设选搜点网络广告联盟赚钱app
  • 做网站和app报价个人接app推广单去哪里接
  • 做图挣钱的网站代运营靠谱吗
  • 网站赚钱平台seo学院
  • 企业网站托管趋势常见的网络推广方式有哪些
  • 网站后台seo优化如何做什么是整合营销概念
  • wordpress进管理员密码汨罗网站seo
  • 电商平台的发展手机优化什么意思
  • 南通做公司网站适合女生去的培训机构
  • 企业推广软件太原seo快速排名
  • 不备案网站怎么做推广2022年新闻摘抄简短
  • wordpress文章点不开网站seo优化课程