V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
yupnano

受够了 es 的 curl 搜索语法

  •  2
     
  •   yupnano · Feb 7, 2021 · 8676 views
    This topic created in 1916 days ago, the information mentioned may be changed or developed.

    真的是脑残,怎么会设计出 json 结构这种查询方式,简直是反人类,几分钟时间根本写不出一个能用的查询,想摔键盘,什么垃圾玩意。

    当然,最新的 es 版本据说支持 sql 语句了,但是公司用的还是 v5 、v6 呀。蛋疼!

    45 replies    2023-07-21 17:28:29 +08:00
    chendy
        1
    chendy  
       Feb 7, 2021   ❤️ 3
    curl:???
    键盘:???
    几分钟写不出来纯属不够熟练,写不出来复制粘贴改啊……
    learningman
        2
    learningman  
       Feb 7, 2021   ❤️ 1
    拉不出屎怪地球🌏
    syncnano
        3
    syncnano  
       Feb 7, 2021
    试试在 Kibana 里面写,有自动提示
    achenme
        4
    achenme  
       Feb 7, 2021
    json 查询格式巨清晰啊。。
    yupnano
        5
    yupnano  
    OP
       Feb 7, 2021
    @learningman 是啊,地球引力太小了,1 个 g 怎么行,起码得 256 g 才够用嘛
    Ymk1
        6
    Ymk1  
       Feb 7, 2021
    他可能说的是各种嵌套。。。可以试试 kibana 搜索,粘贴搜索语句就不用自己一点点写了
    zhuangzhuang1988
        7
    zhuangzhuang1988  
       Feb 7, 2021
    用 Kibana console 吧, 带有作色和少量的自动补全
    官方用 json 也是为了后端好解析.
    或者用 client 写, client 一般都会包装成 api 好很多
    jingkaimori
        8
    jingkaimori  
       Feb 7, 2021
    不开补全,不垃圾的语言都得变成垃圾,垃圾的语言瞬间就好用了。
    wolfie
        9
    wolfie  
       Feb 7, 2021
    用其他语言的 sdk 拼条件然后 toString 。
    yupnano
        10
    yupnano  
    OP
       Feb 7, 2021
    @chendy 当然是复制粘贴改,每次从头撸一个语句还不得折腾死人。
    然而复制粘贴基础上改动也是极易出错的,json 用来读还可以,要手写还是算了吧
    yupnano
        11
    yupnano  
    OP
       Feb 7, 2021
    @achenme 巨清晰是从阅读的角度说的,嵌套多的话,写起来也是让人崩溃的
    misaka19000
        12
    misaka19000  
       Feb 7, 2021
    JSON 比 lj SQL 好用多了
    wakzz
        13
    wakzz  
       Feb 7, 2021
    @misaka19000 +1,真心觉得 ES 的 DSL 语法用起来比 SQL 语法舒服
    sujin190
        14
    sujin190  
       Feb 7, 2021
    其实主要是没有一个文档清晰的说清楚各查询指令间啥关系,很多时候简直莫名奇妙,分不清该怎么组合,sql 自身就清晰很多,从 select 到 from 、where 、group 、order,不用看文档看字面意思也能猜个八九不离十,es 这个就简直了

    话说楼上各位大神,既然如此有啥好的文档啥的也分享分享呗 @all
    tairan2006
        15
    tairan2006  
       Feb 7, 2021 via Android
    你本地装个 es7,然后用
    tairan2006
        16
    tairan2006  
       Feb 7, 2021 via Android
    _sql/translate 可以把 sql 转成 json
    javapythongo
        17
    javapythongo  
       Feb 7, 2021
    @sujin190 官方的文档我觉得写得非常好
    smart9527
        18
    smart9527  
       Feb 7, 2021
    受够了 sql 的查询语法
    superrichman
        19
    superrichman  
       Feb 7, 2021 via iPhone
    自己看用 kibana,写程序用封装好的库比如 elasticsearch-dsl

    之前是自己拼 dsl,过程很痛苦,elasticsearch 的文档写的太烂了,简直堪比阿里的文档🐶
    est
        20
    est  
       Feb 7, 2021
    json 模拟语法树拼凑查询语句。。。mongodb 含泪发来贺电。。。。。。

    其实 curl 光查询倒还好,那个 aggs 语法才是反人类的。。。特别是嵌套层级多了之后。。查起来蛋痛,解析返回结果更蛋痛。

    composite 也是半残废。唉。。
    zm8m93Q1e5otOC69
        21
    zm8m93Q1e5otOC69  
       Feb 7, 2021
    确实恶心。。
    rqrq
        22
    rqrq  
       Feb 7, 2021
    难道每次都是手写生成 json ?花点时间封装一个 query class 不就可以解决了
    yupnano
        23
    yupnano  
    OP
       Feb 7, 2021   ❤️ 1
    我试试 kibnana 吧,之前都是在石墨文档里复制粘贴然后修改的。
    这里不得不说石墨文档,简直是一坨屎,代码块编辑各种 bug,一个半成品也能拿出来卖钱。
    yupnano
        24
    yupnano  
    OP
       Feb 7, 2021
    @misaka19000 @wakzz @smart9527 几位大哥是认真的吗,json 会比 sql 好用? sql 不是基本技能吗。
    或者是我错过了某个 json 神器,可否介绍一二?
    mostkia
        25
    mostkia  
       Feb 7, 2021
    对于初始语言为 js 的程序猿,json 其实友好度还可以。我在一些轻量化后台需求中可能会直接使用 sqlite 或者 json 文件来存放一些参数和配置,个人感觉 json 挺好用的,格式很清晰。
    yazinnnn
        26
    yazinnnn  
       Feb 7, 2021
    不用 kibana 确实蛋疼,其实你可以尝试写个把 sql 翻译成 json 的库,或者自定义 sdl 翻译成 json 的库
    qW7bo2FbzbC0
        27
    qW7bo2FbzbC0  
       Feb 7, 2021
    所以,大家还是更喜欢 SQL 的简洁明了
    Morriaty
        28
    Morriaty  
       Feb 7, 2021
    果然不同的人感官不一样,ES 的文档我觉得是所有开源组件中第二好的文档
    AS4694lAS4808
        29
    AS4694lAS4808  
       Feb 7, 2021
    @tairan2006 +1 转换确实比手写舒服
    SjwNo1
        30
    SjwNo1  
       Feb 7, 2021
    难道没有插件帮助你转换成 DSL 吗?应该有吧,应该不止你有这样的困惑吧
    zypy333
        31
    zypy333  
       Feb 7, 2021
    @Morriaty 第一好是啥
    dryyun
        32
    dryyun  
       Feb 7, 2021
    谁的锅?
    es ? curl ? json ?
    matrix67
        33
    matrix67  
       Feb 7, 2021
    @Morriaty 第一好是啥 我也想知道
    matrix67
        34
    matrix67  
       Feb 7, 2021
    @matrix67 第一好我觉得是 vim,vim 的文档很好
    Morriaty
        35
    Morriaty  
       Feb 8, 2021
    @zypy333 @matrix67 第一 django 的文档,纯个人感官
    no1xsyzy
        36
    no1xsyzy  
       Feb 8, 2021
    @Morriaty 你醒拉,ES 不开源了。

    第一好的文档当然是元始 Lisp,只有七个原语,文档非常简洁且完整。
    unbright
        37
    unbright  
       Feb 8, 2021
    http://www.ischoolbar.com/EsParser/
    试试这个,可以把 sql 转 json
    wakzz
        38
    wakzz  
       Feb 8, 2021
    @yupnano 简单查询确实 SQL 看上去比 ES 的 DSL 语法精简,但 ES 更多场景是各种复杂的查询和多维度的统计功能,DSL 的 JSON 格式层级分明,同样复杂的逻辑用 SQL 写,真的惨不忍睹
    jingkaimori
        39
    jingkaimori  
       Feb 8, 2021
    @no1xsyzy Lisp?为什么不用 json ?凭什么你圆括号语法树就比花括号语法树高一等?🐶
    no1xsyzy
        40
    no1xsyzy  
       Feb 8, 2021
    @jingkaimori 七原语图灵完备!你 JSON 图灵完备吗?🐶
    java8
        41
    java8  
       Feb 9, 2021
    暴躁老哥, 在线摔键盘
    bfpiaoran
        42
    bfpiaoran  
       Feb 9, 2021
    不是已经支持 sql 了么
    bfpiaoran
        43
    bfpiaoran  
       Feb 9, 2021
    啊 没看到后面~~~
    tvboxme
        44
    tvboxme  
       Feb 9, 2021
    JSON 查询方式是有优势的,用 kibana 吧,有补全,好用。
    yupnano
        45
    yupnano  
    OP
       Jul 21, 2023
    kibana 自动补全真实太香了,之前没人指点不知道
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   941 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 92ms · UTC 19:57 · PVG 03:57 · LAX 12:57 · JFK 15:57
    ♥ Do have faith in what you're doing.