MST

星途 面试题库

面试题:ElasticSearch复杂查询语法与聚合分析

在一个存储电商商品数据的ElasticSearch索引中,有商品名称(product_name)、价格(price)、销量(sales_volume)、所属类别(category)等字段。请编写查询语句实现:先筛选出价格大于100且销量大于500的商品,然后按照所属类别进行分组,统计每个类别下商品的平均价格,并按照平均价格降序排列。
24.3万 热度难度
数据库ElasticSearch

知识考点

AI 面试

面试题答案

一键面试
{
    "query": {
        "bool": {
            "filter": [
                { "range": { "price": { "gt": 100 } } },
                { "range": { "sales_volume": { "gt": 500 } } }
            ]
        }
    },
    "aggs": {
        "category_groups": {
            "terms": {
                "field": "category",
                "order": {
                    "avg_price": "desc"
                }
            },
            "aggs": {
                "avg_price": {
                    "avg": {
                        "field": "price"
                    }
                }
            }
        }
    }
}