zoukankan      html  css  js  c++  java
  • Elasticsearch-terms

    单层聚合

    {
    	"aggs": {
    		"group_a": {
    			"terms": {
    				"field": "event_type"
    			}
    		}
    	}
    }
    

    双层聚合

    {
    	"aggs": {
    		"group_a": {
    			"terms": {
    				"field": "event_type"
    			},
    			"aggs": {
    				"group_b": {
    					"terms": {
    						"field": "event_level"
    					}
    				}
    			}
    		}
    	}
    }
    
    1. 按照 tags 字段 进行分组
    {
    	"aggs": {
    		"group_by_tag": {
    			"terms": {
    				"field": "tags",
    			}
    		}
    	}
    }
    
    1. 对名称中包含yagao的商品,计算每个tag下的商品数量
    {
    	"query": {
    		"match": {
    			"name": "yagao"
    		}
    	},
    	"aggs": {
    		"all_tags": {
    			"terms": {
    				"field": "tags"
    			}
    		}
    	}
    }
    
    1. 先分组,再算每组的平均值,计算每个tag下的商品的平均价格
    {
    	"aggs": {
    		"group_by_tags": {
    			"terms": {
    				"field": "tags"
    			},
    			"aggs": {
    				"avg_price": {
    					"avg": {
    						"field": "price"
    					}
    				}
    			}
    		}
    	}
    }
    
    1. 计算每个tag下的商品的平均价格,并且按照平均价格降序排序
    {
    	"aggs": {
    		"all_tags": {
    			"terms": {
    				"field": "tags",
    				"order": {
    					"avg_price": "desc"
    				}
    			},
    			"aggs": {
    				"avg_price": {
    					"avg": {
    						"field": "price"
    					}
    				}
    			}
    		}
    	}
    }
    
    1. 按照指定的价格范围区间进行分组,然后在每组内再按照tag进行分组,最后再计算每组的平均价格
    {
    	"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"
    							}
    						}
    					}
    				}
    			}
    		}
    	}
    }
    
  • 相关阅读:
    day01--计算机硬件基础笔记
    22 Jun 18 Django,ORM
    21 Jun 18 Django,ORM
    20 Jun 18 复习, mysql
    20 Jun 18 Django,ORM
    19 Jun 18 复习, 正则表达式
    19 Jun 18 Django
    15 Jun 18 复习, shutil模块
    15 Jun 18 Django
    14 Jun 18 复习, form表单
  • 原文地址:https://www.cnblogs.com/shangwei/p/13408220.html
Copyright © 2011-2022 走看看