温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
最后呢,咱们再给大家演示两个,嗯,聚合查询吧,好不好来。我们这里拷贝。拷贝以后放到这里啊,给它来个幺零啊,咱们聚合查询啊,写上咱们叫聚合查询,把上面的给它做掉啊,聚合查询。呃,聚合查询我们给大家演示什么呢?先演示一个比方说求最大值最小值这样的一种操作吧,好不好,那我们这里呢,把这个呢,哎,看啊,把它给它除掉行了,那我这里呢,来改一改,首先这个东西咱不要了,这个高亮这个东西咱不要去掉,那去掉以后呢,这里面我们的source这个builder没问题,现在里面的这个操作呀,就不能是普通的query了,所以把这个去掉。掉以后这个builder拿过来,咱们点它里面有个方法叫aggreg aggregation就是它,那么所以呢,它的那个builder呢,就应该叫做aggregation builder,这能明白吧,对吧,这个我觉得没问题啊,来把这个我们的builder呢拿过来,叫aggregation builder拷贝。拷贝之后在这个地方写上我们的builder,哎,咱们的,诶不对,这个来写上咱们的builder就得它了,等于我们的new,哎,把这个builder构建出来,这个builder构建出来的时候吧,有问题,为什么呢?因为它不能直接构造,所以说你要想构造的话比较特殊,它用一个叫agree builds,然后呢点我们叫max。
01:19
取最大值,或者呢,大家看一下,还有平均值avg,或者呢,我们的最小值,其实这些东西它都有啊,我就随便写了,咱们就叫max,这个max呢,我就写上啊,咱们起个名啊,起个名叫max。啊,就是最大的年龄,然后点你对哪个字段取最大的年龄啊,咱们叫foot,你就写上咱们对那个年龄取最大的年龄对不对啊,听的有点绕口对吧,但是其实是一个意思啊,哎,好呗,反过来这样的话,其实就是一个聚合操作了啊,它就是一个聚合操作了,那这个聚合操作呢,我们现在就可以直接来演示演示啊运行。运行以后看结果,那我现在的最大值年龄啊,应该是有了,因为我之前准备的数据嘛,那么这里最大的这个年龄啊,大家可以看到我们现在的这个数据,咱们拿到了啊,拿到拿到以后你看这看不出来啊,咱们往这看。
02:08
往这儿看最大的年龄看,最后大家看一下最大的年龄是不是60啊,你看60不就出来了吗?对不对,就是这个年龄啊嗯。我们下面看到的是我们所有的数据啊,你在这个所有的数据当中取得最大值不就是60吗?对吧?是这个意思啊,那好,这是我们的最大年龄,那如果我们想要对我们的这个年龄分组,比方说我们的60岁的放在一块,50岁放在一块,那这个时候呢,叫分组查询,所以把这个呢,我们也来做一下,来把这个给它拷贝啊,咱们叫分组查询,其实也是聚合查询了啊。放过来,我们写上11啊,咱们叫分组查询,好,那么分组查询的话,首先我们的这个还是aggregation,我们讲过了,它也是一种一种聚合查询,但是我们这个max肯定是不用了啊,把这个去掉,去掉以后呢,我们写上咱们叫做点,我们在这里写上叫terms。
03:00
哎,咱们的一个分词的一个操作,那么这个terms呢,我们写的起个名,我们写上来,咱们就叫做age,嗯,分组吧,Group,然后呢,改一下,我们就叫做我们的field,给他一个H,哎,你这么写,这样的话,我就根据年龄来做了一个分组,分组之后它会将查询结果呢,把那个数量取出来啊好,那么我们这里来直接用一下吧,运行其实啊,就把这个改一改就可以了。改完之后我们来看一看它分组之后的结果啊,来咱们往下看,这个不用管它,这个还是我们查询的数据,咱们看最后来。呃,最后当中大家可以看到我们在当前的这个位置呀,我们的这个,诶60的这个年龄啊,它有三个,我们30的年龄有两个,40年龄有两个,哎,所以它会有一个分组的概念,而且这个key呢,就是我分组的年龄那个key,那么这个就是我们分在一个组当中,呃,数据的数量叫do count嘛,对吧,就这个数量的意思。好了,那这个呢,分组查询就到这里了啊。
我来说两句