V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
yingqiuQAQ
V2EX  ›  程序员

ES 结构化查询非人类吗

  •  
  •   yingqiuQAQ · 2022-10-12 16:55:23 +08:00 · 2540 次点击
    这是一个创建于 806 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家平常用 ES 查询 用的习惯官方提供的查询 api 吗,比如 filter 、should 之类的嵌套多层 个人虽然能够实现查询需求,但总觉得用起来没有 sql 方便

    16 条回复    2022-10-13 15:25:21 +08:00
    chendy
        1
    chendy  
       2022-10-12 17:05:49 +08:00
    挺人类的,拼查询更好拼,聚合 pipeline 也挺好用的
    sql 优势是表达能力强,但是不好拼,复杂起来容易出人命……
    yingqiuQAQ
        2
    yingqiuQAQ  
    OP
       2022-10-12 17:23:53 +08:00
    @chendy 确实复杂的 sql 也确实爆炸
    CaptainD
        3
    CaptainD  
       2022-10-12 17:38:58 +08:00
    我感觉 es 查询比 MySQL 这类关系型的好写多了
    zhuangzhuang1988
        4
    zhuangzhuang1988  
       2022-10-12 18:16:56 +08:00
    这种对程序友好
    changdy
        5
    changdy  
       2022-10-12 18:26:16 +08:00
    2333 已经习惯了 sql
    昨天让同事帮忙写一个 select type ,count(*) from table group by type ..都没人记得了..
    libook
        6
    libook  
       2022-10-12 18:45:19 +08:00
    你用关系型数据库的思维去用非关系型数据库,结果肯定是觉得难用。

    等你看到 ES 可以用 GET 请求传 Body ,估计又会刷新你的认知。
    maocat
        7
    maocat  
       2022-10-12 18:53:46 +08:00 via iPhone   ❤️ 1
    前几天把 should 的位置写错了,死活不出我想要的结果,嗨呀
    BJL
        8
    BJL  
       2022-10-12 19:45:01 +08:00
    嵌套不想写可以直接写 query_string
    BJL
        9
    BJL  
       2022-10-12 19:45:37 +08:00
    (A: AND B:b AND (C:c OR D:d)) OR -E:e
    yingqiuQAQ
        10
    yingqiuQAQ  
    OP
       2022-10-12 20:29:01 +08:00
    @BJL 一般用 query_string 或者 match_phrase
    ospider
        11
    ospider  
       2022-10-12 20:29:24 +08:00
    es 的查询语言就是一个 parse 好的抽象语法树,看你怎么理解了
    yingqiuQAQ
        12
    yingqiuQAQ  
    OP
       2022-10-12 20:29:48 +08:00
    @maocat 是昨天的我了
    zzl22100048
        13
    zzl22100048  
       2022-10-12 22:46:32 +08:00 via iPhone
    @maocat 用 mininum_should_match 参数控制
    zzzzzzzzzy
        14
    zzzzzzzzzy  
       2022-10-13 08:50:33 +08:00
    kibana 可以直接把 SQL 转换成 queryDSL
    cco
        15
    cco  
       2022-10-13 09:34:01 +08:00
    有钱的话 ES 也可以用 sql
    catinsides
        16
    catinsides  
       2022-10-13 15:25:21 +08:00
    从 mongo 来的,一开始搞不清操作符,后来熟悉了还好。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3996 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 05:15 · PVG 13:15 · LAX 21:15 · JFK 00:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.