ElasticSearch~DSL常用语法

发布于:2025-08-09 ⋅ 阅读:(14) ⋅ 点赞:(0)

查询文档数

GET demo_responses-2025.07/_count
{
  "query": {
    "bool": {
      "filter": [
        {
          "term": {
            "demo_id": "7533208315137409050"
          }
        }
      ]
    }
  }
}

范围

GET demo_responses-2025.07/_search
{
  "query": {
    "bool": {
      "filter": [
        {
          "term": {
            "demo_id": "7533208315137409050"
          }
        },
        {
          "range": {
            "submit_time": {
              "gte": "2025-08-01 12:16:05",
              "lte": "2025-08-01 12:16:06"
            }
          }
        }
      ]
    }
  }
}

只读取特定列

GET demo_responses-2025.07/_search
{
  "size": 10,
  "query": {
    "bool": {
      "filter": [{"term": {"demo_id": "7533208315137409050"}}]
    }
  },
  "_source": ["time_cost"]
}

聚合

GET demo_responses-2025.07/_search
{
  "size": 0,
  "query": {
    "bool": {
      "filter": [
        {
          "term": {
            "demo_id": "7533208315137409050"
          }
        }
      ]
    }
  },
  "aggs": {
    "max_time_cost": {
      "max": {
        "field": "time_cost"
      }
    },
    "min_time_cost": {
      "min": {
        "field": "time_cost"
      }
    }
  }
}
GET /demo_responses-2025.05,demo_responses-2025.06,demo_responses-2025.07/_search
{
  "size": 0,
  "query": {
    "bool": {
      "filter": [
        {
          "term": {
            "demo_id": "7533208315137409050"
          }
        },
        {
          "range": {
            "submit_time": {
              "gte": "2025-08-04 12:25:55",
              "lte": "2025-08-04 12:25:55"
            }
          }
        }
      ]
    }
  },
  "aggs": {
    "max_time_cost": {
      "max": {
        "field": "time_cost"
      }
    },
    "min_time_cost": {
      "min": {
        "field": "time_cost"
      }
    },
    "avg_time_cost": {
      "avg": {
        "field": "time_cost"
      }
    }
  }
}

查询字段类型

GET demo_responses-2025.07/_mapping/field/cost

聚合获取最大和最小

GETdemo_responses-2025.07/_search
{
  "query": {
    "bool": {
      "filter": [
        {
          "term": {
            "demo_id": "7533208315137409050"
          }
        }
      ]
    }
  },
  "aggs": {
    "max_mood": {
      "max": {
        "field": "mood"
      }
    },
    "min_mood": {
      "min": {
        "field": "mood"
      }
    }
  }
}

获取最大值所在记录和最小值所在记录

GET demo_responses-2025.07/_search
{
  "size": 0,
  "query": {
    "bool": {
      "filter": [
        {
          "term": {
            "demo_id": "7533208315137409050"
          }
        }
      ]
    }
  },
  "aggs": {
    "max_mood_doc": {
      "top_hits": {
        "size": 1,
        "sort": [
          {
            "mood": {
              "order": "desc"
            }
          }
        ]
      }
    },
    "min_mood_doc": {
      "top_hits": {
        "size": 1,
        "sort": [
          {
            "mood": {
              "order": "asc"
            }
          }
        ]
      }
    }
  }
}

正则匹配

GET demo_responses-2025.07/_search
{
  "query": {
    "bool": {
      "filter": [
        {
          "term": {
            "demo_id": "7533208315137409050"
          }
        },
        {
          "wildcard": {
            "area": "*北京*"
          }
        }
      ]
    }
  },
  "aggs": {
    "max_time_cost": {
      "max": {
        "field": "mood"
      }
    },
    "min_time_cost": {
      "min": {
        "field": "mood"
      }
    }
  }
}

terms匹配

GET demo_responses-2025.07/_search
{
  "query": {
    "bool": {
      "filter": [
        {
          "term": {
            "demo_id": "7533208315137409050"
          }
        },
        {
          "terms": {
            "user_name": ["yangming","yangxin"]
          }
        },
        {
          "wildcard": {
            "area": "*北京*"
          }
        }
      ]
    }
  },
  "aggs": {
    "max_time_cost": {
      "max": {
        "field": "mood"
      }
    },
    "min_time_cost": {
      "min": {
        "field": "mood"
      }
    }
  }
}

二级搜索

GET demo_responses-2025.07/_search
{
  "size": 0,
  "query": {
    "bool": {
      "filter": [
        {
          "term": {
            "demo_id": "7533208315137409050"
          }
        },
        {
          "nested": {
            "path": "header",
            "query": {
              "bool": {
                "must": [
                  {
                    "match": {
                      "header.os": "Android"
                    }
                  }
                ]
              }
            }
          }
        }
      ]
    }
  },
  "aggs": {
    "max_time_cost": {
      "max": {
        "field": "mood"
      }
    },
    "min_time_cost": {
      "min": {
        "field": "mood"
      }
    }
  }
}

嵌套should至少1个

GET demo_responses-2025.07/_search
{
  "query": {
    "bool": {
      "filter": [
        {
          "term": {
            "demo_id": "7533208315137409050"
          }
        },
        {
          "range": {
            "submit_time": {
              "gte": "2025-08-01 12:16:05",
              "lte": "2025-08-01 12:16:06"
            }
          }
        },
        {
          "nested": {
            "path": "deliver_info",
            "query": {
              "bool": {
                "should": [
                  {
                    "term": {
                      "deliver_info.deliver_id": "1"
                    }
                  },
                  {
                    "term": {
                      "deliver_info.deliver_id": "2"
                    }
                  }
                ],
                "minimum_should_match": 1
              }
            }
          }
        }
      ]
    }
  }
}

网站公告

今日签到

点亮在社区的每一天
去签到