教程 elasticsearch tutorial

DSL 查询简介

Elasticsearch 使用强大的查询领域特定语言(DSL,Domain Specific Language)来执行复杂的搜索操作。DSL 以 JSON 格式表达查询逻辑,支持全文检索、过滤、聚合等多种功能。

1. 什么是 DSL 查询

DSL 查询是一种基于 JSON 的声明式语言,用于描述搜索请求中的各种查询条件和参数。

2. DSL 的基本结构

一个典型的 DSL 查询请求包含 query 字段:

json
GET /my-index/_search
{
  "query": {
    "match": {
      "field": "keyword"
    }
  }
}

`

3. 常见查询类型

  • match:全文匹配查询,分词后搜索
  • term:精确匹配查询,不分词
  • bool:组合查询,支持 must、should、must_not 条件
  • range:范围查询,支持数值、日期区间
  • exists:判断字段是否存在

4. 查询与过滤

  • 查询(Query)影响相关度评分
  • 过滤(Filter)用于精确筛选,不影响评分,性能更优

掌握 DSL 查询基础,能帮助你灵活构建复杂搜索条件,实现精准高效的数据检索。