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

wordpress安装后怎么修改主题深圳高端seo外包公司

wordpress安装后怎么修改主题,深圳高端seo外包公司,网站开发点赞收藏设计思路,可以做招商的网站用处: 聚合(aggregations)可以极其方便的实现对数据的统计、分析、运算。例如: 什么品牌的手机最受欢迎?这些手机的平均价格、最高价格、最低价格?这些手机每月的销售情况如何? 实现这些统计…

用处:

聚合(aggregations)可以极其方便的实现对数据的统计、分析、运算。例如:

  • 什么品牌的手机最受欢迎?
  • 这些手机的平均价格、最高价格、最低价格?
  • 这些手机每月的销售情况如何?

实现这些统计功能的比数据库的sql要方便的多,而且查询速度非常快,可以实现近实时搜索效果。

官方文档:

Aggregations | Elasticsearch Guide [7.12] | Elastic

聚合常见的有三类:

  • 桶(**Bucket****)**聚合:用来对文档做分组
    • TermAggregation:按照文档字段值分组,例如按照品牌值分组、按照国家分组
    • Date Histogram:按照日期阶梯分组,例如一周为一组,或者一月为一组
  • 度量(**Metric****)**聚合:用以计算一些值,比如:最大值、最小值、平均值等
    • Avg:求平均值
    • Max:求最大值
    • Min:求最小值
    • Stats:同时求maxminavgsum
  • 管道(**pipeline****)**聚合:其它聚合的结果为基础做进一步运算

:::color5
**注意:**参加聚合的字段必须是keyword、日期、数值、布尔类型

:::

DSL实现聚合

Bucket聚合

例如要统计所有商品中共有哪些商品分类,其实就是以分类(category)字段对数据分组。category值一样的放在同一组,属于Bucket聚合中的Term聚合。

基本语法:

GET /items/_search
{"size": 0, "aggs": {"category_agg": {"terms": {"field": "category","size": 20}}}
}

语法说明:

  • size:设置size为0,就是每页查0条,则结果中就不包含文档,只包含聚合
  • aggs:定义聚合
    • category_agg:聚合名称,自定义,但不能重复
      • terms:聚合的类型,按分类聚合,所以用term
        • field:参与聚合的字段名称
        • size:希望返回的聚合结果的最大数量

来看下查询的结果:

带条件聚合

  • 搜索查询条件:
    • 价格高于3000
    • 必须是手机
  • 聚合目标:统计的是品牌,肯定是对brand字段做term聚合

语法如下:

GET /items/_search
{"query": {"bool": {"filter": [{"term": {"category": "手机"}},{"range": {"price": {"gte": 300000}}}]}}, "size": 0, "aggs": {"brand_agg": {"terms": {"field": "brand","size": 20}}}
}

聚合结果如下:

{"took" : 2,"timed_out" : false,"hits" : {"total" : {"value" : 13,"relation" : "eq"},"max_score" : null,"hits" : [ ]},"aggregations" : {"brand_agg" : {"doc_count_error_upper_bound" : 0,"sum_other_doc_count" : 0,"buckets" : [{"key" : "华为","doc_count" : 7},{"key" : "Apple","doc_count" : 5},{"key" : "小米","doc_count" : 1}]}}
}

Metric聚合

需要对桶内的商品做运算,获取每个品牌价格的最小值、最大值、平均值。

这就要用到Metric聚合了,例如stat聚合,就可以同时获取minmaxavg等结果。

语法如下:

GET /items/_search
{"query": {"bool": {"filter": [{"term": {"category": "手机"}},{"range": {"price": {"gte": 300000}}}]}}, "size": 0, "aggs": {"brand_agg": {"terms": {"field": "brand","size": 20},"aggs": {"stats_meric": {"stats": {"field": "price"}}}}}
}

query部分就不说了,我们重点解读聚合部分语法。

可以看到在brand_agg聚合的内部,新加了一个aggs参数。这个聚合就是brand_agg的子聚合,会对brand_agg形成的每个桶中的文档分别统计。

  • stats_meric:聚合名称
    • stats:聚合类型,stats是metric聚合的一种
      • field:聚合字段,这里选择price,统计价格

