AggregationGlobal

29 篇文章 0 订阅

 

1.AggregationGlobal是不受其他的Query的影响的:

测试数据:

shirt,10
shose,20
shirt,20
trouser,40
trouser,50
blouse,40
blouse,60

2.测试代码

 Client client = new TransportClient().addTransportAddresses(new InetSocketTransportAddress("127.0.0.1", 9300));
		  	 
		 AggregationBuilders
		    .global("agg")
		    .subAggregation(AggregationBuilders.terms("genders").field("gender"));
		 
		 SearchResponse sr = client.prepareSearch("mytest").setTypes("logs")
				  .setQuery(QueryBuilders.termQuery("price", 20))
				  .addAggregation(AggregationBuilders
						    .global("global")
						    .subAggregation(AggregationBuilders.terms("totalPrices").field("price")))					 
	  			  .execute().actionGet();
		 			 
		 Global agg = sr.getAggregations().get("global");
		 System.out.println(agg.getDocCount()); // Doc count
	
		SearchHits hits = sr.getHits();			
	
		if (null == hits || hits.totalHits() == 0) {

			System.out.println("对不起,您没有查询到结果!!");

		} 
		else {

			for (SearchHit hit : hits) {

				String json = hit.getSourceAsString();			
				System.out.println(hits.getTotalHits());
				System.out.println(json);
			}
		}
代码执行结果:
globalCount:7
{"type":"shirt","price":10}
{"type":"shose","price":20}
{"type":"shirt","price":20}
{"type":"trouser","price":40}
{"type":"trouser","price":50}
{"type":"blouse","price":40}
{"type":"blouse","price":60}
3.测试代码

 <span style="white-space:pre">		</span>Client client = new TransportClient().addTransportAddresses(new InetSocketTransportAddress("127.0.0.1", 9300));
		  	 
		 AggregationBuilders
		    .global("agg")
		    .subAggregation(AggregationBuilders.terms("genders").field("gender"));
		 
		 SearchResponse sr = client.prepareSearch("mytest").setTypes("logs")
				  .setQuery(QueryBuilders.termQuery("price", 20))
				  .addAggregation(AggregationBuilders
						    .global("global")
						    .subAggregation(AggregationBuilders.terms("totalPrices").field("price")))					 
	  			  .execute().actionGet();
		 			 
		 Global agg = sr.getAggregations().get("global");
		 System.out.println("globalCount:"+agg.getDocCount()); // Doc count
	
		SearchHits hits = sr.getHits();			
	
		if (null == hits || hits.totalHits() == 0) {

			System.out.println("对不起,您没有查询到结果!!");

		} 
		else {

			for (SearchHit hit : hits) {

				String json = hit.getSourceAsString();			
				System.out.println(json);
			}
		}
测试结果:
globalCount:7
{"type":"shose","price":20}
{"type":"shirt","price":20}
4.综上所述:

AggregationGlobal和Query是不相互影响的,都在分别发挥作用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值