DSL?
英文全称Domain Specific Language,解释为领域专用语言。

DSL是针对某个特定领域而开发的语言,而我们平时接触 到的C/C++,Java,Python/Ruby,
都属于通用语言,DSL就是为了弥补这些通用语言而出现的。

说到编程离不开最基础的CURD

DSL也一样

我们先说查询,直接上实例

1.全检索

GET 索引名/_search
{
  "query": {
        {
          "match_all": {}
        }

}
  }

}

2.根据条件检索

Bool查询现在包括四种子句,must,filter,should,must_not

must的两个条件都必须满足,should中的两个条件至少满足一个就可

#名字叫张三的所有人

GET 索引名/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "match_phrase": {
            "name": {
              "query": "张三"
            }
          }
        }
      ]

}
  }

}

#统计江苏省的所有城市

GET 索引名/_search
{
  "aggs": {
    "2": {
      "terms": {
        "field": "city",
        "order": {
          "_count": "desc"
        },
        "size": 100
      }
    }
  },
  "size": 0
}

#大桶套小桶分级统计

GET 索引名/_search
{
  "aggs": {
    "2": {
      "terms": {
        "field": "city",
        "order": {
          "_count": "desc"
        },
        "size": 5
      },
      "aggs": {
        "3": {
          "terms": {
            "field": "county",
            "order": {
              "_count": "desc"
            },
            "size": 5
          },
          "aggs": {
            "4": {
              "terms": {
                "field": "garden",
                "order": {
                  "_count": "desc"
                },
                "size": 50
              }
            }
          }
        }
      }
    }
  },
  "size": 0,
  "query": {
    "bool": {
      "must": [
        {
          "match_phrase": {
            "city": {
              "query": "九江"
            }
          }
        },
        {
          "match_phrase": {
            "county": {
              "query": "建邺区"
            }
          }
        }
      ]

}
  }
}

ES常用DSL的查询和简单统计相关推荐

  1. es 常用DSL查询语序 以及springDataES对应和使用

    基本理解 索引 = 数据库 类型 = 表 文档 = 一条数据 字段 = 字段 映射 = 设计表的组成(这里不像是关系型数据库不能多加字段可以多加只是一个软规定) ik 地址直接访问用就ok:http: ...

  2. es的DSL语句查询

    定义DSL 官方文档:https://www.elastic.co/guide/en/kibana/7.14/api.html elasticsearch 提供了基于json的完整query DSL ...

  3. ES 常用查询命令汇总

    ES 常用查询命令汇总 ES 常用查询命令汇总 一._cat操作 _cat系列提供了一系列查询elasticsearch集群状态的接口.你可以通过执行 curl -XGET localhost:920 ...

  4. oracle查询多个条件查询,ORACLE多条件统计查询的简单方法

    前几天要做一个统计查询的功能,因为涉及多张表,多种条件的统计分析.一开始便想到了UNION和IF语句,然后写了1000多行代码,就为了查30条数据觉得不应该. @H_301_2@ 然后就开始百度,多种 ...

  5. bool查询原理 es_吐血整理:一文看懂ES的R,查询与聚合

    对es查询的索引的company,其有如下字段,下面是一个示例数据 "id": "1", //id "name": "张三&quo ...

  6. es怎么返回全部查询结果_es的返回数据结构

    ES即简单又复杂,你可以快速的实现全文检索,又需要了解复杂的REST API.本篇就通过一些简单的搜索命令,帮助你理解ES的相关应用.虽然不能让你理解ES的原理设计,但是可以帮助你理解ES,探寻更多的 ...

  7. Docker命令和问题解决、ES常用操作

    总结一些日常使用的Docker命令和遇到问题的解决方法,还有ES的一些常用语句,便于提高日常工作中是Docker和ES时提供工效率. 一.Docker常用语句和问题解决 1.1什么是Docker Do ...

  8. Day121.ElasticSearch:概述、安装、基本操作、DSL高级查询

    目录 一.ElasticSearch概述 2.倒排索引 3.ElasticSearch 核心概念 ★ (一) ElasticSearch | 相关工具安装 (Windows) 2.kibana7.8 ...

  9. 微服务11_ES:DSL/RestClient查询文档

    微服务11_ES:DSL/RestClient查询文档 一.DSL查询文档 1.DSL Query的分类 1.全文检索查询 match查询示例: multi_match查询示例: 2.精准查询 ter ...

最新文章

  1. java 注解 payload_spring – 如何使用注释配置PayloadValidatingInterceptor
  2. 共识算法的比较:Casper vs Tendermint
  3. 学习之路三十一:Varchar和NVarchar的理解
  4. 学C/C++的同学们,有福了!
  5. Spark SQL JOIN操作代码示例
  6. setfacl 权限导出_Linux如何使用setfacl命令创建权限文件
  7. Hadoop学习系列之PageRank
  8. java crud_Java 8流中的数据库CRUD操作
  9. 视图插入数据_用EXCEL作数据分析--招聘信息
  10. Alibaba Cloud Linux 2 开源后又有什么新动作?
  11. android 中文语音
  12. 怎么在html中加入相对链接,html直接跳转超链接 html中怎么实现同一页面超级链接...
  13. C8051汇编语言递归,基于C8051F310单片机的LED灯控制器汇编语言程序调试
  14. python数值类型和序列类型_Python基础 1数值类型 序列类型
  15. dateutil和pytz的安装
  16. docker修改已部署容器的配置文件
  17. 测试sd卡读写速度与判断是否是扩容的假货
  18. UOJ147 斗地主
  19. C语言:一维数组—一个萝卜一个坑问题
  20. 【论文笔记】Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspectivewith Transformers

热门文章

  1. 小罐茶背后的男人:“包办”了我的童年少年中年……
  2. 数组的concat方法
  3. 地牢逃脱-python
  4. 22、接口与抽象类、匿名类的介绍
  5. 使用BusyBox制作linux根文件系统(CramFS+mdev)
  6. 你是温水里的青蛙吗?
  7. 人物专属道具--吴国
  8. 我们的下一步目标:Workation
  9. 看别人关于设计模式的文章很深刻,不是很明白
  10. 低代码让乡村建设开启“智慧模式”