V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yupnano
V2EX  ›  Elasticsearch

受够了 es 的 curl 搜索语法

  •  2
     
  •   yupnano · 305 天前 · 4226 次点击
    这是一个创建于 305 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

    第一好的文档当然是元始 Lisp,只有七个原语,文档非常简洁且完整。
    unbright
        37
    unbright  
       304 天前
    http://www.ischoolbar.com/EsParser/
    试试这个,可以把 sql 转 json
    wakzz
        38
    wakzz  
       304 天前
    @yupnano 简单查询确实 SQL 看上去比 ES 的 DSL 语法精简,但 ES 更多场景是各种复杂的查询和多维度的统计功能,DSL 的 JSON 格式层级分明,同样复杂的逻辑用 SQL 写,真的惨不忍睹
    jingkaimori
        39
    jingkaimori  
       304 天前
    @no1xsyzy Lisp?为什么不用 json ?凭什么你圆括号语法树就比花括号语法树高一等?🐶
    no1xsyzy
        40
    no1xsyzy  
       304 天前
    @jingkaimori 七原语图灵完备!你 JSON 图灵完备吗?🐶
    java8
        41
    java8  
       303 天前
    暴躁老哥, 在线摔键盘
    bfpiaoran
        42
    bfpiaoran  
       303 天前
    不是已经支持 sql 了么
    bfpiaoran
        43
    bfpiaoran  
       303 天前
    啊 没看到后面~~~
    tvboxme
        44
    tvboxme  
       303 天前
    JSON 查询方式是有优势的,用 kibana 吧,有补全,好用。
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2846 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 10:59 · PVG 18:59 · LAX 02:59 · JFK 05:59
    ♥ Do have faith in what you're doing.