专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

elasticsearch聚合之bucketterms聚合

  1。背景
  此处简单记录一下bucket聚合下的terms聚合。记录一下terms聚合的各种用法,以及各种注意事项,防止以后忘记。2。前置条件2。1创建索引PUTindexperson{settings:{numberofshards:1},mappings:{properties:{id:{type:long},name:{type:keyword},sex:{type:keyword},age:{type:integer},province:{type:keyword},address:{type:text,analyzer:ikmaxword,fields:{keyword:{type:keyword,ignoreabove:256}}}}}}2。2准备数据PUTbulk{create:{index:indexperson,id:1}}{id:1,name:张三,sex:男,age:20,province:湖北,address:湖北省黄冈市罗田县匡河镇}{create:{index:indexperson,id:2}}{id:2,name:李四,sex:男,age:19,province:江苏,address:江苏省南京市}{create:{index:indexperson,id:3}}{id:3,name:王武,sex:女,age:25,province:湖北,address:湖北省武汉市江汉区}{create:{index:indexperson,id:4}}{id:4,name:赵六,sex:女,age:30,province:北京,address:北京市东城区}{create:{index:indexperson,id:5}}{id:5,name:钱七,sex:女,age:16,province:北京,address:北京市西城区}{create:{index:indexperson,id:6}}{id:6,name:王八,sex:女,age:45,province:北京,address:北京市朝阳区}3。各种聚合3。1统计人数最多的2个省3。1。1dslGETindexpersonsearch{size:0,aggs:{aggsex:{terms:{field:province,size:2}}}}3。1。2运行结果
  运行结果
  3。2统计人数最少的2个省3。2。1dslGETindexpersonsearch{size:0,aggs:{aggsex:{terms:{field:province,size:2,order:{count:asc}}}}}
  注意:不推荐使用count:asc来统计,会导致统计结果不准,看下方的总结章节。3。2。2运行结果
  运行结果
  3。3根据字段值排序根据年龄聚合,返回年龄最小的2个聚合3。3。1dslGETindexpersonsearch{size:0,aggs:{aggsex:{terms:{field:age,size:2,order:{key:asc}}}}}
  注意:这种根据字段值来排序,聚合的结果是正确的。3。3。2运行结果
  运行结果
  3。4子聚合排序先根据省聚合,然后根据每个聚合后的最小年龄排序3。4。1dslGETindexpersonsearch{size:0,aggs:{aggsex:{terms:{field:province,order:{minage:asc}},aggs:{minage:{min:{field:age}}}}}}GETindexpersonsearch{size:0,aggs:{aggsex:{terms:{field:province,order:{minage。min:asc}},aggs:{minage:{stats:{field:age}}}}}}
  注意:子聚合排序一般也是不准的,但是如果是根据子聚合的最大值倒序和最小值升序又是准的。3。4。2运行结果
  运行结果
  3。5脚本聚合根据省聚合,如果地址中有黄冈市则需要出现黄冈市
  3。5。1dsl
  GETindexpersonsearch{size:0,runtimemappings:{provincesex:{type:keyword,script:Stringprovincedoc〔province〕。value;Stringaddressdoc〔address。keyword〕。value;if(address。contains(黄冈市)){emit(黄冈市);}else{emit(province);}}},aggs:{aggsex:{terms:{field:provincesex}}}}
  注意事项
  3。5。2运行结果
  运行结果
  3。6filter以省分组,并且只包含北的省,但是需要排除湖北省3。6。1dslGETindexpersonsearch{size:0,aggs:{aggprovince:{terms:{field:province,include:。北。,exclude:〔湖北〕}}}}
  注意:当是字符串时,可以写正则表达式,当是数组时,需要写具体的值。3。6。2运行结果
  运行结果
  3。7多term聚合根据省和性别聚合,然后根据最大年龄倒序3。7。1dslGETindexpersonsearch{size:0,aggs:{genresandproducts:{multiterms:{size:10,shardsize:25,order:{maxage:desc},terms:〔{field:province,missing:defaultProvince},{field:sex}〕},aggs:{maxage:{max:{field:age}}}}}}
  注意:terms聚合默认不支持多字段聚合,需要借助别的方式。此处使用multiterms来实现多字段聚合。3。7。2运行结果
  运行结果
  3。8missingvalue处理
  missingvalue处理
  3。9多个聚合同时返回根据省聚合和根据性别聚合
  3。9。1dsl
  GETindexpersonsearch{size:0,aggs:{aggprovince:{terms:{field:province}},aggsex:{terms:{field:sex,size:10}}}}
  3。9。2运行结果
  运行结果
  4。总结
  4。1可以聚合的字段
  一般情况下,只有如下几种字段类型可以进行聚合操作keyword,numeric,ip,boolean和binary类型的字段。text类型的字段默认情况下是不可以进行聚合的,如果需要聚合,需要开启fielddata。
  可以聚合的字段
  4。2如果我们想返回所有的聚合Term结果
  如果我们只想返回100或1000个唯一结果,可以增大size参数的值。但是如果我们想返回所有的,那么推荐使用compositeaggregation
  如果我们想返回所有的聚合Term结果4。3聚合数据不准
  我们通过terms聚合到的结果是一个大概的结果,不一定是完全正确的。
  为什么?。举个例子:如果我们的集群有3个分片,此处我们想返回值最高的5个统计。即size5,假设先不考虑shardsize参数,那么此时每个节点会返回值最高的5个统计,然后再次聚合,返回,返回最终值最高的5个。这个貌似没什么问题,但是因为我们的数据是分布es的各个节点上的,可能某个统计项(北京市的用户数),在A节点是是排名前5,但是在B节点上不是排名前5,那么最终的统计结果是否是就会漏统计了。
  如何解决:我们可以让es在每个节点上多返回几个结果,比如:我们的size5,那么我们每个节点就返回size1。510个结果,那么误差相应的就会减少。而这个size1。510就是shardsize的值,当然我们也可以手动指定,但一般需要比size的值大。
  聚合数据不准
  4。4排序注意事项
  4。4。1count排序
  默认情况下,使用的是count倒序的,但是我们可以指定成升序,但是这是不推荐的,会导致错误结果。如果我们想要升序,可以使用rareterms聚合。
  count排序
  4。4。2字段值排序
  使用字段值排序,不管是正序还是倒序,结果是准确的。
  字段值排序
  4。4。3子聚合排序
  子聚合排序
  4。5多term聚合
  多term聚合
  5、源码地址
  https:gitee。comhuan1993springcloudparentblobmastereses8apisrcmainjavacomhuanes8aggregationsbucketTermsAggs。java6。参考链接https:www。elastic。coguideenelasticsearchreferencecurrentsearchaggregationsbuckettermsaggregation。htmlhttps:www。elastic。coguideenelasticsearchreferencecurrentsearchaggregationsbucketmultitermsaggregation。html

