面试题答案
一键面试实现思路
- 使用Elasticsearch的聚合(Aggregation)功能,按照商品类别进行分组。
- 在分组后,通过
avg
聚合计算每个类别商品的平均价格。 - 同时,通过
sum
聚合计算每个类别商品的销售总量。
ElasticSearch DSL代码
{
"size": 0,
"aggs": {
"group_by_category": {
"terms": {
"field": "category_field"
},
"aggs": {
"average_price": {
"avg": {
"field": "price_field"
}
},
"total_sales": {
"sum": {
"field": "sales_volume_field"
}
}
}
}
}
}
请将上述代码中的category_field
替换为实际存储商品类别的字段名,price_field
替换为实际存储价格的字段名,sales_volume_field
替换为实际存储销量的字段名。