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

企业网站开发有哪些微信小程序开发工具手机版

企业网站开发有哪些,微信小程序开发工具手机版,四川建设网网站,如何优化网络文章目录 数据聚合聚合的种类RestAPI实现聚合 数据聚合 什么是聚合#xff1f; 聚合可以让我们极其方便的实现对数据的统计、分析、运算。例如#xff1a; 什么品牌的手机最受欢迎#xff1f;这些手机的平均价格、最高价格、最低价格#xff1f;这些手机每月的销售情况如… 文章目录 数据聚合聚合的种类RestAPI实现聚合 数据聚合 什么是聚合 聚合可以让我们极其方便的实现对数据的统计、分析、运算。例如 什么品牌的手机最受欢迎这些手机的平均价格、最高价格、最低价格这些手机每月的销售情况如何 实现这些统计功能的比数据库的sql要方便的多而且查询速度非常快可以实现近实时搜索效果。 聚合的种类 桶Bucket聚合用来对文档做分组 TermAggregation按照文档字段值分组例如按照品牌值分组、按照国家分组Date Histogram按照日期阶梯分组例如一周为一组或者一月为一组 度量Metric聚合用以计算一些值比如最大值、最小值、平均值等 Avg求平均值Max求最大值Min求最小值Stats同时求max、min、avg、sum等 管道pipeline聚合其它聚合的结果为基础做聚合 DSL实现聚合 现在我们要统计所有数据中的酒店品牌有几种其实就是按照品牌对数据分组。此时可以根据酒店品牌的名称做聚合也就是Bucket聚合。 聚合结果排序 默认情况下Bucket聚合会统计Bucket内的文档数量记为_count并且按照_count降序排序。 我们可以指定order属性自定义聚合的排序方式 限定聚合的范围 默认情况下Bucket聚合是对索引库的所有文档做聚合但真实场景下用户会输入搜索条件因此聚合必须是对搜索结果聚合。那么聚合必须添加限定条件。 我们可以限定要聚合的文档范围只要添加query条件即可 Metric聚合语法 我们对酒店按照品牌分组形成了一个个桶。现在我们需要对桶内的酒店做运算获取每个品牌的用户评分的min、max、avg等值。 这就要用到Metric聚合了例如stat聚合就可以获取min、max、avg等结果。 这次的score_stats聚合是在brandAgg的聚合内部嵌套的子聚合。因为我们需要在每个桶分别计算。 小结 aggs代表聚合与query同级此时query的作用是 限定聚合的的文档范围 聚合必须的三要素 聚合名称聚合类型聚合字段 聚合可配置属性有 size指定聚合结果数量order指定聚合结果排序方式field指定聚合字段 RestAPI实现聚合 案例 业务需求搜索页面的品牌、城市等信息不应该是在页面写死而是通过聚合索引库中的酒店数据得来的 分析 目前页面的城市列表、星级列表、品牌列表都是写死的并不会随着搜索结果的变化而变化。但是用户搜索条件改变时搜索结果会跟着变化。 例如用户搜索“东方明珠”那搜索的酒店肯定是在上海东方明珠附近因此城市只能是上海此时城市列表中就不应该显示北京、深圳、杭州这些信息了。 也就是说搜索结果中包含哪些城市页面就应该列出哪些城市搜索结果中包含哪些品牌页面就应该列出哪些品牌。 如何得知搜索结果中包含哪些品牌如何得知搜索结果中包含哪些城市 使用聚合功能利用Bucket聚合对搜索结果中的文档基于品牌分组、基于城市分组就能得知包含哪些品牌、哪些城市了。 因为是对搜索结果聚合因此聚合是限定范围的聚合也就是说聚合的限定条件跟搜索文档的条件一致。 业务实现 在cn.itcast.hotel.web包的HotelController中添加一个方法遵循下面的要求 请求方式POST请求路径/hotel/filters请求参数RequestParams与搜索文档的参数一致返回值类型MapString, ListString 这里调用了IHotelService中的getFilters方法尚未实现。 在cn.itcast.hotel.service.IHotelService中定义新方法 在cn.itcast.hotel.service.impl.HotelService中实现该方法 Override public MapString, ListString filters(RequestParams params) {try {// 1.准备RequestSearchRequest request new SearchRequest(hotel);// 2.准备DSL// 2.1.querybuildBasicQuery(params, request);// 2.2.设置sizerequest.source().size(0);// 2.3.聚合buildAggregation(request);// 3.发出请求SearchResponse response client.search(request, RequestOptions.DEFAULT);// 4.解析结果MapString, ListString result new HashMap();Aggregations aggregations response.getAggregations();// 4.1.根据品牌名称获取品牌结果ListString brandList getAggByName(aggregations, brandAgg);result.put(品牌, brandList);// 4.2.根据品牌名称获取品牌结果ListString cityList getAggByName(aggregations, cityAgg);result.put(城市, cityList);// 4.3.根据品牌名称获取品牌结果ListString starList getAggByName(aggregations, starAgg);result.put(星级, starList);return result;} catch (IOException e) {throw new RuntimeException(e);} }private void buildAggregation(SearchRequest request) {request.source().aggregation(AggregationBuilders.terms(brandAgg).field(brand).size(100));request.source().aggregation(AggregationBuilders.terms(cityAgg).field(city).size(100));request.source().aggregation(AggregationBuilders.terms(starAgg).field(starName).size(100)); }private ListString getAggByName(Aggregations aggregations, String aggName) {// 4.1.根据聚合名称获取聚合结果Terms brandTerms aggregations.get(aggName);// 4.2.获取bucketsList? extends Terms.Bucket buckets brandTerms.getBuckets();// 4.3.遍历ListString brandList new ArrayList();for (Terms.Bucket bucket : buckets) {// 4.4.获取keyString key bucket.getKeyAsString();brandList.add(key);}return brandList; }
http://www.dnsts.com.cn/news/171709.html

相关文章:

  • 桐柏微网站建设wordpress 站点地址 wordpress地址
  • 长春作网站营销型网站建设开发
  • 网站怎么做 凡科自己可以建设网站卖东西吗
  • 绍兴网站推广做网站公司的使命
  • 淘宝网站可以做轮播吗个人摄影网站源码
  • 琼海做球网站化工企业网站模板
  • 怎么样建立一个网站西安直播室网站建设
  • 新手建设html5网站友情链接多少钱一个
  • 找程序员的网站网站建设怎么配置伪静态文件
  • 建筑网站 国外铜陵网站开发
  • 上海网站开发白石龙做网站
  • 什么网站做调查能赚钱陕西建设网综合服务中心网站
  • 权威的徐州网站建设WordPress实现
  • 网站设计影响seo的因素福田公司董事长
  • 他们怎么做的刷赞网站网店推广费用多少钱
  • 重庆网站建设与制作wordpress创建短代码
  • 公司手机网站模板各大网站域名
  • ppt做的最好的网站有哪些wordpress迁移typecho
  • 可信网站认证必须做吗快速建立平台网站开发
  • 网站设计高端网站设计themes for wordpress
  • 移动网站建站系统下载移动端4060相当于桌面端什么显卡
  • 购买域名是什么意思seo流量的提升的软件浿
  • 崇明网站开发深圳招聘一般在哪个网站
  • 网站论坛做斑竹计算机专业论文 网站建设
  • 史志网站建设网站被很多公司抄袭
  • 装饰网站建设运营wordpress登录查看
  • 龙岗网站建设方案互联网行业市场分析
  • 广州网站 服务器建设wordpress设置静态
  • 郑州网站建设专业乐云seo.net 接单网站有哪些
  • 中国网站建设公司有哪些番禺手机网站建设