在高版本ES种使用sql语法查询

2024-05-24 10:26:19 浏览数 (1)

在没有kibana界面的情况下,手写ES的querydsl还是有点难度的,好在高版本的ES中,我们可以使用sql语法来写查询语句。

假设这里的索引名为: dba-abcd

使用sql语法实现查询

代码语言:txt复制
POST /_sql?format=txt
{
  "query": "SELECT esId,k,name,sex FROM "dba-abcd" WHERE pad like '"195207048-70116052123-74140395089-76317954521-98694025897%' order by esId desc LIMIT 10"
}

如果要使用json格式的返回值,可以使用下面的写法

代码语言:txt复制
POST /_sql?format=json
{
  "query": "SELECT esId,k,name,sex FROM "dba-abcd" WHERE pad like '"195207048-70116052123-74140395089-76317954521-98694025897%' order by esId desc LIMIT 10"
}

将sql语句转为es的querydsl语句

代码语言:txt复制
POST /_sql/translate
{
  "query": "SELECT esId,k,name,sex FROM "dba-abcd" WHERE pad like '"195207048-70116052123-74140395089-76317954521-98694025897%' order by esId desc LIMIT 10"
}

0 人点赞