由于stats是对brand_agg形成的每个品牌桶内文档分别做统计,因此每个品牌都会统计出自己的价格最小、最大、平均值。

结果如下:

另外,还可以让聚合按照每个品牌的价格平均值排序:

RestClient实现聚合

可以看到在DSL中,aggs聚合条件与query条件是同一级别,都属于查询JSON参数。因此依然是利用request.source()方法来设置。

不过聚合条件的要利用AggregationBuilders这个工具类来构造。DSL与JavaAPI的语法对比如下:

聚合结果与搜索文档同一级别,因此需要单独获取和解析。具体解析语法如下:

完整代码如下:

@Test
void testAgg() throws IOException {// 1.创建RequestSearchRequest request = new SearchRequest("items");// 2.准备请求参数BoolQueryBuilder bool = QueryBuilders.boolQuery().filter(QueryBuilders.termQuery("category", "手机")).filter(QueryBuilders.rangeQuery("price").gte(300000));request.source().query(bool).size(0);// 3.聚合参数request.source().aggregation(AggregationBuilders.terms("brand_agg").field("brand").size(5));// 4.发送请求SearchResponse response = client.search(request, RequestOptions.DEFAULT);// 5.解析聚合结果Aggregations aggregations = response.getAggregations();// 5.1.获取品牌聚合Terms brandTerms = aggregations.get("brand_agg");// 5.2.获取聚合中的桶List<? extends Terms.Bucket> buckets = brandTerms.getBuckets();// 5.3.遍历桶内数据for (Terms.Bucket bucket : buckets) {// 5.4.获取桶内keyString brand = bucket.getKeyAsString();System.out.print("brand = " + brand);long count = bucket.getDocCount();System.out.println("; count = " + count);}
}

总结

aggs代表聚合,与query同级,query的作用是:

  • 限定聚合的的文档范围

聚合必须的三要素:

  • 聚合名称
  • 聚合类型
  • 聚合字段

聚合可配置属性有:

  • size:指定聚合结果数量
  • order:指定聚合结果排序方式
  • field:指定聚合字段
http://www.dtcms.com/wzjs/46828.html

相关文章:

  • 做网站图片要求优化网站关键词
  • 马克斯网站建设竞价代运营外包公司
  • 陕西省建设网官网首页南京百度关键字优化价格
  • 站长工具seo下载链爱生态怎么交易
  • hugo 怎么做网站搜狐财经峰会直播
  • 甘肃手机网站建设怎样做网站卖自己的产品
  • 武汉哪家做网站网站怎么优化关键词快速提升排名
  • 青岛做网站的信息技术公司百度指数排名明星
  • 临沂市网站建设公司广州网站设计实力乐云seo
  • 如何做网站可以吗推广员网站
  • 网站 廉政建设 板块滕州seo
  • wordpress qq头像不显示谷歌优化的网络公司
  • wordpress 链接数据库seo软件推广哪个好
  • wordpress 图册业民啊郑州seo线上推广技术
  • wordpress电影自动采集主题seo软件视频教程
  • 北京国都建设集团网站百度网站名称
  • 美女和帅哥做私人动作的漫画的网站关键词优化如何做
  • 品牌服装网站建设现状一般开车用什么导航最好
  • 有没有在线做动图的网站百度竞价托管外包代运营
  • 重庆网站制作企业百度广告电话号码
  • 做网站开封世界杯大数据
  • 做资源网站怎么不封北京网络营销推广培训哪家好
  • 学校网站源码php今日时政新闻
  • 国外在线网站建设平台西安seo网站排名
  • 网站整站个人建站
  • 手机做网站公司有哪些怎么在百度上设置自己的门店
  • 如何建设电影会员网站今日热点新闻头条国内
  • 人妖怎么做的手术视频网站网络运营师资格证
  • 如何建设公司网站知乎搜索引擎营销案例分析题
  • 电子商务网站开发项目设计报告阿里云搜索引擎网址