ES中复杂DSL查询语句不会写怎么办?

简介: ES中复杂DSL查询语句不会写怎么办?

前言


刚接触ES不久的同学一定都遇到过这样的问题,复杂的查询场景下不知道怎么写DSL查询语句,

今天教大家一个小妙招,解决复杂DSL语句不会写的问题。


一、来吧,展示


巧用大招:

ES7以后已经提供了对sql查询的原生支持,虽然存在部分限制,但已经能适应大部分场景。


DSL查询语句大家可能运用的不太熟悉,SQL查询语句大家应该都非常熟悉了吧。


我们可以先通过SQL查询语句对索引数据进行查询,看查询结果是否满足要求,然后将SQL语句转为DSL语句,

这样就间接完成了复杂DSL编写。


1、 通过SQL查询索引

POST /_sql?format=txt
{
  "query": "SELECT account,sum(money) sumMoney FROM order_index group by account order by sumMoney"
}


2、 将SQL语句转为DSL语句

POST /_sql/translate
{
  "query": "SELECT account,sum(money) sumMoney FROM order_index group by account order by sumMoney"
}
目录
相关文章
通义灵码,idea无法登录问题,解决方案
通义灵码插件,在idea无法登录,一直提示启动本地服务。
3655 1
|
9月前
|
缓存 网络安全 语音技术
docker安装部署FunASR
本指南详解FunASR在线语音识别服务的外网部署与内网迁移全流程:先在外网拉取Docker镜像、自动下载模型并启动服务(端口10095),验证成功后,将镜像和缓存模型打包导出;再于内网服务器导入镜像、解压模型、挂载运行,全程禁用SSL,支持热词与标点恢复,开箱即用。
5026 3
|
消息中间件 Linux API
centos7 安装rabbitmq自定义版本及配置
centos7 安装rabbitmq自定义版本及配置
|
存储 监控 Cloud Native
云原生监控实战:Prometheus+Grafana打造RDS多维度预警体系
本方案构建了基于Prometheus与Thanos的云原生RDS监控体系,涵盖数据采集、存储、可视化与告警全流程。支持10万+QPS采集、90%存储压缩,具备<30秒告警延迟能力。通过自定义指标与智能预警策略,显著提升故障发现效率,实现分钟级响应。
|
前端开发 Java 程序员
springboot 学习十五:Spring Boot 优雅的集成Swagger2、Knife4j
这篇文章是关于如何在Spring Boot项目中集成Swagger2和Knife4j来生成和美化API接口文档的详细教程。
2864 1
|
NoSQL Java 数据库连接
MongoDB Java
10月更文挑战第18天
399 3
|
监控 前端开发 开发者
前端代码规范 - 日志打印规范
前端代码规范 - 日志打印规范
|
存储 JSON NoSQL
【文档数据库】ES和MongoDB的对比
【文档数据库】ES和MongoDB的对比
1450 1
|
关系型数据库 MySQL 数据库
实时计算 Flink版操作报错之遇到报错org.postgresql.util.psqlexception: The connection attempt failed.,该怎么解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
存储 安全 Java
Spring Boot中的文件下载实现
Spring Boot中的文件下载实现
1115 0