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

做网站需要的合同建行网站登录不了

做网站需要的合同,建行网站登录不了,中国机械加工网19易5下2拉i,wordpress所有人提问数据聚合 聚合的种类 DSL实现Bucket聚合 如图所示,设置了10个桶,那么就显示了数量最多的前10个桶,品牌含有7天酒店的有30家, 品牌含有如家的也有30家。 修改排序规则 限定聚合范围 DSL实现Metrics聚合 如下案例要求对不同的品…

数据聚合

聚合的种类

DSL实现Bucket聚合

 如图所示,设置了10个桶,那么就显示了数量最多的前10个桶,品牌含有7天酒店的有30家,

品牌含有如家的也有30家。

修改排序规则

 

 限定聚合范围

 DSL实现Metrics聚合

如下案例要求对不同的品牌进行统计,所以要进行分组。

 如图所示,要对桶的平均评分做排序,要使用不同桶的平均评分

 

RestClient实现聚合

请求组装 

    @Testvoid testAggregation() throws IOException {//1.准备RequestSearchRequest request = new SearchRequest("hotel");//2.准备DSl//2.1设置sizerequest.source().size(0);//2.2聚合request.source().aggregation(AggregationBuilders.terms("brandAgg").field("brand").size(10));//3.发出请求SearchResponse response = client.search(request, RequestOptions.DEFAULT);//4.解析结果System.out.println(response);}

 

结果解析

    @Testvoid testAggregation() throws IOException {//1.准备RequestSearchRequest request = new SearchRequest("hotel");//2.准备DSl//2.1设置sizerequest.source().size(0);//2.2聚合request.source().aggregation(AggregationBuilders.terms("brandAgg").field("brand").size(10));//3.发出请求SearchResponse response = client.search(request, RequestOptions.DEFAULT);//4.解析结果Aggregations aggregations = response.getAggregations();//4.1根据聚合名称获取聚合结果Terms brandTerms = aggregations.get("brandAgg");//4.2获取bucketsList<? extends Terms.Bucket> buckets = brandTerms.getBuckets();//4.3遍历for (Terms.Bucket bucket : buckets) {//4.4获取keyString key = bucket.getKeyAsString();System.out.println(key);}}

 

多条件聚合

在Service中 

将公共代码抽取出来,提高复用性

    @Overridepublic Map<String, List<String>> filters() {try {//1.准备RequestSearchRequest request = new SearchRequest("hotel");//2.准备DSl//2.1设置sizerequest.source().size(0);//2.2聚合buildAggregation(request);//3.发出请求SearchResponse response = client.search(request, RequestOptions.DEFAULT);//4.解析结果Map<String, List<String>>result=new HashMap<>();Aggregations aggregations = response.getAggregations();//5.1根据品牌名称获取品牌结果List<String> brandList = getAggByName(aggregations,"brandAgg");result.put("品牌",brandList);//5.2根据品牌名称获取品牌结果List<String> cityList = getAggByName(aggregations,"cityAgg");result.put("城市",cityList);//5.3根据品牌名称获取品牌结果List<String> starList = getAggByName(aggregations,"starAgg");result.put("星级",starList);return result;} catch (IOException e) {throw new RuntimeException(e);}}private static List<String> getAggByName(Aggregations aggregations,String aggName) {//4.1根据聚合名称获取聚合结果Terms brandTerms = aggregations.get(aggName);//4.2获取bucketsList<? extends Terms.Bucket> buckets = brandTerms.getBuckets();//4.3遍历List<String>brandList=new ArrayList<>();for (Terms.Bucket bucket : buckets) {//4.4获取keyString key = bucket.getKeyAsString();brandList.add(key);}return brandList;}

 

在一个测试类中

@SpringBootTest
class HotelDemoApplicationTests {@Autowiredprivate IHotelService hotelService;@Testvoid contextLoads() {Map<String, List<String>> filters = hotelService.filters();System.out.println(filters);}}

 运行得到

带过滤条件的聚合

在查询的时候要在查询结果上做聚合,不应该直接将所有数据的聚合结果返回。

所以就是加上query参数。

Controller中 

传递的参数和正常参数一模一样 

@PostMapping("filters")public Map<String, List<String>> getFilters(@RequestBody RequestParams Params){return hotelService.filters(Params);}

Service中

添加传递参数,并且新设置了2.3query,使用搜索时同款的query设置方法

 @Overridepublic Map<String, List<String>> filters(RequestParams Params) {try {//1.准备RequestSearchRequest request = new SearchRequest("hotel");//2.准备DSl//2.1设置sizerequest.source().size(0);//2.2聚合buildAggregation(request);//2.3querybuildBasicQuery(Params, request);//3.发出请求SearchResponse response = client.search(request, RequestOptions.DEFAULT);//4.解析结果Map<String, List<String>>result=new HashMap<>();Aggregations aggregations = response.getAggregations();//5.1根据品牌名称获取品牌结果List<String> brandList = getAggByName(aggregations,"brandAgg");result.put("品牌",brandList);//5.2根据品牌名称获取品牌结果List<String> cityList = getAggByName(aggregations,"cityAgg");result.put("城市",cityList);//5.3根据品牌名称获取品牌结果List<String> starList = getAggByName(aggregations,"starAgg");result.put("星级",starList);return result;} catch (IOException e) {throw new RuntimeException(e);}}

结果测试

根据搜索框和过滤条件成功过滤

 

http://www.yayakq.cn/news/199742/

相关文章:

  • 网站设计流程步骤广州市天河区
  • gta5房产网站正在建设网站建设包括哪些内容
  • 网站开发价格预算网站开发所需的技术
  • 连云港建设工程质量监督站网站wordpress-5.0升级未被安装
  • 网站做数据分析的意义项目计划书怎么写
  • 怎样建设网站空间怎么申请app软件
  • 动漫网站建设目的建筑工程招标网
  • 门户网站开发维护合同瀑布网站模板
  • wordpress建淘宝客网站教程开通微信公众号流程需要什么
  • 有什么网站建设比较好的公司定制类电商平台
  • 系网站的开发和建设毕业设计网页制作网站知识
  • paypal网站做外贸个人博客网页制作图片
  • 公司网站制作公司排名网站美工和平面设计师
  • php WordPress开发seo推广的特点有
  • 门户网站建设哪专业广州seo优化代理
  • 手表常用网站下载ppt模板免费
  • 有前景的长沙企业网站建设网上书店网网站建设
  • 哪个网站教人做美食小吃培训机构排名前十
  • 机械做网站好处外贸建站新闻资讯
  • 物联网网站设计网站推广公司
  • 做网站用vs还是dw重庆网领网站建设公司
  • 商务网站平台建设预算昆明官网seo费用
  • 网站和软件建站百度站长工具验证
  • 秦皇岛建设局官方网站乐清虹桥门户网
  • 网站设计原则的历史郑州妇科医院排行
  • 黄石网站建设网络公司橙色企业网站
  • dedecms网站模板下载启动 wordpress 博客
  • 女士手表网站wordpress图片上传到云
  • 咸阳哪里做网站若羌县铁路一建设网站
  • 四川建设网电子招投标网站套模板做网站教程