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

白宫网站 wordpresswordpress 翻译不起作用

白宫网站 wordpress,wordpress 翻译不起作用,wordpress主机空间选择,加工平台v型架0. 引言 某些业务场景下#xff0c;我们要对数组元素进行聚合查询#xff0c;就需要用到nested数据类型#xff0c;但部分场景是针对数组中指定的元素进行聚合#xff0c;于是就需要对数组元素进行限定#xff0c;今天来看看这种场景如何实现。 1. 数据准备 首先我们准…0. 引言 某些业务场景下我们要对数组元素进行聚合查询就需要用到nested数据类型但部分场景是针对数组中指定的元素进行聚合于是就需要对数组元素进行限定今天来看看这种场景如何实现。 1. 数据准备 首先我们准备一下模拟数据一个订单下有各个商品我们需要统计销售额前3的生鲜商品 mapping如下 PUT orders {settings: {number_of_replicas: 0,number_of_shards: 1},mappings: {properties: {order_no: {type: keyword},create_user: {type: keyword},product_list:{type: nested,properties: {name: {type: keyword},number: {type: integer},type: {type: keyword}}}}} }提供点模拟数据供大家演练 POST orders/_bulk {index:{}} {order_no:1,create_user:张三,product_list:[{name:苹果, number:2, type:生鲜},{name:水壶, number:2, type:百货},{name:香蕉, number:4, type:生鲜}]} {index:{}} {order_no:2,create_user:李四,product_list:[{name:榴莲, number:1, type:生鲜},{name:小米手机, number:2, type:百货},{name:鲫鱼, number:5, type:生鲜}]} {index:{}} {order_no:2,create_user:周吴,product_list:[{name:苹果, number:4, type:生鲜},{name:香梨, number:2, type:生鲜},{name:毛巾, number:4, type:百货}]}2. 实现 以下实现基于elasticsearch 7.13.0版本 1、我们来看直接查询的情况 GET orders/_search {size: 0,aggs: {product_agg: {nested: {path: product_list},aggs: {name_agg: {terms: {field: product_list.name},aggs: {number_sum: {sum: {field: product_list.number}},sort: {bucket_sort: {sort: [{number_sum.value: {order: desc}}],size: 3}}}}}}} }不做商品类型筛选的话可以看到我们通过nested聚合来实现统计通过bucket_sort来实现排序同时再用size参数限定下前3输出即可实现我们的需求。 nested agg官方文档https://www.elastic.co/guide/en/elasticsearch/reference/7.13/search-aggregations-bucket-nested-aggregation.html bucket sort官方文档https://www.elastic.co/guide/en/elasticsearch/reference/7.13/search-aggregations-pipeline-bucket-sort-aggregation.html 但是从输出结果很明显的看出这不是我们想要的结果我们需要对数组内的type属性做一下筛选只需要“生鲜”商品 而实现上es中提供了filter参数供我们来筛选聚合元素我们可以利用它来实现聚合条件的筛选如下在官方文档中的filter用法如下 filter agg 官方文档地址https://www.elastic.co/guide/en/elasticsearch/reference/7.13/search-aggregations-bucket-filter-aggregation.html 这里需要注意的是要把嵌套的聚合新写一个agg然后放到filter同级下也就是作为filter的子聚合即将filter聚合的结果作为下一次聚合的入参 GET orders/_search {size: 0,aggs: {product_agg: {nested: {path: product_list},aggs: {type_filter: {filter: {term: {product_list.type: 生鲜}},aggs: {name_agg: {terms: {field: product_list.name},aggs: {number_sum: {sum: {field: product_list.number}},sort: {bucket_sort: {sort: [{number_sum.value: {order: desc}}],size: 3}}}}}}}}} }执行出来的结果如下符合预期 另外再附加上java client的实现代码供大家参考这里使用了RestHighLevelClient作为客户端 Resource private RestHighLevelClient restClient;public void test() throws IOException {String outAggName product_agg;String filterAggName type_filter;String termAggName name_agg;TermsAggregationBuilder termsAggregationBuilder AggregationBuilders.terms(termAggName).field(product_list.name);SearchSourceBuilder searchBuilder new SearchSourceBuilder();searchBuilder.aggregation(AggregationBuilders.nested(outAggName, product_list).subAggregation(AggregationBuilders.filter(filterAggName, new TermQueryBuilder(product_list.type, 生鲜)).subAggregation(termsAggregationBuilder.subAggregation(AggregationBuilders.sum(number_sum).field(product_list.number)).order(BucketOrder.aggregation(number_sum.value, false)))));searchBuilder.size(0);SearchRequest searchRequest new SearchRequest(orders);searchRequest.source(searchBuilder);SearchResponse response restClient.search(searchRequest, RequestOptions.DEFAULT);MapString, Aggregation resultMap response.getAggregations().getAsMap();ParsedNested aggResults (ParsedNested) resultMap.get(outAggName);ParsedFilter filterAgg aggResults.getAggregations().get(filterAggName);ParsedStringTerms termAgg filterAgg.getAggregations().get(termAggName);List? extends Terms.Bucket buckets termAgg.getBuckets();for (Terms.Bucket bucket : buckets) {// TODO 获取分组结果}}
http://wiki.neutronadmin.com/news/218625/

相关文章:

  • 做寻亲网站的理由河南建设银行处理违章网站
  • 导视设计网站推荐手机访问另一部手机访问文件
  • 同城服务网站开发石家庄建网站挣钱优帮云
  • 网站设计的基本过程投票网站开发
  • 天津工程网站建设郑州建设网站企业定制
  • 做网站卖水果哪里进货临沧网站建设公司
  • 顺飞网站建设怎么样网站安全建设目标
  • flash网站建设技术...单页面销售信网站赚钱系统
  • 临沂网站建设报价公司网站建设后期维护
  • 小说网站建设吧wordpress插件验证
  • 青岛建设银行网站首页关键词代发排名首页
  • 图片 网站源码 采集网站rss地址生成
  • 潍坊方圆网站建设做网站登入见面
  • wex5做视频网站wordpress 标签 修改
  • 网页设计尺寸适应点击宝seo
  • 长沙做网站公司哪家好做色流网站要注意什么
  • 东莞网站建设方案咨询深圳优化网站公司
  • 吉林省长春市长春网站建设哪家好phpcms v9网站模板
  • 深圳建设局投标网站wordpress apache模块
  • 百度网站 收录外贸出口流程步骤
  • 做网站内嵌地图网站安全证书
  • 集团网站建设一级A视网站 一级做爰片
  • 提供电商网站建设个人全屏网站模板
  • jsp两种网站开发模式温州网页制作
  • 大连网站开发乛薇软件开发类型
  • 临沂网站制作专业怎么做网站例如京东
  • 百度网站制作wordpress教程 书籍
  • 贵州做网站s网站优化
  • 食品网站建设规划php 网站超市
  • 华为官方网站进入开发网站公司收费