• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

elasticsearch sql 转换成 dsl

elasticsearch 搞代码 4年前 (2021-12-23) 31次浏览 已收录 0个评论

elasticsearch dsl写起来,还是比较麻烦的,特别是聚合的时候,推荐以下方式转换。

1,命令行下确定sql能执行

[root@bigserver4 ~]# cd /usr/share/elasticsearch/bin 

[root@bigserver4 bin]# ./elasticsearch-sql-cli

                       asticElasticE
                     ElasticE  sticEla
          sticEl  ticEl            Elast
        lasti Elasti                   tic
      cEl       ast                     icE
     icE        as                       cEl
     icE        as                       cEl
     icEla     las                        El
   sticElasticElast                     icElas
 las           last                    ticElast
El              asti                 asti    stic
El              asticEla           Elas        icE
El            Elas  cElasticE   ticEl           cE
Ela        ticEl         ticElasti              cE
 las     astic               last              icE
   sticElas                   asti           stic
     icEl                      sticElasticElast
     icE                       sticE   ticEla
     icE                       sti       cEla
     icEl                      sti        Ela
      cEl                      sti       cEl
       Ela                    astic    ticE
         asti               ElasticElasti
           ticElasti  lasticElas
              ElasticElast                        

                       SQL
                      6.8.13

sql> SELECT * from lianshan_test limit 1;
    test_id    |           test_name
---------------+-------------------------------
28             |test update 2020-11-18 17:30:27

sql> SELECT  * FROM lianshan_test WHERE MATCH(test_name, 'test');
    test_id    |           test_name
---------------+-------------------------------
28             |test update 2020-11-18 17:30:27
35             |es test 2020-11-18 17:30:14
32             |es test 2020-11-17 20:16:51
33             |es test 2020-11-17 20:17:33
34             |es test 2020-11-18 16:46:35    

# curl -XPOST "http://10.0.10.245:19200/_xpack/sql/translate?pretty" -H "Content-Type: application/json" -d '
> {
>     "query": "SELECT * from lianshan_test limit 1"
> }'
{
  "size" : 1,
  "_source" : {
    "includes" : [
      "test_name"
    ],
    "excludes" : [ ]
  },
  "docvalue_fields" : [
    {
      "field" : "test_id",
      "format" : "use_field_mapping"
    }
  ],
  "sort" : [
    {
      "_doc" : {
        "order" : "asc"
      }
    }
  ]
}

不同的版本写法是不一样的,请参考:

翻译:https://www.elastic.co/guide/en/elasticsearch/reference/6.8/sql-translate.html

执行:https://www.elastic.co/guide/en/elasticsearch/reference/6.8/sql-getting-started.html

2,kibana中执行sql,并转换

kibana sql 执行

kibana sql 翻译成dsl


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:elasticsearch sql 转换成 dsl
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址