MST
星途 面试题库

面试题:ElasticSearch如何按指定字段对搜索文档结果进行排序

在ElasticSearch中,假设你有一个包含商品信息的索引,每个文档代表一个商品,其中有字段'price'(价格)和'sales_volume'(销量)。请描述如何根据'price'字段升序排列搜索结果,若'price'相同则按'sales_volume'降序排列。同时给出对应的DSL语句示例。
41.2万 热度难度
数据库ElasticSearch

知识考点

AI 面试

面试题答案

一键面试
  1. 描述:在ElasticSearch中,通过sort参数来指定排序规则。首先按price字段升序排列,然后对于price相同的文档,再按sales_volume字段降序排列。
  2. DSL语句示例
{
    "query": {
        "match_all": {}
    },
    "sort": [
        {
            "price": {
                "order": "asc"
            }
        },
        {
            "sales_volume": {
                "order": "desc"
            }
        }
    ]
}