大张伟遭大鹏污蔑事业停滞,对方道歉7年,为何他却选择不原谅大张伟被大鹏污蔑,事业身心严重受挫别访了,结束了,结束了!大鹏轻飘飘的一句话,让大张伟背负了多年骂名。大鹏爆粗口当年大张伟和花儿乐队新成员,一起参加了由大鹏和于莎莎主持的一档娱乐节网传李晓峰已怀孕,将与刘恺威赴港待产,刘丹现身回应否认传闻艺人刘恺威与新女友李晓峰交往已经几个月的时间了,两人于去年11月18日正式透过媒体官宣恋情,在一起这么长时间,双方感情都特别稳定,时不时低调放闪秀下恩爱,甜蜜指数爆表,让众网友羡慕王栎鑫发文回应采访发言,向热巴道歉态度惹争议!离婚是有原因的1月12日,王栎鑫想带迪丽热巴去荒岛求生的话题登上热搜,不少网友在看见该词条后都表示太离谱,一时间引起了大家的关注与热议!据悉,王栎鑫在之前的一段采访中被问如果一个荒岛求生的节目找甄子丹!成名后抛妻弃子,片场封杀赵文卓,他的人品到底有多差?提到甄子丹,应该没有人不知道吧!他是与成龙,李连杰,并驾齐驱的武打明星,看到甄子丹就会想到他的成名作叶问。电影中甄子丹的动作干净利落,凌厉迅猛,爆发力强,充满力度与视觉观赏性。通过剑风传奇,倒计时中的后半生在访谈录为胜利而战中,押井守提到过自己创作时的胜负观。他认为身为电影导演,胜利不是商业票房上的成功,也不是获奖带来的荣誉,而是能够持续获得拍下一部作品的权利和内在动力。按照押井守的大衣哥儿子再婚,大婚当天,新娘却满脸嫌弃,到底是图人还是图钱近期,大衣哥的儿子,又找到了一个新媳妇?老朱之文也是开心的笑出了声,全家都开心的要死要活,全村老少爷们都来捧场,但为啥只有新娘愁眉苦脸呢?首先,让我们再来回顾一下大衣哥的成名史朱之陪伴是最长情的告白!想见你曝跨年代陪伴海报1905电影网讯1月12日,电影想见你发布莫俊杰陈韵如跨年代陪伴海报。一幅幅照片记录两人从学生时代到成年阶段彼此陪伴的时光,沉静善良的陈韵如一直都是莫俊杰世界里的女主角,陪伴就是最惠英红惠是她的姓,红是她的命一沈月痛哭赵樱子没人选惠英红摔本子,网友直呼综艺无限超越班真能演。但我相信,惠英红演不出来,不是演技不行,而是她较真也当真了。41岁的薛凯琪站在台前真诚地分享自己的过往,同时也袒露郭碧婷取关向佐!独自带女儿飞香港,娱记再曝猛料,疑似要离婚头条创作挑战赛1月12日,罕见露面的郭碧婷又上了热搜,大家发现她取关了向佐,离婚的传言再次甚嚣尘上。有媒体拍到,郭碧婷独自带着女儿现身头等舱,身穿一件棕色风衣,白色T恤,面容憔悴,众神豪邀约PDD回归逆水寒为了让他花钱?你可能太天真了这两天,游戏圈里最令人震惊的消息,无疑就是PDD和逆水寒迎来世纪大和解了。PDD和逆水寒之间的事儿,在游戏圈可谓是无人不知无人不晓。当年,PDD因为查出身患肿瘤,万念具丧。为了分散梦幻西游175帮战女儿村,138标准硬件搭配,比服战号还抢手!Hello大家好,我是浩仔!关注浩仔,每天给你带来最新梦幻西游游戏资讯!以下点评仅代表个人意见,不代表官方或平台立场。要说帮战哪个门派最吃香,女儿村绝对是其中之一。很多帮战队伍最缺
索偿70亿,民生银行起诉了自己的副董事长卢志强民生银行曾是我最喜欢的银行,因为在全国股份制银行里民生是唯一的民营银行,我还幻想着阿里或者腾讯能参股甚至控股民生,把民生打造成先进的互联网科技银行,民生的发展也没让我失望,记得20民生银行股价创新低,可股息率达6。5,是黄金坑呢还是亏钱的坑?财经新势力新春季民生银行二级市场上的股票价格创出了历史性的新的低点,但是,他的分红派息保持相对的稳定,已经连续两年每十股派发现金红利2。13元,阶段性的股息率也达到了6。5。民生银助力稳增长发展资本市场成地方两会热词新华社北京1月18日电中国证券报18日刊发文章助力稳增长发展资本市场成地方两会热词。文章称,近期,全国各地两会密集召开。多地政府工作报告涉及资本市场规划,包括设立新增上市公司目标数交广会客厅厚积薄发正当年翻开微信步数,要问湖东车载设备车间谁的步数高居榜首?那无疑是湖东库修工区工长李秀忠。春运期间,随着大秦线运营机车回库整修增多,库修工作迎来了任务量最密集的时刻,作为工长,对每台机车2023年春晚主持人任鲁豫从地方台出身,为何能站到央视C位呢?2023年央视春晚主持人已经公布,包括撒贝宁在内的6位主持阵容,将相约在除夕晚上迎接兔年的到来。这一次名单中有任鲁豫,撒贝宁,尼格买提,龙洋,马凡舒以及王嘉宁。可以说这一次的搭配看2023前瞻地方债回顾及展望2022年的十大事件与2023年的四大趋势21世纪经济报道记者杨志锦上海报道对于地方政府而言,2022年是艰难的一年。一方面,财政收入尤其是卖地收入大幅下降,而防疫三保等支出有增无减另一方面,城投融资依然从紧。两相冲击下,不复当年勇!郭艾伦15中5,过完年33岁,年龄是他最大的硬伤辽粤二番战,辽篮99108不敌广东。本场比赛,辽宁队输球的一大原因就是后场双星表现低迷,郭艾伦和赵继伟的发挥十分糟糕,一定程度上浪费了球队有限的进攻球权,葬送掉追分的机会,输掉比赛攸县农商银行成立八年累计向地方贡献税收近9亿元红网时刻新闻1月18日讯(通讯员左振华)感恩相伴,共赢未来。1月13日晚,攸县农商银行举办成立八周年暨乡村振兴客户答谢会,省联社株洲办事处主任何畅,攸县县委书记李鹏程,县委副书记县如果绑戏有段位,鞠婧祎青铜,舒畅黄金,小姨妈称王者甄嬛传上线数十年了,如今仍然有不少观众在回顾剧情的时候。刷出剧组隐藏在剧情中的彩蛋,并且给出自己的解答。一些台词当时看只觉得写得好,如今再细细品读,才会发觉有前后对应之意。甚至有热10个超宝藏成都公园,为你翻开一份公园城市图鉴作为公园城市的首提地,成都自2018年开启了公园城市的建设元年,从空间建造到场景营造,从生态到业态,从生产方式到生活方式,公园随着城市更新与发展的步伐逐渐融入了人们的日常生活中,并七品县太爷真的是传说中的芝麻官吗?在我国封建王朝时代,芝麻官用来形容官职品级低,而县太爷由于是七品官,品级比较低,因此我们经常会听到用七品芝麻官来形容知县这一官职,后来也泛指品级比较低的官吏。但这里就有一个问题,七
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网