Elasticsearch Nest聚合分组取最小值查询
来源:互联网 发布:淘宝订单险 编辑:程序博客网 时间:2024/05/22 15:06
取产品的最低价
注:产品价格为区间价格,nested类型
{ "query": { "bool": { "must": [ { "term": { "model": "LP3985IM5X-3.3" } } ], "must_not": [], "should": [] } }, "from": 0, "size": 10, "sort": [], "aggs": { "top_tag_hits": { "terms": { "field": "model" }, "aggs": { "stockprice": { "nested": { "path": "stockPrice" }, "aggs": { "minprice": { "min": { "field": "stockPrice.price" } } } } } } }}public PUB_StockSearchResult SearchMinPrice(PUB_StockSearch param) { PUB_StockSearchResult result = new PUB_StockSearchResult(); result.ResultList = new List<ES_PUB_StockResult>(); if (param.ModelArr == null || param.ModelArr.Length == 0) { return result; } QueryContainer query = new TermsQuery() { Field = ES_PUB_StockField.Model, Terms = param.ModelArr }; TermsAggregation aggs = new TermsAggregation("top_tag_hits") { Field = ES_PUB_StockField.Model, Aggregations = new NestedAggregation("stockprice") { Path = "stockPrice", Aggregations = new MinAggregation("minprice", "stockPrice.price") } }; var searchRequest = new SearchRequest<ES_PUB_Stock>(); searchRequest.Query = query; searchRequest.From = 0; searchRequest.Aggregations = aggs; searchRequest.Size = 1000; var response = client.Search<ES_PUB_Stock>(searchRequest); result.Total = response.Total; var states = response.Aggs.Terms("top_tag_hits"); foreach (var state in states.Buckets) { var topStateHits = state.Nested("stockprice").Min("minprice").Value; if (topStateHits != null) { ES_PUB_StockResult resultItem = new ES_PUB_StockResult(); resultItem.Model = state.Key; resultItem.Price = Convert.ToDecimal(topStateHits); result.ResultList.Add(resultItem); } } return result; }
阅读全文
0 0
- Elasticsearch Nest聚合分组取最小值查询
- Elasticsearch分组聚合-查询
- mongodb[八]聚合查询、统计、分组、平均值、最大值、最小值
- Elasticsearch(十一)【NEST高级客户端--聚合】
- Elasticsearch(十)【NEST高级客户端--搜索查询】
- elasticsearch选择器聚合,分组返回聚合结果
- elasticsearch多级聚合查询
- Elasticsearch聚合查询
- ElasticSearch NEST
- 分组取最小值的例子
- ElasticSearch.net分组查询
- ElasticSearch Java分组查询
- 分组查询最大/最小值sql
- ElasticSearch之Java Api聚合分组实战
- ElasticSearch之Java Api聚合分组实战
- mysql分组查询聚合函数
- Hibernate-分组查询、聚合函数
- MySQL中的分组聚合查询
- HighCharts(1):实例化Highchart并绑定到容器上的三种方式
- js设置光标始终在文本最后
- 保留道路
- JavaScript实现的网页计算器功能
- [机器学习]信息&熵&信息增益
- Elasticsearch Nest聚合分组取最小值查询
- SpringMVC+Hibernate+Spring整合
- 使用原生sql写python
- 【组合数学--拉姆齐定理】hdu 6152 Friend-Graph
- window.onscroll兼容浏览器
- 脚本检查端口是否在用
- RecyclerView使用案例一之滑动冲突
- jPicture
- 动态加载html后,点击获取焦点