
大家平常用 ES 查询 用的习惯官方提供的查询 api 吗,比如 filter 、should 之类的嵌套多层 个人虽然能够实现查询需求,但总觉得用起来没有 sql 方便
1 chendy 2022-10-12 17:05:49 +08:00 挺人类的,拼查询更好拼,聚合 pipeline 也挺好用的 sql 优势是表达能力强,但是不好拼,复杂起来容易出人命…… |
2 yingqiuQAQ OP @chendy 确实复杂的 sql 也确实爆炸 |
3 CaptainD 2022-10-12 17:38:58 +08:00 我感觉 es 查询比 MySQL 这类关系型的好写多了 |
4 zhuangzhuang1988 2022-10-12 18:16:56 +08:00 这种对程序友好 |
5 changdy 2022-10-12 18:26:16 +08:00 2333 已经习惯了 sql 昨天让同事帮忙写一个 select type ,count(*) from table group by type ..都没人记得了.. |
6 libook 2022-10-12 18:45:19 +08:00 你用关系型数据库的思维去用非关系型数据库,结果肯定是觉得难用。 等你看到 ES 可以用 GET 请求传 Body ,估计又会刷新你的认知。 |
7 maocat 2022-10-12 18:53:46 +08:00 via iPhone 前几天把 should 的位置写错了,死活不出我想要的结果,嗨呀 |
8 BJL 2022-10-12 19:45:01 +08:00 嵌套不想写可以直接写 query_string |
9 BJL 2022-10-12 19:45:37 +08:00 (A: AND B:b AND (C:c OR D:d)) OR -E:e |
10 yingqiuQAQ OP @BJL 一般用 query_string 或者 match_phrase |
11 4BVL25L90W260T9U 2022-10-12 20:29:24 +08:00 es 的查询语言就是一个 parse 好的抽象语法树,看你怎么理解了 |
12 yingqiuQAQ OP @maocat 是昨天的我了 |
13 zzl22100048 2022-10-12 22:46:32 +08:00 via iPhone @maocat 用 mininum_should_match 参数控制 |
14 zzzzzzzzzy 2022-10-13 08:50:33 +08:00 kibana 可以直接把 SQL 转换成 queryDSL |
![]() | 15 cco 2022-10-13 09:34:01 +08:00 有钱的话 ES 也可以用 sql |
16 catinsides 2022-10-13 15:25:21 +08:00 从 mongo 来的,一开始搞不清操作符,后来熟悉了还好。 |