MST

星途 面试题库

面试题:ElasticSearch Body模式下如何实现复杂的排序与过滤组合

在ElasticSearch的Body模式下,给定一个索引,其中有'price'(价格)、'rating'(评分)字段。要求先按照'rating'降序排列,如果'rating'相同再按照'price'升序排列,并且只返回'price'大于100且'rating'大于3的文档,写出实现该功能的查询配置。
16.1万 热度难度
数据库ElasticSearch

知识考点

AI 面试

面试题答案

一键面试
{
    "query": {
        "bool": {
            "filter": [
                { "range": { "price": { "gt": 100 } } },
                { "range": { "rating": { "gt": 3 } } }
            ]
        }
    },
    "sort": [
        { "rating": { "order": "desc" } },
        { "price": { "order": "asc" } }
    ]
}