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

飓风算法受影响的网站电子商务包括哪些内容

飓风算法受影响的网站,电子商务包括哪些内容,html5手机网站免费模板,电子商务查询网站目录 一、数据聚合 1.1、基本概念 1.1.1、聚合分类 1.1.2、特点 1.2、DSL 实现 Bucket 聚合 1.2.1、Bucket 聚合基础语法 1.2.2、Bucket 聚合结果排序 1.2.3、Bucket 聚合限定范围 1.3、DSL 实现 Metrics 聚合 1.4、基于 JavaRestClient 实现聚合 1.4.1、组装请求 …目录 一、数据聚合 1.1、基本概念 1.1.1、聚合分类 1.1.2、特点 1.2、DSL 实现 Bucket 聚合 1.2.1、Bucket 聚合基础语法 1.2.2、Bucket 聚合结果排序 1.2.3、Bucket 聚合限定范围 1.3、DSL 实现 Metrics 聚合 1.4、基于 JavaRestClient 实现聚合 1.4.1、组装请求 1.4.2、解析响应 1.5、黑马旅游案例 1.5.1、需求 1.5.2、对接前端接口 1.5.3、编写 controller 1.5.4、添加 filters 接口 1.5.5、实现接口 一、数据聚合 1.1、基本概念 1.1.1、聚合分类 聚合aggregations就是用来对文档数据的统计分析和运算. 就像之前我们学习过的 mysql也是有聚合功能比如可以使用 avg 求平均值max 求最大值等等并且需要搭配着 group by 分组使用而 es 也具备类似这些功能并且更加丰富. es 中聚合有以下三大类 1. 桶Bucket聚合用来对文档分组.  这就类似于 MySQL 中的 group by 了取名为 “桶”就好比对垃圾分类一样对不同的文档起到分类分组的作用. 桶聚合分组最常用的有两个类型 TermAggregation按照文档字段值分组这个实际上就和 mysql 中的 group by 效果是一样的. Data Histogram按照日期阶梯分组例如一周为一组或者一个月为一组. 2.  度量Metric聚合对分组的每组文档数据做计算比如 最大值、最小值、平均值等. 这里就和 mysql 中是一样的比如 avg、max、min...  并且 es 这里还有一个特殊的度量聚合—— stats它可以用来同时求平均值、最大值、最小值等等. 3. 管道pipeline聚合用来对其他聚合的结果做聚合. 比如对酒店数据按照品牌进行一个分组也就是 bucket 聚合接着算算不同品牌酒店的价格平均值怎么样这个时候就需要使用到 度量聚合 了之后如果还需要按照不同品牌价格的平均值进行排序那么就需要对度量结果再次聚合了. Ps管道聚合的方式用到的比较少不是后面学习的重点. 1.1.2、特点 这里不难看出刚刚我们所讲到的聚合是通过 term 对字符串进行分组也就是说将来是不能分词的那么日期、数值、布尔类型就更不用说了. 因此参与聚合的字段一定是不能分词的. 1.2、DSL 实现 Bucket 聚合 1.2.1、Bucket 聚合基础语法 Bucket 聚合语法如下 GET /索引库名/_search {size: 0,  // 设置size为0结果中不包含文档只包含聚合结果aggs: { // 定义聚合自定义聚合名: { //给聚合起个名字自定义terms: { // 聚合的类型按照品牌值聚合所以选择 termsfield: 字段名, // 参与聚合的字段size: 20 // 希望获取的聚合结果数量值设置超过总数也没有影响}}} }可以看出聚合的三要素聚合名称、聚合类型、聚合字段. 例如要按照酒店的品牌对酒店信息进行分类. 1.2.2、Bucket 聚合结果排序 默认情况下Bucket 聚合会统计 Bucket 内的文档数量记为 _count并且按照 _count 降序排序. 例如对酒店品牌分组并按照每个品牌的酒店数量按照升序排序 1.2.3、Bucket 聚合限定范围 默认情况下Bucket 聚合对索引库的所有文档做聚合.  这里我们可以限定要聚合的文档范围只需要添加 query 条件即可. PsBucket 聚合限定范围有一个好处如果说你这个索引库中有上亿条数据那么找个聚合对内存的消耗还是非常大的因此通过 query 限定搜索范围就可以大大减少对内存的消耗. 例如搜索价格 小于等于 200 的酒店并按照品牌分类. 1.3、DSL 实现 Metrics 聚合 度量聚合就是在分组后对每组分别进行计算需要在 aggs 中嵌套一个 aggs进行子查询. 例如搜索每个品牌的用户评分字段是 score的 min、max、avg 等值. 这里就可以使用 stats 聚合 当然这里也可以根据用户评分平均值来升序排序如下 1.4、基于 JavaRestClient 实现聚合 1.4.1、组装请求 示例按照酒店的品牌对酒店信息进行分类. Testpublic void testAggregation() throws IOException {//1.准备 SearchRequestSearchRequest request new SearchRequest(hotel);//2.准备参数request.source().size(0);request.source().aggregation(AggregationBuilders.terms(brandAgg) //自定义聚合名.field(brand) //根据 brand 的字段聚合.size(10) //展示 10 组数据);//3.发送请求接收响应SearchResponse response client.search(request, RequestOptions.DEFAULT);//4.解析handlerResponse(response);}可以对比着 DSL 语句来看 1.4.2、解析响应 //3.解析聚合查询Aggregations aggregations response.getAggregations();Terms terms aggregations.get(brandAgg);List? extends Terms.Bucket buckets terms.getBuckets();for (Terms.Bucket bucket : buckets) {String key bucket.getKeyAsString();System.out.println(key);}这里可以对照的 DSL 语法来看  1.5、黑马旅游案例 1.5.1、需求 以下搜索页面的品牌、城市、星级信息不因该页面写死的而是通过聚合索引库中的酒店数据得来的. 1.5.2、对接前端接口 前端页面会向服务器发起一个请求查询品牌、城市、星级等字段的聚合结果. 这里请求参数和之前的 search 的 RequestParam 完全一样. 这里的响应返回的格式因该是 {城市: [上海北京]品牌: [....]...... } 就是 MapString, ListString 的结构. 1.5.3、编写 controller 这里用来接收前端请求代码如下. RequestMapping(/filters)public MapString, ListString filters(RequestBody RequestParams params) {return hotelService.filters(params);}1.5.4、添加 filters 接口 public interface IHotelService extends IServiceHotel {PageResult search(RequestParams params);MapString, ListString filters(RequestParams params);}1.5.5、实现接口 这里构建查询请求的时候先经过条件过滤前端传入参数然后分别对 品牌、城市、星级聚合. Ps这里一定要检查 品牌、星级、城市构建索引库时的 type 类型是否为 keyword 也就是不可分词. 否则不可以进行聚合. Overridepublic MapString, ListString filters(RequestParams params) {try {//1.构造请求SearchRequest request new SearchRequest(hotel);//2.准备参数// 1) 查询handlerBoolQueryBuilder(request, params);// 2) 设置 sizerequest.source().size(0);// 3)聚合buildAggregation(request);//3.发送请求接收响应SearchResponse response client.search(request, RequestOptions.DEFAULT);//4.处理响应MapString, ListString result new HashMap();Aggregations aggregations response.getAggregations();ListString brandAgg getAggListByName(aggregations, brandAgg);result.put(brand, brandAgg);ListString cityAgg getAggListByName(aggregations, cityAgg);result.put(city, cityAgg);ListString starAgg getAggListByName(aggregations, starAgg);result.put(starName, starAgg);return result;} catch (IOException e) {System.out.println([HotelService] 酒店数据聚合失败);e.printStackTrace();return null;}}private ListString getAggListByName(Aggregations aggregations, String aggName) {Terms terms aggregations.get(aggName);List? extends Terms.Bucket buckets terms.getBuckets();ListString brandList new ArrayList();for (Terms.Bucket bucket : buckets) {String key bucket.getKeyAsString();brandList.add(key);}return brandList;}private void buildAggregation(SearchRequest request) {// 1) 聚合品牌request.source().aggregation(AggregationBuilders.terms(brandAgg).field(brand).size(100));// 2) 聚合城市request.source().aggregation(AggregationBuilders.terms(cityAgg).field(city).size(100));//3) 聚合星级request.source().aggregation(AggregationBuilders.terms(starAgg).field(starName).size(100));}
http://www.hkea.cn/news/14495998/

相关文章:

  • 网站缺陷和优化的例子cms系统什么意思
  • 做知识问答的网站去哪里可以做网站
  • 网站建设不能在淘宝发布站内营销推广方案
  • 正能量不良网站直接进入免费深圳网站推广外包
  • 网区建站dt模板网
  • 上海招聘网最新招聘2023网站 seo 优化 效果
  • 湖南建设集团网站网页搭建服务平台
  • 阳泉网站设计网站建设需要哪些证
  • 如果做vr参观网站网站建设运营有限公司
  • 网站能实现什么功能免费建设网站领地
  • 迅博威网站建设国外企业网络研究
  • 创业水务公司网站徐州人才网档案查询
  • 网站初期如何推广网页设计素材怎么保存到文件夹
  • 怎么免费创建个人网站wordpress小白
  • 学习网站推荐商务网页设计与制作软件
  • 一个网站建设的课程设计书页面设计需求发展
  • 重庆企业网站开发方案网站制作过程中常见的问题
  • 网站验证码调用2023企业税收标准
  • 报表网站建设flash做导航网站
  • 不知情的情况下帮别人做网站他违法建设银行信用卡境外网站盗刷
  • 网站模板怎样使用做网站的公司现在还赚钱吗
  • 怎么构建一个网站域名解析查询
  • 如何自己建设商城网站微信小程序分销功能
  • 免费学做淘宝的网站整站优化工具
  • 个人网站教程建设工程合同管理多少分及格
  • 中国建设银行网站开通短信个人租用境外服务器
  • 企业网站设计北京成品网站软件大全下载
  • dw怎么做jsp网站沈阳哪家网站好
  • 郑州建设局seo 整站优化
  • 网站盈利方法企业信息公示管理系统广东