面试题答案
一键面试以下是在Elasticsearch中获取商品价格最大值、最小值以及总和的聚合查询语句示例(假设索引名为products
,商品价格字段名为price
):
{
"size": 0,
"aggs": {
"max_price": {
"max": {
"field": "price"
}
},
"min_price": {
"min": {
"field": "price"
}
},
"sum_price": {
"sum": {
"field": "price"
}
}
}
}
关键参数作用:
size: 0
:设置返回的搜索结果文档数量为0,因为我们只关心聚合结果,不关心具体的商品文档。aggs
:聚合操作的根节点,用于定义各种聚合。max_price
:自定义的聚合名称,用于标识获取最大价格的聚合操作,可以自定义为任何你想要的名称。max
:聚合类型,这里使用max
类型来获取指定字段的最大值。field: "price"
:指定要进行聚合操作的字段,这里是商品价格字段price
。
min_price
:自定义的聚合名称,用于标识获取最小价格的聚合操作。min
:聚合类型,用于获取指定字段的最小值。field: "price"
:指定要进行聚合操作的字段。
sum_price
:自定义的聚合名称,用于标识获取价格总和的聚合操作。sum
:聚合类型,用于计算指定字段的总和。field: "price"
:指定要进行聚合操作的字段。