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无法登录,一直提示启动本地服务。
3625 1
|
NoSQL Java MongoDB
多数据源mongodb的使用
多数据源mongodb的使用
546 0
|
存储 Java
每日一道面试题之谈一谈HashMap和HashSet的区别
每日一道面试题之谈一谈HashMap和HashSet的区别
367 0
|
存储 SQL 大数据
列式存储系列(一)C-Store
列式存储系列(一)概述 序 本文是列式存储系列的第一篇。在这个系列中,我们将介绍几个典型的列式存储系统。这些列式系统的出现都有各自的时代背景。在介绍这些系统的同时,我们也尽量介绍一下它们的背景,以便大家有一个更宏观的认识,理解这个系统为什么会出现,它要解决的问题,以及它如何影响后来类似系统的发展。
3886 0
|
8月前
|
缓存 网络安全 语音技术
docker安装部署FunASR
本指南详解FunASR在线语音识别服务的外网部署与内网迁移全流程:先在外网拉取Docker镜像、自动下载模型并启动服务(端口10095),验证成功后,将镜像和缓存模型打包导出;再于内网服务器导入镜像、解压模型、挂载运行,全程禁用SSL,支持热词与标点恢复,开箱即用。
4798 3
|
消息中间件 Linux API
centos7 安装rabbitmq自定义版本及配置
centos7 安装rabbitmq自定义版本及配置
|
存储 监控 Cloud Native
云原生监控实战:Prometheus+Grafana打造RDS多维度预警体系
本方案构建了基于Prometheus与Thanos的云原生RDS监控体系,涵盖数据采集、存储、可视化与告警全流程。支持10万+QPS采集、90%存储压缩,具备<30秒告警延迟能力。通过自定义指标与智能预警策略,显著提升故障发现效率,实现分钟级响应。
878 5
|
前端开发 Java 程序员
springboot 学习十五:Spring Boot 优雅的集成Swagger2、Knife4j
这篇文章是关于如何在Spring Boot项目中集成Swagger2和Knife4j来生成和美化API接口文档的详细教程。
2818 1
|
NoSQL Java 数据库连接
MongoDB Java
10月更文挑战第18天
379 3
|
监控 前端开发 开发者
前端代码规范 - 日志打印规范
前端代码规范 - 日志打印规范