Elasticsearch技术解析与实战(三)文档的聚合
生活随笔
收集整理的這篇文章主要介紹了
Elasticsearch技术解析与实战(三)文档的聚合
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.計算每個tag下的商品數量
PUT /database/_mapping/product {"properties": {"tags": {"type": "text","fielddata": true}} } GET /database/product/_search {"aggs": {"group_by_tags": {"terms": { "field": "tags" }}} } GET /database/product/_search {"size": 0,"aggs": {"all_tags": {"terms": { "field": "tags" }}} }?2.對名稱中包含圣劍的商品,計算每個tag下的商品數量
GET /database/product/_search {"size": 0,"query": {"match": {"name": "圣劍"}},"aggs": {"all_tags": {"terms": {"field": "tags"}}} }3.先分組,再算每組的平均值,計算每個tag下的商品的平均價格
GET /database/product/_search {"size": 0,"aggs" : {"group_by_tags" : {"terms" : { "field" : "tags" },"aggs" : {"avg_price" : {"avg" : { "field" : "price" }}}}} }4.計算每個tag下的商品的平均價格,并且按照平均價格降序排序
GET /database/product/_search {"size": 0,"aggs" : {"all_tags" : {"terms" : { "field" : "tags", "order": { "avg_price": "desc" } },"aggs" : {"avg_price" : {"avg" : { "field" : "price" }}}}} }5.按照指定的價格范圍區間進行分組,然后在每組內再按照tag進行分組,最后再計算每組的平均價格
GET /database/product/_search {"size": 0,"aggs": {"group_by_price": {"range": {"field": "price","ranges": [{"from": 0,"to": 20},{"from": 20,"to": 40},{"from": 40,"to": 50}]},"aggs": {"group_by_tags": {"terms": {"field": "tags"},"aggs": {"average_price": {"avg": {"field": "price"}}}}}}} }?
總結
以上是生活随笔為你收集整理的Elasticsearch技术解析与实战(三)文档的聚合的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Elasticsearch技术解析与实战
- 下一篇: Elasticsearch技术解析与实战