应用办公生活信息教育商业
投稿投诉
商业财经
汽车智能
教育国际
房产环球
信息数码
热点科技
生活手机
晨报新闻
办公软件
科学动态
应用生物
体育时事

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

一起学pixijs(2)修改图形属性大家好,我是前端西瓜哥。我们做动画、游戏、编辑器,需要根据用户的交互等操作,去实时地改变图形的属性,比如位置,颜色等信息。今天西瓜哥带大家来看看在pixijs怎么修改图形……花花公子王思聪,以身试法上海滩昨天上海静安区南京西路打人事件,今天有了官方通报。打人者果然是大名鼎鼎的万达公子哥王思聪。消息一出,迅速成为今日头条。警方通报对打人过程及处理结果公布的很及时也很详……朱芳雨终于出手!广东宏远试训CBA扣篮王,昔日王牌锋线再获补在噩梦般的第二阶段过后,宏远球迷都松了一口气。其实宏远在第二阶段遭遇的几场败仗,都深刻说明了一个问题,宏远输球并不是真的打不过,而是数位主力受伤缺席、剩下的球员又多数带伤上阵的……北京冬奥村通过全要素测试在激活服务区,工作人员为居民提供证件激活服务。潘之望摄丰富多样的菜品让前来测试的居民尝了个鲜。潘之望摄冬奥会期间,北京冬奥村(冬残奥村)预计接待来自54个国家和地区……孕妇不能抱别人的孩子?奇葩的孕期禁忌,医生却说有道理孕妇不能抱孩子?这个奇葩的孕期禁忌,不信还真不借的药锅不能还,要等主家来拿。出嫁的女人不能在娘家过年,会把娘家吃穷。家里有经商的,煮饺子时不能说破了,要说挣了……一瓣爱马来西亚,一瓣爱中国(百年航程有侨精彩(31))来源:《人民日报海外版》1973年,马来西亚糖王郭鹤年接到一个神秘电话,当即从新加坡赶到中国香港,与国内有关人员见面。原来,当时国家物资及食品供应紧张,急需30万吨原糖,希望郭……秋冬季这5种水果热着吃,不仅能止嗽治腹泻,还能降脂降压秋冬季节一到,天气也越来越冷了,很多人因此不敢吃水果,担心会冷到牙齿和胃。但其实,低温天气吃水果,并不会影响我们的身体健康。如果大家还是有所顾忌,那不妨来试试热着吃水果吧……结婚12年无子女的祖峰,甘做配角25年,他哪来的底气?想必网友们都没想到,热依扎凭借电视剧《山海情》里的李水花拿下飞天奖优秀女演员奖后,不仅仅是令大家纷纷感叹去年与白玉兰奖最佳女主角奖擦肩而过的意难平终于得到了圆满,也让许多人又重……活动星投票奋进新征程网络评选微信的投票方式线上免费投票奋进新征程网络评选投票不限流量小程序免费制作投票好用方便的投票平台如果通过一个小程序免费制作一个微信投票活动呢?文章详细讲解如何利用一款免费好用的微信小程序活动星投……Science非常规油气开发影响地表水的大样本证据2021年8月20日,《科学》(Science)杂志刊发文章《非常规油气开发影响地表水的大样本证据》(Largesampleevidenceontheimpactofuncon……这一刻超燃!中国红为中国队鼓劲加油中国代表团入场。人民网冬奥报道组摄人民网北京2月5日电(记者鲁婧)伴随着《歌唱祖国》旋律响起,中国体育代表团身着红白两色搭配的中国风采服饰缓缓入场。这一刻超燃!满屏跳跃的……孔令辉近况,他一直很低调,离开国乒的乒乓王子,人气还是很高的近日,媒体曝光了孔令辉代言茶壶并亲自把玩的照片。孔令辉出现后,他也受到了极大的关注。可见,离开国乒三年的乒乓王子人气还是很高的。近10年来,孔令辉基本淡出神坛,以致……
千年盛世让你纵横武侠世界,还你一个武侠梦千年手游《千年盛世》修炼武功元气的高作用!各位兄弟,众所周知,修炼武功是可以增加元气的,当元气达到一定的数值是可以提升境界。那就有兄弟问,元气值怎么加,多少元气可以……6889元买苹果14pro一拍视频就花屏2月11号,骆先生在网上给儿子买了一部苹果14手机,15号送到,说是只用了5天,发现手机一拍视频就花屏。百亿补贴的苹果14pro一拍视频就花屏?骆先生:百亿补贴,因……姜还是老的辣,改版的Facebook带动Meta股价大涨202月财经新势力发完财报,股价涨了20,Meta又可以了?近两年的Meta年过得并不顺利,在2022年,Meta甚至创下了好几个首次。2022年Q1,是苹果ID……华擎推出BlazingQuadM。2扩展卡四个PCIe5。0近日,华擎推出了一款扩展卡,名为BlazingQuadM。2Card,这也是华擎迄今为止体积最大的M。2扩展卡。利用该款扩展卡,可以让主板上多出四个PCIe5。0M。2插槽,极……监管打压链上质押Coinbase重挫14创半年来最大跌幅比特币开年的回弹,给人心惶惶的币圈带来一剂强心剂。但如今,随着美国监管机构的重拳出击,加密资产的前景再度变得不明确。美东时间2月10日,受竞争对手Kraken被美国监管机……6岁男孩被亲妈用开水烫手,剪刀剪耳朵,全身惨不忍睹!我们常常听过一句话:父母是门槛最低的职业,但是这个职业并不好做。父母需要有最基本的道德感,需要给孩子们做好榜样,显然很多人都没有这个资格和能力。然而法律并没有规定生孩子需要考取……多图东江画廊乡村振兴示范带掠影东源县大力实施乡村振兴提质增效年行动,以参加广东省第三届乡村振兴大擂台比赛为契机,升级诗画田园乡村振兴示范带,打造东江画廊乡村振兴示范带,高质量全面推进乡村振兴工作。东江……俄航天集团公司进步MS20号货运飞船将于2月7日早上脱离国际【俄航天集团公司:进步MS20号货运飞船将于2月7日早上脱离国际空间站】财联社1月30日电,俄罗斯国有航天集团公司称,进步MS20货运飞船将于莫斯科时间2月7日8点01分脱离国……杉杉掌舵者疑云!高颜值后妈上演豪门之争?继任者的痛苦之殇!杉杉股份创始人郑永刚因心脏病突然离世,这位浙商大佬给家族留下了接近400亿优质企业资产!根据网络消息,因事发突然,郑董并未提前设立遗嘱,股权分配疑云丛生,杉杉实控权之争拉……去年销售额同比增60京东自有品牌打怪升级五周年一边开放,一边每经记者:王郁彪每经编辑:刘雪梅3月17日,在京东京造五周年之际,京东自有品牌公布了一组最新数据:2022年,京东京造销售额同比增长60,100个以上品类年均销售额增长超……TikTok(抖音国际版)的强大,令美国颤抖,美国为何突然要提起TikTok可能有人还不知道是什么,可提到抖音那一定是无人不知,无人不晓。而TikTok作为抖音的国际版本,一经推出便风靡国外。这样一款全球都受欢迎的软件,为何会在美国引起……新疆队不应退赛,而应该选择更合情合理的方式当新疆队官宣退出CBA的那一时刻,舆论哗然,有挺新疆队的,有挺篮协的,也有挺周琦的,但我相信很多人,从球员到球迷,还有工作人员,包括姚明和周琦,都失眠了。毕竟新疆队,在C……
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网